osm_route — DRIVE japan op

• 資料種類:table → table

• 呼叫: import fullseye as fs; fs.ledger.osm_route(graph: 'dict', src: 'int', dst: 'int', *, side: 'str' = 'left', step: 'float' = 0.5, lane_offset=None, signal_setback: 'float' = 1.0, crossing_setback: 'float' = 3.0) -> 'Dict[str, object]'(要直接呼叫實作,import drivejapan; drivejapan.osm_route(graph: 'dict', src: 'int', dst: 'int', *, side: 'str' = 'left', step: 'float' = 0.5, lane_offset=None, signal_setback: 'float' = 1.0, crossing_setback: 'float' = 3.0) -> 'Dict[str, object]';從台帳取用則 opsdrive.get("osm_route"))

用法

把 2 個節點間的最短路(Dijkstra,遵守單行道)轉為車道中心的折線,並依弧長列出停止線。

車道中心 = 將邊的中心線向通行側(side)偏移 寬度/4(雙向道路)或 0(單行道)所得的線(可用 lane_offset 覆寫)。在節點處以相鄰法線的平均值銜接(斜接)。停止線(drivetown.town_run 讀取的形式 {"s", "x", "y", "yaw", "kind", "node", "element"}):

traffic_signals 節點 = "intersection"(在相交道路的半寬 = 路口邊緣之前 signal_setback 處。同一道路的延續不計入),stop / give_way = "stop_sign"(同一位置), level_crossing = "crossing"(在 crossing_setback 之前,crossing_zone = 鐵軌前後 1.5 m)。略過路徑的第一個節點。回傳值 {"kind": "route", "nodes", "edges", "polyline": (K,2), "cum": (K,), "length", "stop_lines", "side", "waypoints": (n,3) 節点の車線中心, "crosswalks": [s]}。Raises ValueError:沒有節點、無法到達、side 不合法。

空輸入(graph 為空 dict)會引發 ValueError。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• 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 · japan_world · japan_stats · latlon_to_local


*Provenance: drivejapan.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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