Developed to power Conveyal's web-based interface for scenario planning and land-use/transport accessibility analysis, R5 is our routing engine for multimodal (transit/bike/walk/car) networks with a particular focus on public transit
We should add assertions that destination layers used in regional analysis have fewer than 2 billion opportunities.
With more than 2^31 opportunities, access results run the risk of overflow. We recently caught this with an assertion building the grids to display regional analysis results:
java.lang.IllegalStateException: Opportunity density should never be negative.
at com.google.common.base.Preconditions.checkState(Preconditions.java:512)
at com.conveyal.r5.analyst.Grid.write(Grid.java:303)
But we should fail faster, rather than waiting to violate an assertion after the analysis is complete.
We should add assertions that destination layers used in regional analysis have fewer than 2 billion opportunities.
With more than 2^31 opportunities, access results run the risk of overflow. We recently caught this with an assertion building the grids to display regional analysis results:
But we should fail faster, rather than waiting to violate an assertion after the analysis is complete.