fullseye

plateau_parse — DRIVE japan op

使い方

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

iterparse で Building(ローカル名)の end イベントごとに処理し、 処理後 elem.clear() でメモリを解放する(1 ファイル数百 MB でも動く設計)。

建物ごとに:

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

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(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 operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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