citygml_synthetic — DRIVE japan op

• Data kinds: कोई नहीं → any (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.citygml_synthetic(n: 'int' = 4, *, origin: 'tuple[float, float]' = (35.6716, 139.765), spacing: 'float' = 30.0, size: 'float' = 12.0, heights: 'Sequence[float] | None' = None, ground_z: 'float' = 0.0, omit_measured_height: 'Iterable[int]' = (), use_lod0_footprint: 'bool' = False, ns_building: 'str' = 'http://www.opengis.net/citygml/building/2.0') -> 'str' (implementation को सीधे call करना हो तो import driveplateau; driveplateau.citygml_synthetic(n: 'int' = 4, *, origin: 'tuple[float, float]' = (35.6716, 139.765), spacing: 'float' = 30.0, size: 'float' = 12.0, heights: 'Sequence[float] | None' = None, ground_z: 'float' = 0.0, omit_measured_height: 'Iterable[int]' = (), use_lod0_footprint: 'bool' = False, ns_building: 'str' = 'http://www.opengis.net/citygml/building/2.0') -> 'str', registry से लेना हो तो opsdrive.get("citygml_synthetic"))

उपयोग

असली जैसी ही संरचना वाला न्यूनतम CityGML 2.0 string बनाता है (tests और demos के लिए)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

建物は size [m] の正方形を spacing [m] 間隔で x 方向に並べ、各建物に bldg:measuredHeight と bldg:lod1Solid > gml:Solid > gml:exterior > gml:CompositeSurface > gml:surfaceMember × 6 > gml:Polygon > gml:exterior > gml:LinearRing > gml:posList(底面 + 側面 4 + 天面、lat lon alt の順)を書く。等距円筒近似は線形なので、局所座標で作った正方形は読み戻すと面積が size² に一致する。

Args:

n: 建物数(≥ 0)。

origin: 建物 0 の中心の (lat, lon) [deg]。

spacing: 建物中心の間隔 [m]。

size: 正方形の一辺 [m]。

heights: 各建物の高さ [m]。None なら 10 + 5*i。

ground_z: 底面の標高 [m]。

omit_measured_height: この添字の建物では measuredHeight を書かない。

use_lod0_footprint: True なら lod1Solid の前に lod0FootPrint(底面のみ)も書く。

ns_building: bldg 名前空間 URI(版違いの試験用に差し替え可)。

Returns:

UTF-8 で書き出せる CityGML 文字列。

Raises:

ValueError: n が負、size/spacing が非正、heights の長さ不一致や非正。

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_driving_japan_town — py -3.11 examples/poc_driving_japan_town.py

वे अगले ops जिनसे type जुड़ता है (any को input के रूप में लेते हैं)

course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road

इसी 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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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