Skip to content

Use startOsmNode/endOsmNode to fix barrier node graph gaps#25

Merged
bnaul merged 3 commits intomainfrom
vertex_cols
Mar 25, 2026
Merged

Use startOsmNode/endOsmNode to fix barrier node graph gaps#25
bnaul merged 3 commits intomainfrom
vertex_cols

Conversation

@bnaul
Copy link
Copy Markdown
Contributor

@bnaul bnaul commented Mar 24, 2026

Summary

  • The OSM export assigns different internal vertex IDs (startVertex/endVertex) to the same physical intersection at barrier nodes (gates, bollards), creating disconnected gaps in the road graph
  • The loader now keys graph nodes on startOsmNode/endOsmNode instead, which resolve barrier splits back to the original OSM node ID

Root cause

OSM way 413669941 (a secondary road in NM) is split into segments at a barrier point. Segments _0 and _1 meet at the same coordinates but use different vertex IDs (66538974 vs 66538975), with no edge connecting them. The startOsmNode/endOsmNode columns both resolve to the shared OSM node 4149455795.

This caused OpenLR decode failures ("No valid path found between points 1 and 2") when the only bypass route used service roads filtered out by ALLOWS_CAR.

Test plan

  • All 57 existing tests pass
  • Verify decode of C7Ss1RgrDyOduepbIK8jn7n61iS9I5+5/twlaCMY succeeds in openlr-web with NM network using startOsmNode/endOsmNode columns

🤖 Generated with Claude Code

bnaul and others added 3 commits March 24, 2026 18:51
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…/endVertex

The OSM export assigns different internal vertex IDs to the same physical
intersection at barrier nodes (gates, bollards), creating disconnected gaps
in the graph. The startOsmNode/endOsmNode columns resolve these splits back
to the original OSM node ID, so both sides of a barrier share the same node.

The loader now prefers startOsmNode/endOsmNode and falls back to
startVertex/endVertex for backwards compatibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bnaul bnaul merged commit 0edd3fb into main Mar 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant