2013年03月24日

北海道の等高線、道路縁のShapeファイルを作成しました

国土地理院の基盤地図情報の等高線等をShapeファイルに変換したもの作成しました。国土地理院に複製の申請をしたので、Webサイトで公開します。
(承認番号 平24情複、 第554号)

右のリンクから公開サイトに移動出来ます。

公開は北海道地区だけですが、なぜ北海道だけかというと、
私が北海道に住んでいるからという他に、
国土地理院の基盤地図情報の等高線は、細長い幅(たぶん5〜10kmくらい)で、
南から北までいってまた折り返すというデータのため、
振興局ごとや、市町村ごとのデータを作るのに非常に手間がかかったため、
同じ手間を他の人がかけるくらいなら、自分の作ったデータを公開したほうが
いいかなと思ったからです。
他の都府県なら、そんなに大きなデータにもならないので、そんなに手間では
ないと思います。

等高線は、振興局ごと、市町村ごとのデータを作成しました。

データはSkyDriveに置いていますが、初めて使ったため、
上手く共有できているかわかりません。
ダウンロードできないなどありましたら、コメントください。

posted by kouichi at 01:13| Comment(2) | GISその他 | このブログの読者になる | 更新情報をチェックする

2012年09月30日

基盤地図対応GDAL/OGRの使い方

FaceBookで質問を受けたけど、自分でも忘れていたのでメモ。

OsGeo.jpのWebサイトで、基盤地図情報を扱えるGDAL/OGRのバイナリが公開されています。
http://www.osgeo.jp/foss4g-mext/
このシステムを使用すると、基盤地図情報のJPGIS形式のXMLファイルを一括でShapefileやGeotiffに変換したり、QGISで直接基盤地図情報が読み込めたりします。

使い方は、「基盤地図対応GDAL/OGR」の「バイナリ」をクリックし、Zipファイルをダウンロードします。
解凍した「mext_gdal」フォルダをCドライブの直下に置くだけです。

しかし、このままだと使い方がよくわかりませんね。
なので、こちらのサイトが参考になります。
このサイトはOpenStreetMapの作成に基盤地図情報を利用するための解説ページですが、こちらも「基盤地図対応GDAL/OGR」を使用しています。

ページ中段の「GDAL/OGRのダウンロード」で「QGIS_MEXT.zip」をダウンロードし、解凍した「QGIS_MEXT」フォルダをCドライブの直下に置きます。
Image 2012_09_29_234708.jpg
なぜCドライブの直下に置くかというと、処理を実行するためのバッチファイル(.bat)の中に記載されているシステムの場所が、「C:\QGIS_MEXT\mext_gdal」となっているためです。

「QGIS_MEXT」フォルダの中には、「road2shp2tiff_wgs84.bat」と「xml2tif.bat」の2つのバッチファイルが入っています。
下画像のリンクをクリックし、「road2shp2tiff_wgs84.bat」をダウンロードして、「QGIS_MEXT」のフォルダに移動します。
Image 2012_10_06_213055.jpg

「road2shp2tiff_wgs84.bat」は、基盤地図情報のXMLファイルをShapefileに変換します。そしてGeoTiffファイルも作成します。
「xml2tif.bat」は基盤地図情報の標高DEMをGeoTiffファイルに変換します。

このまま使うと、ものすごい時間がかかる場合があるので、すこし編集します。
バッチファイルを右クリックし、「編集」でテキストエディタで開きます。
Geotiffファイルを作る命令の「gdal_rasterize -tr 0.00001 0.00001 -ot byte -burn 0 -init 255 shp1.shp shp1.tif」の「0.00001 0.00001」を「100 100」に変更します。
Image 2012_09_30_000647.jpg
この部分は、tiffファイルの1ピクセルを何mにするかの設定です。ちなみに北海道の行政界を1ピクセル=100mで作成すると、14MB程度でした。
この部分は、地図の大きさによって、適宜調整してください。

基盤地図情報を「JPGIS形式」でダウンロードし、1つのShapefileにしたい場合は、1つのフォルダにまとめます。
(「JPGIS(GML)形式は変換できませんので、必ず「JPGIS形式」で行なってください。)
ベクタデータの場合は、「road2shp2tiff_wgs84.bat」のバッチファイルを、まとめたXMLファイルと同じフォルダにコピーし、ダブルクリックで変換が始まります。

変換されたShapefileとGeotiffファイルをQGISなどで開いて確認してみてください。

<バッチファイルの中身の説明>
バッチファイルの中身は、次のような命令が記載されています。

set ROOTDIR=C:\QGIS_MEXT\mext_gdal
↑ここはGDALシステムのあるフォルダを指定しています。
set GDAL_DATA=%ROOTDIR%\bin\data
set PATH=%ROOTDIR%\lib;%ROOTDIR%\bin;%PATH%
↑ここは特にイジる必要はありません。

for %%i in (*.xml) do ogr2ogr -f "ESRI Shapefile" -lco "ENCODING=UTF-8" -t_srs "EPSG:4326" %%i.shp %%i
↑ここは、フォルダ内のXMLファイルをすべてShapeFileに変換する命令です。
「ENCODING=CP932」とすると、属性データの文字コードがShift-JISになります。
「EPSG:」で変換後の測地系を設定できます。例えば平面直角座標系JGD2000の12系なら「EPSG:2454」とします。これはQGISの座標参照系と同じですので、番号はQGISで確認するといいと思います。

for %%i in (*.shp) do ogr2ogr -append shp1.shp %%i
↑一つ上の命令で作成した個別のShapefileを結合して、「Shp1.shp」として保存します。
ファイル名は自由に設定できます。

gdal_rasterize -tr 100 100 -ot byte -burn 0 -init 255 shp1.shp shp1.tif
↑作成した「Shp1.shp」を「Shp1.tif」というGeotiffファイルで保存します。
「-tr」のあとの数字は、1ピクセルを何mにするかという設定です。あまり小さくすると、ものすごい大きなファイルができるので注意してください。
Geotiffファイルを作成する必要がない場合には、命令の先頭に「#」を入力するとコメントになりますので、命令が実行されません。
たまにtiffファイルが作成されない場合があります。(原因不明)

例えば、文字コードShift-JISで、平面直角座標系JGD200の12系でShapefileを作成し、Geotiffファイルが不要な場合には、次のように命令を記載します。
set ROOTDIR=C:\QGIS_MEXT\mext_gdal
set GDAL_DATA=%ROOTDIR%\bin\data
set PATH=%ROOTDIR%\lib;%ROOTDIR%\bin;%PATH%

for %%i in (*.xml) do ogr2ogr -f "ESRI Shapefile" -lco "ENCODING=CP932" -t_srs "EPSG:2454" %%i.shp %%i
for %%i in (*.shp) do ogr2ogr -append shp1_JGD2000_12.shp %%i
#gdal_rasterize -tr 50 50 -ot byte -burn 0 -init 255 shp1_JGD2000_12.shp shp1_JGD2000_12.tif


=====================================
また、このパッケージには、基盤地図情報を直接読み込めるQGISも付属しています。
「C:\QGIS_MEXT\mext_gdal」の中の「qgis1.9.bat」をダブルクリックすると、QGISが開きます。
開かない場合には、バッチファイルの中のシステムフォルダの場所が「set ROOTDIR=C:\QGIS_MEXT\mext_gdal」となっているか確認してください。

QGISで基盤地図情報を直接読み込むと、処理が遅いのであまり実用的ではないなという感想です。
パワーのあるパソコンならいいのかもしれません。
posted by kouichi at 00:32| Comment(1) | GISその他 | このブログの読者になる | 更新情報をチェックする

2012年07月03日

FOSS4G Hokkaido ではってもらったポスター

2012年6月30日に開催されたFOSS4G Hokkaido で会場に掲示していただいたポスターです。
2012_06_16_FOSS4G_.pdf
関係者の皆様、ありがとうございました。
posted by kouichi at 00:56| Comment(0) | GISその他 | このブログの読者になる | 更新情報をチェックする