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"))
Stream-reads building footprint polygons, heights and ground elevations from PLATEAU CityGML.
Uses iterparse to process each end event of Building (local name), and frees memory with elem.clear() after processing (designed to work even with files of several hundred MB each).
For each building:
• If measuredHeight exists, it is used as the height. Otherwise, the maximum elevation − minimum elevation of lod1Solid.
• Footprint: the posList of lod0FootPrint if present. Otherwise, among all faces of lod1Solid, the face with the lowest mean elevation (LOD1 is an extruded prism, so it has a bottom face).
• posList is read as "latitude longitude elevation" triples in EPSG:6697.
Args:
source: a CityGML string (starting with <), bytes, or a file path (str/Path).
origin: origin (lat0, lon0) [deg] of the local coordinates. If None, the centroid of the first adopted building.
max_buildings: upper limit on the number of buildings adopted (None for unlimited). Reading stops when it is reached.
Returns:
{"origin": (lat0, lon0), "buildings": [...], "n_skipped": int, "crs": "EPSG:6697 (lat, lon, alt)"}. Each building is
{"id", "footprint" (k,2) float64(局所 x,y[m]、閉じない、反時計回り), "height", "ground_z", "lat", "lon"} (lat/lon are the mean of the footprint vertices = centroid).
Raises:
ValueError: source is empty/invalid, posList is not a multiple of 3, the XML is broken,
max_buildings is negative, origin is invalid.
• 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.
• 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 as input)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. 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.