てくてくダイアリー

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丁目。赤坂って東京駅に意外と近いんだなぁ。。。と都心の地理に疎いことを露呈してみたりする。

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

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

 


基盤地図情報を変換したかった

2012-02-21 | ArcGIS

ブログ記事を書こうとして、基盤地図情報のページに行ったら、メンテ中だった。。。

でもメンテ中のおかげで、以前登録したIDでログインする必要もなく、さくっと(ほぼ)都道府県単位に圧縮されたデータをダウンロードすることができた。ファイルサイズは大きいけど、必要な範囲のデータがえいやっでダウンロードできちゃうのはちょっとうれしい。

メンテ中なのに、こうやってダウンロードサービスを常時稼働してくれているところも、なかなかありがたい。こんなメンテ中なら、ウエルカムですよ。

さて、このデータをArcGISに読み込もうとして、何を思ったのか、ArcToolboxの国内データ変換ツールを使ってしまった。

このツール、ダイアログにデータを追加すると、すこん、とArcMapが落ちる(涙)。データの形式がよくなかったのかなぁと、GMLの方もダウンロードして試してみるがやはりすこん。

仕方がない、ESRIJのサイトでパッチでも出てないかな-と思ったら、出てる出てる。最新のパッチは今年の1月中旬の日付だったので、ちょっとずつバグフィックスしているようだ。

さて、パッチも無事に当たり、再度ツールを起動する。今度は基盤地図情報をダイアログに追加しても、落ちることはない。

で、さらに出力データ名を入力しようとしたら、出力形式が既存ジオデータベースだった。うう、わざわざ空のジオデータベース作るのめんどくさい。

とここまでやって、やっと気がついた。数ヶ月前に基盤地図情報の変換ツールをダウンロードしてなかったっけ。ドラッグ&ドロップでデータが表示されるんで、とても感動した気がするのだが。

既に、どこにツールを保存したのかも忘れてしまっていたので、FGDVというファイルをPCの中から検索し、やっとこさで基盤地図情報をシェープファイルに変換した。やれやれ。

なぜ私はやったことがあることでなく、やったことがないことをやろうとしていたのか。このあたりが最初に作業の展望を持たずに、ともかく手を動かし始めてしまう短所なのだなぁと反省する。

そんなこんなで、今日は時間を使い果たしてしまった。手順としてはすぐできるはずだったんだけど。。。何かトラブルがあると、簡単に数時間が経ってしまうのはいとかなし。


複数レイヤのグリッド作成

2012-02-16 | ArcGIS

昔どっかにメモった気もするんだけど、私がすっかり忘れていたのでブログにメモ。

複数レイヤからなるグリッド(昔はスタックって言ってた気がする)を作るには、ArcToolbox>データ管理>ラスタ>ラスタデータセット>ラスタプロセシング>コンポジットバンドで実行する。

例えば、ランドサットの画像を各バンドずつダウンロードした時に、これらをまとめて1つの画像にする際に使う。1つの画像にすると、例えば「赤にはBand3、緑にはBand2、青にはBand1」というように各バンドに色を割り当てて、見た目に近いカラーの画像を表示することができるようになったりする。

スタックの場合だと、INFOファイルだかなんだかにレイヤのリストを作成するらしい。が、これはツール発見できず。確かに旧時代の遺物っぽい感じはする。

今はマルチバンドのラスタは、ラスタデータセットっていうんですかね。「データセット」という語感からすると、衛星画像みたいな連続階調のデータも、ポリゴンを変換して作った主題図も空間的な範囲が同じなら1つにしちゃってもよくってよ、っていう感じなんだろうか。

ラスタデータセットのフォーマットとしてはスタックとはまったく別物のようで、ランドサットの7つのバンドをコンポジットした後のラスタは300MBオーバーだった。ほんとに全部くっつけた感じ。

コンポジットはSpatial Analsytがなくても、(ArcInfoとかでなく)ArcViewしかなくてもできる模様。

以上、「感じ」が多いメモでした。


フリーデータを使う(5) 国土数値情報 JPGIS準拠データ

2012-02-14 | ArcGIS

先日、駅に着いたら、普段は静かな駅前で、「○○はこちらですぅー」と道案内する男性が。それに従っているのは、黄色いカッパを着たお子様とそのお母様たちだった。幼稚園の入学試験だろうか。受験シーズン真っ盛りである。あんなちっこいのに満員電車に乗って受験なんて、偉いなぁ。

さて、今回は受験とは全く関係のない国土数値情報のお話だ。私が国土数値情報を最初に使ったのは、大学生の頃だったろうか。5インチフロッピー(3.5じゃないよ。8でもないけど。)に焼いたDID情報だの、土地利用情報だのを使った記憶がある。今はダウンロードできちゃうんだなぁ。

で、早速ダウンロードのURLから。

国土数値情報ダウンロードサービス
http://nlftp.mlit.go.jp/ksj/index.html

今回は同じページからダウンロードできるツールで、国土数値情報をシェープファイルに変換できる方のJPGIS準拠データの方をダウンロードする。

うーん、データはなんでもいいんだけど、今回は地価公示点をダウンロードすることにする。

上記URLのページの「JPGIS準拠データのダウンロードサービスへ」をクリックし、さらに「土地関連」のカテゴリーの中にある「地価公示(点)」をクリックする。ページ上部の「ダウンロードの多いデータ項目」にも地価公示点はリストアップされてるかも。

そうすると、地価公示点のデータの属性情報などが説明されたページが表示される。そうかそうか、地価だけじゃなくて、建物構造とか水道が供給されてるかとかそういう情報もあるのかー、と一通り眺めつつ、ページの一番下の方に行くと、ダウンロードするデータの地域の選択ができるところがある。

