japan optable → tableimport 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。
py -3.11 examples/poc_driving_japan_town.pytable を入力に取れる)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 operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.