数値標高モデルから等高線の作成
2014年07月18日
基盤地図情報の数値標高モデルのダウンロード
- 必要な範囲の地域メッシュコードを確認
以下のサイトが広域を一度に確認しやすく便利。確認するのは2次メッシュコードまででOK。
標準地域メッシュまっぷ - 三匹のウリボ
http://space.geocities.jp/bischofia_vb/webmaps/mesh/ - 基盤地図情報ダウンロードサービスから必要な数値標高モデルをダウンロード
http://fgd.gsi.go.jp/download/ - JPGIS(GML)形式、JPGIS形式のどちらにするか検討
処理するツールによって対応形式が異なる(後述する、「基盤地図情報閲覧コンバートソフト」と「基盤地図対応GDAL/OGR」のみJPGIS形式対応)。
ファイル容量が形式で異なる(JPGIS(GML)形式の方が少ない。JPGIS形式と比べて1/7程度になる)。
平成26年8月以降は、JPGIS(GML)形式のみの提供になる模様。
http://www.gsi.go.jp/kibanjoho/kibanjoho40075.html - 選択方法の検討
「地図から選択」の方が不要なファイルをダウンロードする事が無くて良い。
2次メッシュコードを1つずつ選択する必要があるが、結果的に早くGeoTIFF形式の変換ができる可能性が高い。
「リストから選択」の方は行政単位なので、不要なファイルが含まれる可能性がある。
不要なファイルが含まれれば、ダウンロードやGeoTIFF形式の変換時の取捨選択に時間を要する。
平成26年8月以降は、2次メッシュ単位のみの提供になる模様。
基盤地図情報の数値標高モデルをGeoTIFF形式に変換
複数の方法があり、以下に主な方法を記す。
「基盤地図情報 標高DEMデータ変換ツール」
以下のサイトからダウンロード
http://www.ecoris.co.jp/contents/demtool.html
操作手順
ダウンロードしたファイルの「変換およびコンパイル方法.txt」に記してある通りに進める。
- JPGIS(GML)形式の数値標高モデルを解凍したフォルダを用意
- 「変換結合.vbs」をダブルクリック
- 投影法を選択
- JPGIS(GML)形式のxmlファイルが入っているフォルダを選択
- 海域の標高を選択(0もしくは-9999)
- 変換処理開始
1メッシュ毎、GeoTIFFファイルが作成される。
最後に1つのGeoTIFFファイルにマージされる。
QGISプラグイン(基盤地図情報DEMインポータ)
ソフト公開のページ - 三匹のウリボウ からダウンロード
http://space.geocities.jp/bischofia_vb/qgis-plugins/fgddemImporter/
操作手順
上記URLに記してある通りに進める。
- ダウンロードして解凍したfgddemImporterフォルダをQGISのプラグインフォルダにコピー
または、QGISのプラグイン-プラグインの管理とインストール-設定で、リポジトリURLを追加してインストール - QGISのプラグイン-プラグインの管理とインストールで、「fgddemImporter」にチェックを入れる
- プラグインメニューやプラグインツールバーから「基盤地図情報DEMインポータ」をクリック
- 「追加」ボタンをクリックして、JPGIS(GML)形式の数値標高モデルを選択する
一度に複数のzipファイルまたはxmlファイルを指定できる - 出力先フォルダを指定
- 変換のみ(バックグラウンド動作)にチェックを入れる
- 「変換」ボタンをクリック
1メッシュ毎、もとのファイル名(拡張子を除く)のGeoTIFFファイルが作成される。
Pythonスクリプト
ソフト公開のページ - 三匹のウリボウ からダウンロード
http://space.geocities.jp/bischofia_vb/python/fgddem/
操作手順
上記URLに記してある通りに進める。
- OSGeo4Wでgdal-pythonパッケージをインストール
- ダウンロードして解凍した中にある、fgddem.pyとfgddem.batをOSGeo4W\binフォルダにコピー
- 「コマンドの説明」を参照し、OSGeo4W Shellでコマンド入力
JPGIS(GML)形式のzipファイルまたはxmlファイルを指定できる
ワイルドカードを用いた複数指定もできるコマンド実行
fgddem ^
-out_dir C:\DEM\fgddem ^
C:\DEM\FG-GML-*.xml
1メッシュ毎、もとのファイル名(拡張子を除く)のGeoTIFFファイルが作成される。
1つのzipファイルの中に、複数のxmlファイルがある時は、含まれるメッシュがすべて結合されたGeoTIFFファイルが作成される。
基盤地図対応GDAL/OGR
http://www.osgeo.jp/foss4g-mext/
現状公開されている基盤地図対応GDAL/OGRは、JPGIS形式の数値標高モデルのみ対応
操作手順
ダウンロードして解凍した中にある、「readme.txt」に記してある通りに進める。
- gdal.batのROOTDIR=に、解凍先の階層を記す。
- gdal.batをダブルクリック
- GDALコマンドを入力
gdal_translate ^
-a_srs EPSG:4612 ^
C:\DEM\FG-JPS-5333-20-dem10b-20090201.xml ^
C:\DEM\FG-JPS-5333-20-dem10b-20090201.tif
1メッシュ毎、指定したファイル名のGeoTIFFファイルが作成される。
基盤地図情報閲覧コンバートソフトとQGIS2.4(またはGDALコマンド)ArcGIS for Desktop
数値標高モデルをポイントシェープファイルに変換し、ポイントシェープファイルをGeoTIFFファイルに変換する
基盤地図情報閲覧コンバートソフトでポイントシェープファイルに変換
- 新規プロジェクト作成をクリック
- JPGIS(GML)形式またはJPGIS形式のzipファイルまたはxmlファイルを追加(複数選択可)
- 「OK」ボタンをクリック
読込処理が始まり、完了すると数値標高モデルがカラー表示される - エクスポート-標高メッシュをシェープファイルへ出力をクリック
- 全データを出力を選択、出力先を指定
1度に多数のメッシュを変換しようとすると、メモリ不足で変換できない事が多い
手間がかかるが1メッシュ毎に変換を行う
複数のメッシュを変換したいときは、「出力サイズ確認」ボタンをクリックして、メモリ不足のメッセージがでなければOK
現状、基盤地図情報閲覧コンバートソフトは32bitなので、約2GB以下の出力サイズにする必要がある
「出力サイズ確認」ボタンをクリックした時は、表示される出力サイズを記録しておくと、後のQGIS2.4の処理で利用できる
ポイントシェープファイルが作成される。
QGIS2.4またはGDALコマンドでポイントシェープファイルをGeoTIFFファイルに変換
- QGIS2.4ラスタ-ラスタ化(ベクタのラスタ化)メニューをクリック
- 上記で作成したポイントシェープファイルを指定
自動で属性フィールドが選択される - 出力するGeoTIFFファイルを指定
新規にラスタ化する時は、出力サイズまたは解像度の指定が必要となる
数値標高モデルのxmlファイルをテキストエディタ等で開き、
<gml:low>0 0</gml:low>
<gml:high>1124 749</gml:high>
low、highに記されているサイズを確認する
または、基盤地図情報閲覧コンバートソフト「出力サイズ確認」ボタンをクリックして表示されたサイズを入力 - 「OK」ボタンをクリック
上記3.までの設定で以下のGDALコマンドがQGIS設定画面に記述される
gdal_rasterize -a 標高 -ts 1125 750 -l 533320_point C:/DEM/533320_point.shp C:/DEM/533320_qgis.tif
GeoTIFFファイルが作成される。
ArcGISでポイントシェープファイルをGeoTIFFファイルに変換
ArcGIS10.1以前にある基盤地図情報のインポート(Import FGD)ツールは、基盤地図情報のスキーマ情報の参照に関わる問題で、利用できない場合が多い。ESRIのサポートサイトにも、利用できない場合は基盤地図情報閲覧コンバートソフトかArcGIS10.2を利用するよう記されている。
- ArcGISのArcToolboxにあるラスタへ変換、ポイント → ラスタ(Point to Raster)ツールをクリック
- 上記で作成したポイントシェープファイルを指定
- 値フィールドを指定
- 出力するGeoTIFFファイルを指定
- その他はデフォルトのままでOK
- 「OK」ボタンをクリック
GeoTIFFファイルが作成される。
GeoTIFFファイルのマージ
1メッシュ毎作成されたGeoTIFFファイルは、以下のGDALコマンドまたは、QGISのラスタ-その他-結合メニューでマージする。
gdal_merge -o merge.tif *.tif *.tif ・・・・
dir /b /s *.tif > tiff_list.txt
gdal_merge -o merge.tif --optfile tiff_list.txt
gdalbuildvrt merge.vrt ./*.tif
gdal_translate merge.vrt merge.tif
GeoTIFF形式からラインシェープファイル形式(等高線)の作成
GDALコマンド(QGISのラスタ-等高線メニュー)でコンターシェープファイルを作成
gdal_contour -a ELEV -i 50.0 merge.tif merge.shp