brew install rustup-init
rustup-init
cd ~/GitHub/
gh repo clone Project-PLATEAU/PLATEAU-GIS-Converter
PLATEAUは、国土交通省が推進する日本全国の都市デジタルツイン実現プロジェクトで、3D都市モデルをオープンデータとして提供しています。
PLATEAUの3D都市モデルは、CityGMLと呼ばれるXMLベースのデータ形式で提供されており、G空間情報センターで配布されています。 3D都市モデルオープンデータから、全国の3D都市モデルを探すことができます。
CityGMLをRで扱うことのできるファイル形式に変換するために、PLATEAU GIS Converterを利用することができます。このコンバータを使えば、CityGMLをGeoJSONやShapefileに変換することが可能です。
GUIアプリをインストールすることもできますが、コマンドラインで利用することができるようにしておくと便利かもしれません。
system2
関数を使って、RからPLATEAU GIS Converterを実行することができます。 ここではCityGMLのうち建築物モデルをGeoJSONに変換しています。
<- "~/Downloads/40100_kitakyushu-shi_city_2020_citygml_6_op/udx/bldg/50306659_bldg_6697_op.gml"
citygml <- "~/Documents/R/PLATEAU/Building.geojson"
geojson <- paste("cd ~/GitHub/PLATEAU-GIS-Converter/nusamai;cargo run --release --", citygml, "--sink geojson --output", geojson)
command system2("/bin/zsh", args = c("-c", shQuote(command)))
GeoJSONを読み込んで、建築物を地図上に表示してみます。 色は建築物の高さです。
library(sf)
Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
library(mapview)
<- read_sf("~/Documents/R/PLATEAU/Building.geojson/Building.geojson")
bldg3d sf_use_s2(FALSE)
Spherical geometry (s2) switched off
<- st_centroid(bldg3d) bldg2d
Warning: st_centroid assumes attributes are constant over geometries
Warning in st_centroid.sfc(st_geometry(x), of_largest_polygon =
of_largest_polygon): st_centroid does not give correct centroids for
longitude/latitude data
::mapview(bldg2d, zcol = "measuredHeight") mapview
建築年で色を変えてみます。
::mapview(bldg2d, zcol = "yearOfConstruction") mapview
何かの分析に使えるでしょうか?