前回のエントリーで紹介した,国土地理院の基盤地図情報のサイトだが,さっそく5m DEM(地形データ)を解析が容易なバイナリ形式の画像データとしてインポートしてみることにした。おそらく,GISソフトウェアのベンダーが今後インポーターを出すと思うので,一時的な方法となるだろう。
基盤地図情報では,JPGIS形式とGML形式の2つのデータ形式があり,ダウンロード可能である。どちらも,XML形式のようなテキストデータである。今回,テキスト処理が容易そうなGML形式のデータを利用した。処理は,Linuxのコマンドとシェルスクリプト,C言語を利用した。
データは,2次メッシュを10x10=100つのメッシュに分割されており,それぞれ拡張子がxmlのテキストデータとなっている。このテキストデータを1つずつ読み込み,バイナリデータへと変換させ,ENVIというリモートセンシングのソフトウェアのヘッダーファイルを出力するようにした。従って,ENVIを持っている人は,位置情報が入った形でデータを読み込むことが可能である。他のリモートセンシングのソフトウェアでも,インポートできるだろう。
今回作成したシェルは次の通りである。細かい点は説明しないが,データ内から,画像のサイズや各ファイルの四隅の緯度経度を読み込み,標高値のデータの適すとの部分を抽出し,バイナリに変換する。バイナリへ変換するC言語のプログラムのソースコードはこちらに公開した。
ENVIを持っていなくても,フリーのソフトであるGDALを使うことで,任意の形式に変化可能だ。gdal_translateというコマンドで可能である。また,今回のスクリプトでは,データはタイル状に作成されるため,別途繋ぎ合わせる作業(モザイク)を行う必要がある。GDALでは,データを繋ぎ合わせることも可能である。
各データを繋ぎ合わせて,Geotiff形式に変換し,ArcGISに表示させた結果は以下の通りである。場所は23区南部にあたる地域であり,メッシュのコードで表現すると,533935である。
青いほど低く,赤いほど標高は高い。標高の範囲は0mから50mとなっており,それほど地形の起伏がある地域はないが,とても細かく表現されていることがわかる。そして,とある衛星画像と重ねたところ,水域はほぼ重なっており,ちゃんとインポートできたと思われる。しかし,データの上部には,変な模様が入っている。元のデータを見ると,標高値と-9999の値が交互に並んでいることが分かり,元のデータに問題があると考えられる。
トラックバック(1)
このブログ記事を参照しているブログ一覧: 国土地理院の基盤地図情報の5m DEM(地形データ)を読み込む
このブログ記事に対するトラックバックURL: http://www.tagchan.net/cgi/mt/mt-tb.cgi/162
大学への道すがらちょいと寄り道 橋本まで橋本急行、6000系おいしいです。ていうか乗り心地が神がかってるな とはいえ9030で爆走したことはない。都営... 続きを読む

コメントする