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() 로 메모리를 해제한다(파일 1 개가 수백 MB 여도 동작하는 설계).
건물마다:
• measuredHeight 가 있으면 높이로 사용. 없으면 lod1Solid 의 최대 표고 − 최소 표고.
• 발자국(footprint): 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 이 부정.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.