コンテンツにスキップ

PLATEAU-CityGML

Project PLATEAU では、CityGML 形式で作成された 3D 都市モデルのデータの配信を行っており、Project PLATEAU が G空間情報センター において公開している都市の CityGML データを利用可能です。

ここでは、その CityGML データをより柔軟に取得するための CityGML API 群の使い方を、ユースケース別に説明します。

  • API 共通エンドポイント: https://api.plateauview.mlit.go.jp

自治体コードやメッシュコードなど、様々な方法で指定した範囲に含まれる各種 CityGML ファイルの URL のリストを取得します。

GET /datacatalog/citygml/{conditions} — 検索条件 conditions には以下の形式が使えます:

種類プレフィックス
メッシュコードm:m:533944,533945
メッシュコード厳密検索mm:mm:533944
空間 IDs:s:18/1/232853/103220
座標範囲(中心点)r:r:139.7375,35.6583
座標範囲(矩形)r:r:139.7375,35.6583,139.74,35.66
ジオコーディングg:g:千代田区
自治体コード(プレフィックスなし)13999

呼び出し例:

Terminal window
curl 'https://api.plateauview.mlit.go.jp/datacatalog/citygml/m:533935'

複数の CityGML ファイル URL を投入すると、関連するファイルをまとめた zip ファイルを非同期で生成します。

エンドポイント用途
POST /citygml/packパック処理を開始してパック ID を取得
GET /citygml/pack/{id}/statusパック処理の状態確認(accepted / processing / succeeded / failed
GET /citygml/pack/{id}.zip生成された zip のダウンロード

呼び出し例:

Terminal window
curl https://api.plateauview.mlit.go.jp/citygml/pack \
--json '{
"urls": [
"https://assets.cms.plateau.reearth.io/assets/.../53394509_bldg_6697_op.gml",
"https://assets.cms.plateau.reearth.io/assets/.../53394518_bldg_6697_op.gml"
]
}'

サーバー負荷抑制のためタイムアウトなどの制限が設けられており、また一度作成された zip は一定時間経過後に削除されることがあります。投入できる URL は PLATEAU CMS(assets.cms.plateau.reearth.io)からのファイルのみです。

CityGML ファイルの URL と地物の gml:id を渡すと、その地物の属性情報を JSON で返します。

GET /citygml/attributes — クエリパラメータ:

  • url: CityGML ファイルの URL
  • id: gml:id をカンマ区切りで複数指定
  • skip_code_list_fetch: コードリスト取得をスキップして生のコードを返す

CityGML の URL と空間 ID のリストを渡すと、その空間 ID 内に含まれる地物の gml:id のリストを返します。

GET /citygml/features — クエリパラメータ:

  • url: CityGML ファイルの URL
  • sid: 空間 ID(カンマ区切り、z/x/yz/f/x/y・ハッシュタイル形式)

空間 ID と地物型のリストを渡すと、該当地物の属性情報を JSON で返します。1・4・3 の API を順番に呼び出す手間を省く統合 API です。

GET /citygml/spatialid_attributes — クエリパラメータ:

  • sid: 空間 ID(カンマ区切り、最低 1 つ)
  • type: 地物型(カンマ区切り、最低 1 つ。例: bldg,veg,tran
  • skip_code_list_fetch: コードリスト取得スキップ