osm_road_loops — DRIVE japan op

• データ種: table → table

• 呼び出し: import fullseye as fs; fs.ledger.osm_road_loops(roadmask: 'dict', *, tolerance_px: 'float' = 0.75) -> 'Dict[str, object]' (実装を直接呼ぶなら import drivejapan; drivejapan.osm_road_loops(roadmask: 'dict', *, tolerance_px: 'float' = 0.75) -> 'Dict[str, object]'、台帳から引くなら opsdrive.get("osm_road_loops"))

使い方

道路の和集合の境界ループ。外側(道路の縁)と穴(街区)に分け、Douglas–Peucker で間引く。

追跡は画素の辺に沿う(:func:contours_xld._trace_mask_boundaries)ので、間引く前のループの面積の和 = 画素数 × step²

(外側 − 穴)が厳密に成り立つ(`area_check`)。穴か外側かは、ループの最も左の縦の辺のすぐ右の画素が道路かどうかで決める。

返り値 `{"outer": [(K,2) xy], "holes": [(K,2) xy], "outer_raw", "holes_raw", "area_check": {"loops_m2", "pixels_m2", "abs_err"}}`。

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

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

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

• poc_driving_japan_town — py -3.11 examples/poc_driving_japan_town.py

型が繋がる次の 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_route · japan_world · japan_stats · latlon_to_local


*Provenance: drivejapan.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*

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