QGISによるデータ分析(3)

この記事は1年以上前に書かれました。
内容が古くなっている可能性がありますのでご注意下さい。


今回は鉄道駅の地理座標情報を利用して、どの駅からも1.5Km以上離れた地域の面積を、横浜市の行政区毎に集計してみます。

使用するデータは、国土交通省の鉄道データと、前回作成した横浜市のSHAPEファイルです。

大まかな手順は以下の通りです。

  1. 鉄道駅から1.5Km以内の地域を求める
  2. 横浜市で、手順1で求めた地域と重ならない地域を求める
  3. 手順2で求めた地域の面積を行政区毎に集計する

が、その前に重要な前処理が必要です。それは、経緯度で表される座標系から、平面直角座標で表される座標系への変換です。国土交通省からダウンロードしたSHAPEファイルは、経緯度による座標系を使用しており、そのままでは、鉄道駅から「1.5Km」以内というような距離を用いるのに適していません(鉄道駅から何度以内というように指定しなければなりません)。

そこでまず、ダウンロードした N02-13.zip ファイルを解凍してできた N02-13_Station.shp ファイルを[レイヤ]→[ベクタレイヤの追加…]で読み込み、CRS(Coordinate Reference System:座標系)に平面直角座標系の一つである「JGD2000 / Japan Plane Rectangular CS IX」[2]を指定して名前を付けて保存します。

同様に、前回作成した横浜市のSHAPEファイルもCRSに「JGD2000 / Japan Plane Rectangular CS IX」を指定して名前を付けて保存します。

前処理が終わったら、手順1です。平面直角座標に変換した鉄道駅のSHAPEファイルを開き、メニューから[ベクタ]→[空間演算ツール]→[バッファ]を選択します。

バッファ距離に「1500」と入力し、出力ファイル名を指定して[OK]ボタンをクリックします。作成したSHAPEファイルを開き、東京近辺を拡大すると、以下のように鉄道駅から1.5Km以内の領域が円で表されています。

鉄道駅から1.5Km以内の領域を網掛けで表示し、横浜市の行政区域の上に重ねると以下のようなります。

網掛けのない部分が、どの駅からも1.5Km以上離れた地域ということになります。
そこで、手順2では、この領域のみを抽出します。
メニューから[ベクタ]→[空間演算ツール]→[差分]を選択し、「入力ベクタレイヤ」には横浜市の行政区域のSHAPEファイルを、「差分レイヤ」には手順1で作成したSHAPEファイルを指定し、出力ファイルを指定して[OK]ボタンをクリックします。

作成したSHAPEファイルを開くと以下のようになっています。

ここで少し見やすくビジュアライズしてみます。横浜市の行政区域の上に手順2で作成した領域を重ね、さらにその上に鉄道路線(国土交通省からダウンロードした N02-13.zip ファイルに含まれる N02-13_RailroadSection.shp ファイル)を白線で重ねると、以下のようになります。

最後の手順3では、前回も使用したGroup Statsプラグインを使用して、手順2で求めた地域の面積を行政区毎に集計します。

[ベクタ]→[Group Stats]→[GroupStats]メニューでGroup Statsプラグインを起動し、手順2で作成したレイヤを選択し、Rowsに「N03_004」、Valueに「sum」「Area」を選択して[Calculate]ボタンをクリックすると、どの駅からも1.5Km以上離れた地域の面積が行政区毎に集計されます。

集計結果に西区が含まれていません。西区は全域が鉄道駅から1.5km以内にあるためです。

参考ページ
[1] QGIS入門
[2] JGD座標系とEPSGの一覧表

QGISによるデータ分析 123456789