1. 国土数値情報ダウンロードサービス((JPGIS準拠)データのダウンロード)
http://nlftp.mlit.go.jp/ksj/jpgis/jpgis_datalist.html に入る。
2. shape file(.shp .shx .dbf で一組)への変換ソフトをインストール
http://nlftp.mlit.go.jp/ksj/index.html ページの下の方にある 数値情報ダウンロードサービス(JPGIS準拠データ) の 国土数値情報データ変換ツール(試作版 Windowsのみの対応)をダウンロードする(解凍されたフォルダーはデスクトップに表示され,KsjToolInstaller.exeが実行されてC:\Program Files\KsjToolにインストールされる)。
2009年1月以降に新規提供されたデータ(newの文字がアニメーション表示されているものだろう)を変換する際(行政区域(面),河川(線・点)など)または工業用地、鳥獣保護区のデータ変換を行う場合には,データ変換ツール 拡張用ファイルのダウンロード が必要になる。次の演習で必要なので,データ変換ツール拡張用ファイルをダウンロードしなければならない。この拡張用ファイルの使用方法: KsjToolを起動中の場合は終了する。国土数値情報データ変換ツールをインストールしているフォルダC:\Program Files\KsjTool\conf\ にある古いfeature.xml(2009.3作成)を,新たにダウンロードした同名のファイル(2010.4作成)と差し替えること。
3. ベクトルデータダウンロード例
行政区画(面 これはポリゴンに対応している)データを選ぶと,行政データのページに飛ぶ。平成の大合併は2005年までの時限立法であり,H.17年まででおよそ終息する。データの最新の更新日はH.19.4.1(2007)なのでまず問題はないだろう。
座標系はJGD2000/(B, L)である。つまり測地系2000の経緯度である。
上記ページの下方に表または図で県別に選択できる。京都及大阪が含まれる大阪,京都,奈良,兵庫,滋賀にチェックを入れて,選択ボタンをクリックする。その結果,昭和25年以来のデータが表示される。何故か,最新のものに平成21年があるのでその5ファイルにチェックを入れて,選択ボタンをクリック。
使用者へのアンケート調査があるので回答する。そしてダウンロードする。ファイル名は,N03-100329_25.zip〜_29がそれぞれ,滋賀,京都,大阪,兵庫,奈良,が対応している。「保存」を選らんだ方がダウンロード先を特定できるのでいいだろう。
zipファイルをダブルクリックすると解凍され,例えば大阪の場合,KS-META-N03-100329_27.xml (16kB)とN03-100329_27.xml(13.1MB)からなる。
4. shapeファイルへの変換: KsjToolを使って
すべてのプログラムに登録されているKsjToolを実行する。例えば大阪なら,N03-100329_27.xmlを変換元として選ぶ。変換先はこのファイルが入っているフォルダを選ぶ。即時,変換される。N03-100329_27_EC01.shpを出力しました,というメッセージが出る。KsjTool終了後,フォルダをみると,N03-100329_27_EC01.shpとともに,.dbf,.shxのファイルも作成されている。
なお,Grassはファイル名にハイフンが使えないのでアンダーバーに変えること。
5. 座標系の変換: ogrを使って
前述のように,このように作成されたファイルは,測地系2000の経緯度のものである。これを他の測地系に変換する必要がある。ここでは,すでに作成した旧測地系UTM53Nの「京都及大阪」にプロットしたい。それゆえ分断した大阪府の行政界をプロットする。他の4府県も同様にすることで全ての行政界をプロットできる。
さて, ラスターファイルのgdalwarpと同様の機能を持つベクトルファイル座標系変換ソフトが,ogr2ogr http://www.gdal.org/ogr/ である。GDALは,Geospatial Data Abstraction Libraryを意味する(発音 goo-doll,a bit like goo-gle)。OGRは,もともとはOpenGis simple features Reference implementationを目指したことに由来する。
月の杜工房 http://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/index.php/tec/gdal-ogr_tips.html のメモでは, ベクタデータの座標で、経緯度⇔座標値の変換をするにはogr2ogrコマンドでフォーマットの変換と同時に座標値も変換することができるとあり,平面直角座標9系のdgnファイル(http://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/index.php/libs/dgnlib/dgn_tips.html)をGRS80の経緯度のkmlファイルに変換する例が示されてる。なお,gdalと異なって,ogrのファイル名の順は逆で,dst_datasource_name src_datasource_name となる。
> ogr2ogr -f KML -s_srs EPSG:2451 -t_srs EPSG:4019 out.kml in.dgn
このコマンドの-f KMLは出力したいファイル形式を入力する。ここでは,-f "ESRI Shapefile" としたいところだが,shapeファイルはdefaultなので,入力の必要がない。
さて,shapeファイルは,-.shpと-.dbfと-.sixの3ファイルで成り立つからフォルダでの指定が必要となる。http://www.yaskey.cside.tv/mapserver/diary/diary.php?mode=main&COM=326 の末尾に示されている次の方法でフォルダ単位が可能となる。
> ogr2ogr -t_srs EPSG:4326 4326folder/4326.shp -s_srs EPSG:2448 ./2448/test.shp
この形は先のものと違って座標系とファイルが連続表示されている。この方がソースとターゲットのファイル並びに混乱が無いだろう。この場合は,ターゲットを先に示す必要がある。
以上を踏まえてここでは,次のように表現できる。ogrのサイト http://www.gdal.org/ogr2ogr.html を参照して欲しい。EPSGコード番号を調べるのに,http://spatialreference.org/ref/?search=japan&srtext=Search がある。Searchの窓にJapanを入れれば主に測地系2000の日本関係の座標系が表示される。旧測地系はTokyoで検索した方が良い。世界測地系経緯度に対応するのはEPSG: 4612 http://spatialreference.org/ref/epsg/4612/ ,旧測地系UTM53Nは,EPSG:3094 http://spatialreference.org/ref/epsg/3094/ である。
> ogr2ogr -t_srs EPSG:3094 /Users/moto/grassdata/FileConvert_folder/Osaka_fu_admin_bnd3094/Osaka_admin3094.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/Osaka_fu_admin_bnd/N03_100329_27_EC01.shp
Grassはファイル名にハイフンが使えないのでアンダーバーに前もって変えている。ファイルへのパスが長いが,ターゲットのフォルダOsaka_fu_admin_bnd3094をファインダで用意し,さらに作成するshpファイル名も上記のコマンドに含まなければならない。
6. 不要な領域の切り取り 2010.12.7修正
さて,当初,次のように考えた。
大阪府の行政区画の必要部分だけ切り取る必要がある。ソースファイルの必要な範囲を指定するので,測地系2000の経緯度表示になる。W,S,E,N(西から反時計回り -spat xmin ymin xmax ymax の形)の順にする。この図幅の南境界線は大阪市または東大阪市を分断する。KS-META-N03-100329_27.xml(ブラウザーで読める)はメタデータであるが,これには「行政界 市区町村 国土数値情報 001 25000 jpn 004 003 2010-03-29 2010-03-29 JGD2000 / (B, L) 135.000000 135.750000 34.250000 35.083333 大阪府 005 平成22年3月29日時点の市区町村にない市区町村データが存在している場合を過剰とする」という記述がある。ここに表記されているのは測地系2000である。一方,取り込み予定の旧測地系の南縁は34d40'つまり,34.666666である。http://vldb.gsi.go.jp/sokuchi/tky2jgd/ のTKY2JGDを使用する。このソフトでは34d40'に対応する表現は3440000.0となる。ウンヌンカンヌン。
上で述べた考え方は誤りであった。ここでは,後述のように範囲指定の必要がない。結局先ほど示したコマンドと同様のもので実行する。
GRASS 6.4.0 (UTM53-tokyo):~ > ogr2ogr -t_srs EPSG:3094 /Users/moto/grassdata/FileConvert_folder/Osaka_fu_admin_bnd3094/Osaka_admin3094.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/Osaka_fu_admin_bnd/N03_100329_27_EC01.shp
GRASS 6.4.0 (UTM53-tokyo):~ >
このように,実行してエラーメッセージもなく一瞬でできた。作成予定のフォルダを見ると,prjファイルを含めて,4ファイルが作成されていた。
7. Grassへの取り込み
取り込むLocationを立ち上げる(ogr2ogrを実施したterminalがこのLocationと一緒に立ち上げているので実際はすでに立ち上がった状態である)。File/Import vector map/Multiple formats using OGR で選んで,パネルで,OGRのdata source nameとして,Osaka_fu_admin_bnd3094フォルダのOsaka_admin3094.shpを選ぶ。Output vector mapとしては,Osaka_admin_bndを入力して,OptionタブでOverride dataset projection (use location's projection)にチェックを入れる。実は,このパネルにはSubregionパネルがあり,ここで設定できる(下に補足を述べる)。エラーメッセージがなく,種々のメッセージが流れて終わる。
次の図は平面図を表示したものである。

次の図はnvizで表示したものである。

なお,地勢図の表示がかなり粗くなっているのはGrassの限界なのか。縮小表示の際には粗雑に見える。
8. 補足(サブリージョンの設定とWindows環境)
Subregionパネルの設定について: 実は全く計算の必要がない。地勢図「京都及大阪」は2府3県からなる。行政区画は新測地系で各県の領域は矩形でかなり広い範囲が設定されている。この領域と地勢図の領域の関係を捉えて大阪の場合は,行政区画の南側を切り,兵庫県は西側,南側,北側を切るといったことを考えた。ところが,いらないところを切るという発想を止めて,欲しいところを確保すると考えれば,v.in.ogrで取り込む時のSubregionパネルの設定で,どの府県でも,一律に,135dE, 34d40', 136d, 35d20'を入力すればいいのである。
9. Windows環境での実行について
これはイントロのところで述べる。
以 上
以 上