You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As discovered by @zhudelong, the mapping from node-based edges to edge-based nodes (osrm.cnbg_to_ebg) does not include the duplicate nodes used to represent turn restrictions.
The MLD partitioner uses this mapping to assign nodes to a partition. Duplicate restriction nodes are not assigned, and end up in a special "invalid" partition.
This special partition will break the spatial properties of the multi-level hierarchy - the partition and its super levels will have a large number of border nodes and very few internal paths between them. This will bloat the hierarchy and make queries slower due to reduced data locality.
This issue will have existed since via way restriction support was added in #4255, but will have become more prominent with the support of multi-via way restrictions in #5907.
Fix
As osrm.cnbg_to_ebg is only used by the MLD partitioner, this can be fixed by simply including the duplicate restriction nodes in the mapping.
The text was updated successfully, but these errors were encountered:
Issue
As discovered by @zhudelong, the mapping from node-based edges to edge-based nodes (
osrm.cnbg_to_ebg
) does not include the duplicate nodes used to represent turn restrictions.The MLD partitioner uses this mapping to assign nodes to a partition. Duplicate restriction nodes are not assigned, and end up in a special "invalid" partition.
osrm-backend/src/partitioner/partitioner.cpp
Lines 102 to 119 in f7478ba
This special partition will break the spatial properties of the multi-level hierarchy - the partition and its super levels will have a large number of border nodes and very few internal paths between them. This will bloat the hierarchy and make queries slower due to reduced data locality.
This issue will have existed since via way restriction support was added in #4255, but will have become more prominent with the support of multi-via way restrictions in #5907.
Fix
As
osrm.cnbg_to_ebg
is only used by the MLD partitioner, this can be fixed by simply including the duplicate restriction nodes in the mapping.The text was updated successfully, but these errors were encountered: