plateau_parse — DRIVE japan op

• 資料種類:any → table

• 呼叫: import fullseye as fs; fs.ledger.plateau_parse(source: 'str | Path | bytes', *, origin: 'tuple[float, float] | None' = None, max_buildings: 'int | None' = None) -> 'dict[str, Any]'(要直接呼叫實作,import driveplateau; driveplateau.plateau_parse(source: 'str | Path | bytes', *, origin: 'tuple[float, float] | None' = None, max_buildings: 'int | None' = None) -> 'dict[str, Any]';從台帳取用則 opsdrive.get("plateau_parse"))

用法

從 PLATEAU CityGML 串流讀取建築的底面多邊形、高度與底面標高。

以 iterparse 在 Building(本地名)的每個 end 事件處理, 處理後以 elem.clear() 釋放記憶體(設計為即使單一檔案數百 MB 也能執行)。

對每棟建築:

• 若有 measuredHeight 則用作高度。若無,則取 lod1Solid 的最大標高 − 最小標高。

• 底面輪廓: 若有 lod0FootPrint 則用其 posList。若無,則取 lod1Solid 所有面中 平均標高最低的面(LOD1 是擠出柱體,因此有底面)。

• posList 依 EPSG:6697 的「緯度 經度 標高」三元組讀取。

Args:

source: CityGML 字串(以 < 開頭)、bytes,或檔案路徑(str/Path)。

origin: 局部座標的原點 (lat0, lon0) [deg]。None 時為最先採用之建築的重心。

max_buildings: 採用的建築數上限(None 為無限制)。達到時停止讀取。

Returns:

{"origin": (lat0, lon0), "buildings": [...], "n_skipped": int, "crs": "EPSG:6697 (lat, lon, alt)"}。每棟建築為

{"id", "footprint" (k,2) float64(局所 x,y[m]、閉じない、反時計回り), "height", "ground_z", "lat", "lon"}(lat/lon 為底面輪廓頂點的平均 = 重心)。

Raises:

ValueError: source 為空/無效、posList 不是 3 的倍數、XML 損壞、

max_buildings 為負、origin 無效。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• gallery_drive_city_terrain — py -3.11 examples/gallery_drive_city_terrain.py

• poc_driving_japan_town — py -3.11 examples/poc_driving_japan_town.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同類別(japan)

osm_synthetic · osm_parse · osm_road_graph · osm_road_mask · osm_road_loops · osm_route · japan_world · japan_stats


*Provenance: driveplateau.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.