plateau_parse — DRIVE japan op

• Data kinds: any → table

• Call: 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]' (to call the implementation directly, import driveplateau; driveplateau.plateau_parse(source: 'str | Path | bytes', *, origin: 'tuple[float, float] | None' = None, max_buildings: 'int | None' = None) -> 'dict[str, Any]'; from the registry, opsdrive.get("plateau_parse"))

Usage

> This operator's description has not been translated yet. The original text follows as it is.

PLATEAU CityGML から建物の足元多角形・高さ・底面標高をストリーム読みする。

`iterparse で Building`(ローカル名)の end イベントごとに処理し、

処理後 `elem.clear()` でメモリを解放する(1 ファイル数百 MB でも動く設計)。

建物ごとに:

• `measuredHeight があれば高さに使う。無ければ lod1Solid` の最大標高 − 最小標高。

• 足元: `lod0FootPrint があればその posList。無ければ lod1Solid` の全面のうち

平均標高が最も低い面(LOD1 は押し出し柱なので底面がある)。

• posList は EPSG:6697 の「緯度 経度 標高」3 つ組として読む。

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 が不正。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_driving_japan_town — py -3.11 examples/poc_driving_japan_town.py

Ops the type connects to (they accept table as input)

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

Same category (japan)

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


*Provenance: driveplateau.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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