全国一挙にダウンロードも素敵だけど、今回は「東京」にチェックをつけて「選択」ボタンを押す。さらに、いつのデータをダウンロードするのか聞かれるので、今回は最新の「平成23年」の「L01-11_13.zip」にチェックをつけて「選択」ボタンを押す。

ここで、アンケート画面が表示されるので、素直に答えておく。しかし、こういうブログ記事を書くときは、利用用途は何なんだろう(笑)。研究ではないことは確かなので、一応趣味にしておく。

さらに、利用約款が表示されるので、同意できるようなら「同意する」をクリックする。

で、やっと「ダウンロード」のボタンが表示されるので、ぽちっと押す。すると、ファイルサイズの情報が表示されて「ダウンロードする?」と聞かれるので、「OK」をクリックする。

ダウンロードしたファイルはさくっと展開しておこう。

次はこれをシェープファイルに変換するツールのダウンロードだ!ぜいぜい。

国土数値情報データ変換ツール
http://nlftp.mlit.go.jp/ksj/jpgis/jpgis_tool.html

OSの種類というかビット数にあわせてツールをダウンロードしてインストールをする。ぜいぜい。

ツールのインストールが終わったら、さくっとKSJToolを起動する。入力元にはさっきダウンロードしたデータのうち、metaとかいう文字列がファイル名に入っていない方のデータを指定する。今回の場合なら、「L01-11_13.xml」だ。

出力設定のところでは、出力フォルダを指定する。出力シェープファイル名は勝手にツールがつけてくれるので、ここで入力する必要はない。で、「変換」をぽちっと押す。

変換し終わったらやっとArcMapで表示だ!ArcMapにデータを追加すると、「空間参照がないですよ」というメッセージが表示されて、東京都が島しょ部も含め表示される。

#空間参照、緯度経度なんだからつけてくれてもいいのに(笑)。平面直角だったら島があるから難しいけどさ。あ、そんなこともアンケートに書けばよかったんだ。。。って、今気づいても遅い。というかダウンロードするときには気づかないか。

で、属性テーブルを開くと、謎のフィールド名が書かれている。地価はどれ。。。?

というのを調べるには以下のPDFを参照する。

http://nlftp.mlit.go.jp/ksj/jpgis/product_spec/KS-PS-L01-v1_1.pdf

地価をダウンロードする前の、属性情報などの説明があったページの「データフォーマット(符号化)」という項目のところにある「製品仕様書」というリンクをクリックすると上記PDFを開くことができる。

このPDF内の29ページ、付属資料の1ページ目に「土地関連パッケージ」という項目があって、その中に、属性情報とタグ名の情報が書き込まれている。(おそらく)このタグ名がそのままシェープのフィールド名となっている。

この表によると、公示価格は「PLP」というフィールドに納められていることになる。

で、このPLPを等量分類でもって、23区あたりを拡大表示したのが以下の地図になる。

うーん、緯度経度のまま表示しているので横長。

等量分類なので、全部で2600点ぐらいあるポイントを、地価の高低によって5つに分けた地図になっている。赤いところが東京都の中で、地価の最も高い上位20%に入る点ということになる。

この赤い点と次に地価の高いオレンジ色の点の固まりが、23区の真ん中あたりからすーっと左というか西に延びている。これはおそらく中央線沿線だろう。基盤地図とかと重ねてみるとよいかも。

しかし、地価公示のデータは過去にもダウンロードしたこともあったのだが、結構ファイルのフォーマットが変わっている。保存されている属性も昔とは違っていて、ぼんやりしてると昔の記憶は役に立たなくなっていくのだなぁと痛感したのだった。

今回はこれにて。。。ばたっ。


ローカル座標系からWGS84への変換

2012-02-08 | ArcGIS

ふとブログを見たら、昨日火曜日の記事がない!すいません。残り記事数を間違えてた。。。

で、今やってる作業の一つは、インドの旧測地座標系による緯度経度をWGS84に変換するという作業である。

日本で言うTokyo Datumにあたるインドの座標系はEverestという座標系である。このEverestも1830とか1956とかいくつかあって、1900年台前半の地図なら1830、それ以降なら1956として作業をしている。日本みたいに地図の測地系とか投影法が地図に書いてあればもっと安心できるんだけど。

ESRIのサイトの情報によれば、Everest1830をWGS84に変換する際は、カスタム地理座標系変換を指定せずにそのまま投影変換すればよいらしい。ふむふむ。

http://mappingcenter.esri.com/index.cfm?fa=ask.answers&q=1002

んじゃあ、Everest1956からWGS84は~~~?残念ながら情報が見つけられない。

で、検索をかけまくって、座標系変換のパラメタが載っている資料を発掘した。

User's handbook on datum transformations involving wgs84
http://www.iho.int/iho_pubs/standard/S60_Ed3Eng.pdf

ただでさえ、数学っぽいのに、英語かぁと涙が出てきそうだが、変換のパラメタ-がたくさんでているだけで、本文はあまり分量がない。がんばるんだ。自分。

現在これに出ている変換パラメターをArcGISのカスタム座標系の作成でどう設定すればよいのかを検討中。

文章中には、このままだとずれが大きいからコントロールポイントを使うとよろしいよ、なんて書いてあるし。そんなこと言われたかてインド全域、無理やねん。でも、コントロールポイントがなくっても、そのままEverestを使うよりはきっとずれは少なくなるはず。

上記のハンドブックにはEverest以外の座標系からWGS84に変換する際のパラメタも出ているので、他の国にも応用できる。もちろんTokyo Datum>WGS84もある。もし、ローカルな座標系がWGS84に直せなくてお困りの方はどうぞ。(そんな人そんなにたくさんいるんだろうか。。。)