prochitecture / blosm

GNU General Public License v3.0
11 stars 3 forks source link

section.id == 398 is in both street.id == 564 and street.id == 510 #110

Open vvoovv opened 1 month ago

vvoovv commented 1 month ago

File _berlin_karl_marxallee.osm.

polarkernel commented 1 month ago

I need to rewrite createSymSideLanes(). There are two consecutive SymLanes at 794 and 795 in the original sections, because these sections change their categories there. Since intersections are processed one by one, to avoid modifying an iterable during the iteration, two Streets are created, each with one SymLane, both containing the Section with the id 398. Additionally, but I do not yet know if this has any influence, the ways change their direction at 795.

To fix this will take some time.

polarkernel commented 1 month ago

It is impossible to create a Street with sections running in different directions. Therefore, the intersection 795 can't be transformed into a SymLane and be integrated into a Street. Can the GN algorithm handle an intersection with only two streets of different widths? If so, we could even think about doing without SymLanes.

polarkernel commented 1 month ago

I have rewritten createSymSideLanes(), so that it can handle multiple consecutive SymLanes or SideLanes. The case of changing directions of the streets is detected and for now, an Intersection is created instead of a SymLane.

EDIT: There was a bug in this code. The fix is recommitted.