クエリの中に混ぜ込むことができます。等で使用することができます。ビューで扱うこともできます。今回はごく簡単なデータ処理の例を示してみます。広島県内の市区町村ごとの駅の数を数え上げて、多いところ少ないところを色分けして表示します。本例での前提は次の通りです。行き、「鉄道(線)」をダウンロードします。このデータは、全国でひとつのファイルになっています。行政区域と同じように、鉄道データもシェープに変換します。2つのシェープファイルが生成されます。前者は今回は使いませんが、せっかくなので両方とも格納してしまいましょう。いう2つのテーブルが新たに作られました。自動でついてきたものです。表示する場合にはユニークなIDカラムが必要とされていますので、これを用いています。4行目と5行目を抜き出すと、次のようになります。stncnt,ST_WithIn(A,B)は、「AがBに含まれるかどうか」を判定する関数です。テーブルから市区町村ポリゴンに含まれるものを抜き出してカウントする、ということを行っています。4行目と5行目を考慮に入れない場合は、次のようになります。内容を表示するに過ぎません。テーブルの全てのレコードについて、そのポリゴンに含まれる駅の数を集計した結果とポリゴン自体との組み合わせを返すビューであることが分かります。駅の中心点を追加する今回の扱うサンプルデータでは、このままではちょっと困った問題が発生します。中に市境を跨いでいるものがあることです。赤線が駅を、黒線が市境を、それぞれ示します。完全に含まれている必要があります。この駅はどの市にも属さないことになります。そこで、今回のお題で使用するデータは、むりやりどちらかの市に所属させるため、線データから点データに加工して行うことにします。(空文字列の場合デフォルト名)、テーブル名、追加するカラム名を意味します。おまじないと考えて下さい。第5引数はポイント型データとすることを意味します。することを意味します。新しいカラムができたので、これに空間インデックスを貼ります。GiST;以上で、新しいカラムの追加ができます。ジオメトリカラム以外のカラムを作成した後に、このやり方でジオメトリカラムを追加します。新しいジオメトリカラムに幾何計算結果を放り込む元データでは駅を線で表現しているのですが、駅ごとに、その駅を表現する線から重心を計算して、これをその駅の点データとするようにします。ジオメトリデータは普通に使えます。普通のデータと同じように扱えます。見ると、次のようになります。表示してみる今度は、点データを使ったビューを作成します。admarea;このビューを表示してみましょう。QGISの「レイヤー」メニューから「PostGISレイヤの追加」を選択します。「pgis」に接続して、「テーブル」が「v_stncnt」になっているアイテムを押さえて「追加」をクリックします。次に、stncnt(第2カラム)の値を色の濃さで表示してみましょう。QGISの「レイヤ」ペイン(左端にあります)に「v_stncnt」レイヤの上でマウス右ボタンでサブメニューを出して「プロパティ」を選択します。「シンボル」カテゴリを選択して、「凡例タイプ」を「連続色」にします。ここでは、白と赤にしました。あと、せっかくなので、駅データと重ね合わせてみましょう。QGISの「レイヤー」メニューから「PostGISレイヤの追加」を選択します。「pgis」に接続して、「テーブル」が「station」、「ジオメトリカラム」が「c_geom」になっているアイテムを押さえて「追加」をクリックします。駅もあわせて表示した結果です。赤の濃い市区町村ほど、確かに駅が多いのが分かります。使用する際に期待されているのは、大量なデータのハンドリングです。新しいテーブルに叩き込んだ方が良い場合が多いです。上に示した例では広島県内のみでしたが、日本全国に拡大させるとなると、数十倍の計算コストがかかります。移動・拡大縮小等で表示範囲を変更するたびにクエリを実行しようとするので、時間ばかりかかることになります。別テーブルに叩き込んでしまう方が、本当は良いでしょう。関する、ごくごく簡単な解説をやってみました。「おまじない」とだけ述べた部分をはじめ、もっと空間データを扱うために必要なところが多くあると思います。はなにより、フリーでここまでできるということや、空間データは決して遠くにあるものではないということを、少しでも感じていただけたなら幸いです。Groupこのウェブサイトに掲載されている個々の記事の著作権は、それぞれの著作権者に帰属します。