The OSMLR process (as does the OSMLR creation process) relies on [Valhalla](https://github.com/valhalla) libraries and data. This provides a "routing graph" from which intersections and sections of road between intersections can easily be derived. Valhalla includes a process to "associate" or match OSMLR Ids and segment definitions to Valhalla edges (or portions of edges). This association can be performed multiple times against an existing OSMLR definition as the underying map data is updated. The association process matches OSMLR segments to roads within specific *tolerances*. These tolerances include how closely the OSMLR Location Reference Points (LRP) match to Valhalla edges and intersections. It also includes tolerances for how closely headings match at LRPs and how closely lengths of the road segment between LRPs match the OSMLR segment definition. Usually the road network data changes slowly (especially on more established, higher classification roads) and the large majority of OSMLR segments properly match the updated Valhalla road graph data. However, some data updates will force existing segments to be deprecated/deleted as the changes result in no matching roads to be found within tolerance of the OSMLR segment. These deleted segments may result in new, replacement OSMLR segments with unique Ids. Also, data updates may represent newly constructed roads (or newly added to the base data) which require new OSMLR segments.
0 commit comments