てくてくダイアリー

GISとか使ってました

フリーデータを使う(5)-2 地価点と駅の距離の計測

2012-02-28 | ArcGIS

さて今週は、ArcMapの空間結合という機能で、点と点の距離を測る、という作業を行う。具体的には2週間ぐらい前にダウンロードした公示地価のポイントと、自作の主要駅のデータを使って、各公示地価のポイントから最寄りの主要駅までの直線距離を測ってみましょう、という内容である。

まずは、主要駅のポイントを自作する。駅のポイントのデータが他にあればそれを使ってもよいのだが、数点なら作っちゃうのも早い。

例えば、以前説明したGoogleMapから緯度経度を取得して(詳しいやり方はこちら)、XYデータの表示&エクスポートでもって、ポイントのシェープファイルを作ることができる。

GoogleMapを使って、今回準備したのはこんな内容のCSVファイルだ。

ID,Lat,Lon,memo
1,35.681387,139.766092,東京駅
2,35.690938,139.700131,新宿駅
3,35.658447,139.701247,渋谷駅
4,35.728956,139.710431,池袋駅

都心を示す駅として東京駅が適切なのか、それとも虎ノ門とか、永田町とかなのか、そういえば疑問だったりするなぁ。でもまぁ今回は都心+副都心ということで、この4つの駅の緯度経度の表を準備して、ArcMapでシェープファイル化することにする。こちらも詳しい手順が必要な場合は、ちょっと前の記事(こちら)をどうぞ。

で、空間結合の作業に入る前に、公示地価のデータから距離が測れるようにちょっと準備をする。まず、公示地価のシェープファイルにJGD2000の投影情報を設定する。ArcToolboxの「投影法の定義」を行ってもいいが、ArcMapのカタログウインドウ、もしくはArcCatalogで、公示地価のシェープファイル名を右クリック>プロパティを選択して、「XY座標」タブで「選択」ボタンをクリック、「日本周辺の地理座標系」から「JGD2000」を選ぶ、という方法でもよい。

次に、公示地価の東京全域のデータから、島しょ部分のデータを抜いたシェープファイルを作っておく。属性検索を使うのも手だけど検索条件がぱっと思い浮かばないので、地図上で選択しちゃってもよいかも(ArcMapに公示地価のデータを追加すると、島しょと本州上の点では明らかに離れたところに分布しているので、地図上でえいやっと本州部分の点だけを選択して、公示地価のレイヤ名上を右クリックし、データ>データのエクスポートしちゃうのが早いと思う)。

で、JGD2000の設定された本州部分の東京の公示地価のシェープファイルを、平面直角9系に投影する。これは空間結合の距離計算時に、結合元の座標系の単位が使われるからだ。結合元は今回の場合、「各公示地価からの距離」をはかりたいので、公示地価のシェープファイルの単位が使われることになる。

ここで緯度経度のまま空間結合を実行すると、小数点以下のやたらと小さい距離が計算されて、悩み深くなることになるのでご注意を。

投影変換もArcToolboxを使ってもよいが、使わなくても、投影変換することができる。

  1. 「JGD2000の設定された本州部分の東京の公示地価のシェープファイル」の追加されたデータフレームのプロパティ(地図が表示されている上で右クリックすると「データフレームプロパティ」の選択肢が表示される)で、「座標系」タブを選択して「定義済み>日本周辺の投影座標系>平面直角座標系>日本測地系2000(JGD 2000)>平面直角座標系 第9系」を設定

  2. 公示地価シェープファイル名上を右クリックして「データ>データのエクスポート」を選択、「座標系の選択」の部分で「データフレームと同じ座標系」を選んで、OK。

という手順でも投影変換できる。2.の「座標系の選択」の部分はデフォルトでは「レイヤのソースデータと同じ座標系」になっているので、かならず「データフレームと~」を選ぶのを忘れないようにする。でないと、投影変換できないので。

さてここまできたら、後は空間結合を実行するだけだ。

空間結合は、「結合元」のレイヤからツールを起動する。今回はJGD2000の平面直角座標系に投影した公示地価のシェープファイル名を右クリックし、「属性の結合とリレート>結合」を選択する。

で、「結合」と書かれたウィンドウ内で、まず一番上のプルダウンから「空間的位置関係に~」を選択する。すると、それ以下のボックス内の表示が空間結合用の表示に変換する。

後は、結合対象レイヤが主要駅のCSVファイルをシェープファイル化したもの、結合オプションが一番下の「各ポイントから最短距離にある~」、そして出力ファイル名を指定して、OKをクリックする。

出力ファイルの属性テーブルを開いて一番右端を見てみると、「距離」のフィールドが追加されていることがわかる。あと、主要駅のCSVファイルにあったmemoフィールドの内容(駅名)も結合している。

下図の一番上の行だと、その公示地価の点から東京駅までが3120mであることがわかる。平面直角座標系なので単位はmである。

しかし、東京駅から3kmって、かなり近いなぁ。この公示地価点の住所を見てみると赤坂4丁目。赤坂って東京駅に意外と近いんだなぁ。。。と都心の地理に疎いことを露呈してみたりする。

来週はこのテーブルから、公示地価<>主要駅からの距離の散布図を作る。と珍しく宣言。

今回はこのあたりで。。。