PLATEAU-CityGML
Project PLATEAU では、CityGML 形式で作成された 3D 都市モデルのデータの配信を行っており、Project PLATEAU が G空間情報センター において公開している都市の CityGML データを利用可能です。
ここでは、その CityGML データをより柔軟に取得するための CityGML API 群の使い方を、ユースケース別に説明します。
- API 共通エンドポイント:
https://api.plateauview.mlit.go.jp
1. CityGML ファイル検索 API
Section titled “1. CityGML ファイル検索 API”自治体コードやメッシュコードなど、様々な方法で指定した範囲に含まれる各種 CityGML ファイルの URL のリストを取得します。
GET /datacatalog/citygml/{conditions} — 検索条件 conditions には以下の形式が使えます:
| 種類 | プレフィックス | 例 |
|---|---|---|
| メッシュコード | m: | m:533944,533945 |
| メッシュコード厳密検索 | mm: | mm:533944 |
| 空間 ID | s: | s:18/1/232853/103220 |
| 座標範囲(中心点) | r: | r:139.7375,35.6583 |
| 座標範囲(矩形) | r: | r:139.7375,35.6583,139.74,35.66 |
| ジオコーディング | g: | g:千代田区 |
| 自治体コード | (プレフィックスなし) | 13999 |
呼び出し例:
curl 'https://api.plateauview.mlit.go.jp/datacatalog/citygml/m:533935'2. CityGML Pack API
Section titled “2. CityGML Pack API”複数の CityGML ファイル URL を投入すると、関連するファイルをまとめた zip ファイルを非同期で生成します。
| エンドポイント | 用途 |
|---|---|
POST /citygml/pack | パック処理を開始してパック ID を取得 |
GET /citygml/pack/{id}/status | パック処理の状態確認(accepted / processing / succeeded / failed) |
GET /citygml/pack/{id}.zip | 生成された zip のダウンロード |
呼び出し例:
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)からのファイルのみです。
3. CityGML 属性 API
Section titled “3. CityGML 属性 API”CityGML ファイルの URL と地物の gml:id を渡すと、その地物の属性情報を JSON で返します。
GET /citygml/attributes — クエリパラメータ:
url: CityGML ファイルの URLid:gml:idをカンマ区切りで複数指定skip_code_list_fetch: コードリスト取得をスキップして生のコードを返す
4. CityGML 空間 ID 検索 API
Section titled “4. CityGML 空間 ID 検索 API”CityGML の URL と空間 ID のリストを渡すと、その空間 ID 内に含まれる地物の gml:id のリストを返します。
GET /citygml/features — クエリパラメータ:
url: CityGML ファイルの URLsid: 空間 ID(カンマ区切り、z/x/y・z/f/x/y・ハッシュタイル形式)
5. CityGML 空間 ID 属性 API
Section titled “5. CityGML 空間 ID 属性 API”空間 ID と地物型のリストを渡すと、該当地物の属性情報を JSON で返します。1・4・3 の API を順番に呼び出す手間を省く統合 API です。
GET /citygml/spatialid_attributes — クエリパラメータ:
sid: 空間 ID(カンマ区切り、最低 1 つ)type: 地物型(カンマ区切り、最低 1 つ。例:bldg,veg,tran)skip_code_list_fetch: コードリスト取得スキップ