Giter VIP home page Giter VIP logo

plateau-geo-tools's Introduction

plateau-geo-tools

国土交通省が整備を進めている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

GISファイルフォーマットへの変換(convert_gis_format.py)

使い方

$ 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}

図形面積の補完(supplement_area.py)

使い方

$ 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 初版公開

plateau-geo-tools's People

Contributors

raokiey avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.