opentripplanner/OpenTripPlanner — pull request #1617 by laurentg (2014-11-15 14:51:17+00:00)
Title: Fix #1605: shared nodes between areas causing hang.

The issue was caused by an infinite loop on handling common nodes between different areas. The code restart the way intersection loop when a node have been created to handle the case where the same segment intersect two segment of a ring. For some P+R areas however, two distinct areas share a common segment (2 nodes shared on two distinct way), causing this loop. We solve the issue by only intersecting with unshared segments. This is safe as topogically if a segment is shared between 2 P+R areas that means that the segment is not part of the outer ring (except if two P+R areas are overlapping, but that should not happen).

Performance-wise I could not test on the whole of the NL (not enough memory on my dev machine: 8GB is not enough), but on a 1x1 degree extract containing Amsterdam, build time is 3.6 minutes and handling unconnected areas takes 9 seconds.