国土交通省が整備を進めているProject PLATEAUで配布されているCityGML形式のデータをGeoJSONなどのGISファイルフォーマットに変換したり、情報を補完するためのツールです。
kepler.glを使用して表示を行っています。
※ デモ用のデータでは、開発中の機能であるDBPedia Japaneseから属性情報の補完まで行っています。
使用したデータ(出典)
使用したデータ(出典)
-
Project PLATEAUで配布されているCityGMLデータをGeoJSONなどのGISファイルフォーマットに変換する
ジオメトリ情報は屋根外形 (bldg:lod0RoofEdge) の情報を元に生成することを想定しています。 -
図形面積の情報を補完する
図形面積(uro:buildingRoofEdgeArea )の情報が0の場合、ポリゴンの面積を求め情報を補完しています。
単位は平方メートル
です。 精度が保証できないため、小数ではなく整数値としています。
- あくまで個人が趣味で開発したものです
- G空間情報センターのページから配布されているすべてのCityGMLデータの仕様を満たすものではありません
- このツールを利用したことによって生じたいかなる損害についても、ツール作成者は責任を負いかねます
Python3(Python 3.9.6, Ubuntu20.04 LTSで動作確認)
condaで仮想環境を構築することを想定しています。
$ conda env create -n ${環境名} -f environment.yml
使い方
$ python convert_gis_format.py ${module} ${gml_path} ${save_dir} --cfg_path ${cfg_path} --save_format ${save_format}
引数の説明
引数名 | 型 | 説明 | 備考 |
---|---|---|---|
module | str | モジュールの名前空間 | 必須引数 建物の場合は bldg 道路の場合は tran |
gml_path | str | 変換対象のCityGMLデータのパス | 必須引数 |
save_dir | str | 保存先ディレクトリのパス | 必須引数 |
cfg_path | str | 設定ファイルのパス | オプション引数 デフォルトは config ディレクトリ以下のファイル |
save_format | str | 保存フォーマット | オプション引数 デフォルトは GeoJSON |
※ 保存フォーマットについて
以下の通りに指定してください。
フォーマット | 指定する文字列 |
---|---|
GeoJSON | GeoJSON |
ESRI Shapefile | shp |
GeoPackage | gpkg |
例1) 建物データをGeoPackage形式に変換
$ python convert_gis_format.py bldg ${gml_path} ${save_dir} --save_format gpkg
例2) 道路データをGeoJSON形式に変換
$ python convert_gis_format.py tran ${gml_path} ${save_dir}
使い方
$ python supplement_area.py ${target_path} ${save_dir} ${cfg_path} --field_name ${field_name} --save_format ${save_format}
引数の説明
引数名 | 型 | 説明 | 備考 |
---|---|---|---|
target_path | str | 変換対象のファイルのパス | 必須引数 |
save_dir | str | 保存先ディレクトリのパス | 必須引数 |
cfg_path | str | GISファイルフォーマット変換時に使用した設定ファイルのパス | 必須引数 変換時に指定していない場合は config ディレクトリ以下にあるyamlファイルを指定する |
field_name | str | 図形面積が格納されているフィールド名 | オプション引数 デフォルトは 図形面積 図形面積を格納しているフィールドが無い場合は None を指定する |
save_format | str | 保存フォーマット | オプション引数 デフォルトは GeoJSON |
※ 保存フォーマットについて
GISファイルフォーマットへ変換の箇所と同様。
例1) デフォルト
$ python supplement_area.py ${target_path} ${save_dir} ./config/building_config.yml
例2) 図形面積に当たる情報が無い場合
$ python supplement_area.py ${target_path} ${save_dir} ./config/building_config.yml --filed_name None
- ベクタータイル(MVTフォーマット)への変換
- DBpedia Japaneseから属性情報を補完する機能の追加
- dem(地形)モジュールの変換スクリプトの実装
- 3D GISデータへの対応
- Open Street MapなどDBpedia Japanese以外のオープンデータから属性情報の補完
更新日 | 更新内容 |
---|---|
2021/08/01 | 初版公開 |