mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-10-28 09:03:46 +08:00
ab81464bd1
Add navigation and map matching providers with the vendored map service sources. Co-authored-by: Daniel Koepping <elkoled@gmail.com> Co-authored-by: Danny <dannyirwin31@yahoo.com> Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu> Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
10 lines
2.1 KiB
Markdown
10 lines
2.1 KiB
Markdown
# Conservative loaded-tile road ambiguity
|
|
|
|
Before retaining a current road or taking a predicted road, mapd checks every way in the currently loaded tile against the current GPS fix. A candidate needs a positive OSM way ID, at least two nodes, and a successful existing `OnWay(fix, 2)` test. That test uses the projected distance, reported horizontal accuracy (with its existing 5 m floor), way width, and one-way/direction rule. Repeated tile records with the same way ID count once. Rank, road class, posted limit, name, and heading alignment do not resolve a tie.
|
|
|
|
No candidates produce `noMatch`. One candidate uses the current loaded tile's way geometry and still has to pass the existing narrower selection threshold to become a new match; the broad 2x ambiguity envelope alone never grants a match. A zero posted limit on a matched way remains `matchedNoLimit`. Two or more distinct IDs produce a neutral invalid `unknown` output. The state clears its current way, upcoming evidence, curve output, accepted/override limit, and numeric map limit before serialization. This applies even when the prior way would pass the sticky check or a predicted way would pass its shortcut. A way retained from another tile cannot be published when the loaded tile has no plausible way.
|
|
|
|
Adjacent OSM ways, junctions, and parallel roads may overlap this conservative uncertainty envelope. Availability will therefore decrease, including some ordinary transitions between adjoining segments. A sole candidate remains unqualified: a tile can omit a road, be stale or wrong, or provide inaccurate geometry/posted limits. This change does not activate the StarPilot SLC map consumer or grant map speed-limit authority.
|
|
|
|
The packed synthetic-tile tests cover parallel and crossing competitors, prior sticky and predicted ways, empty tile and new-fix recovery, duplicate IDs, a sole road admitted only by the broad envelope, genuinely unique direction-sensitive one-way roads, and no posted limit. A 64/256/1024-way benchmark checks enumeration cost; it does not establish worst-case device performance or justify a spatial index.
|