gml2csv_dem.py by Takashi MIYAMOTO 2017.3.21 coded 2017.4.10 revised 使い方: ■1. 国土地理院基盤地図情報のページから,任意の地域メッシュにおける数値標高モデルをダウンロードする. ■2.ダウンロードしたzipファイル FG-GML-pppp-qq-DEMNNX.zipを解凍し,解凍後のフォルダとzipファイルを同じフォルダ内に置く. pppp:1次メッシュ番号 qq:2次メッシュ番号 NN:5(5mメッシュ) or 10(10mメッシュ) X:A(レーザー測量) or B(写真測量) ■3.gml2csv_dem.pyを,上記と同じフォルダに置く. フォルダ構成:samplefolder ___ FG-GML-pppp-qq-DEMNNX.zip |_ FG-GML-pppp-qq-DEMNNX |_ gml2csv_dem.py ■4.コンソールやIPythonなどのインタラクティブな実行環境上で上記フォルダに移動後, 解凍フォルダ名を引数としてgml2csv_dem.pyを実行する. > python gml2csv_dem.py FG-GML-pppp-qq-rr-DEMNNX (コンソール) > %run gml2csv_dem.py FG-GML-pppp-qq-rr-DEMNNX (IPython) また,pyprojがシステムにインストールされていれば,-z オプションで平面直角座標系の 系番号を指定することで,x,y座標が平面直角座標の値としてファイルに出力される. 例:系番号IX(9,関東地方)を指定する場合 > python gml2csv_dem.py -z 9 FG-GML-pppp-qq-rr-DEMNNX (コンソール) > %run gml2csv_dem.py -z 9 FG-GML-pppp-qq-rr-DEMNNX (IPython) 地域ごとの平面直角座標系の系番号は,下記URLから参照できる. http://www.gsi.go.jp/LAW/heimencho.html また,pyprojのインストールには,例えばコンソール上で次のコマンドを実行する. > pip install pyproj (pipを用いる場合) > conda install pyproj (condaを用いる場合) ■5.実行に成功していれば,解凍フォルダ(FG-GML-pppp-qq-rr-DEMNNX)内に ppppqqrr-dem.csv がgmlファイルと同じ数だけ生成される. 出力ファイル形式:(row, col, latitude, longitude, x, y, height) ■1.row,colには元のGML形式に倣い,下図のように北西端を(0, 0)として東に(0, 1)..., 南に(1, 0)...と増えていく番号が出力される. (0, 0) (0, 1) (0, 2) ... (1, 0) (1, 1) (1, 2) ... (2, 0) (2, 1) (2, 2) ... ■2. latitude, longitudeには世界測地系による緯度経度が出力される. ■3. x, yには,オプション引数 -z の有無に応じて以下のどちらかが出力される. -zを指定しない場合:南西端を(0,0)とし,節点間の距離を5/10mとして座標値を遂次出力する. -zを指定する場合:平面直角座標系の座標値を出力する. なお,どちらの場合も,平面直角座標系の規則に従い x:北向きを+とする南北方向の座標値 y:東向きを+とする東西方向の座標値 としており,通常のx, y座標とはルールが異なっていることに注意する. ■4.heightには,GMLファイルから抽出した標高値が出力される.