bcgov / ols-router

BC Advanced Route Planner
https://bcgov.github.io/ols-router/
Apache License 2.0
23 stars 11 forks source link

GDF Test 13 failed in delivery with April 2020 data #279

Closed mraross closed 3 years ago

mraross commented 4 years ago

GDF Test 13 Starting from a strata road 925 Main St, West Vancouver 1564 Argyle Ave, West Vancouver

in production with march 2020 data:

image.png

in delivery with april 2020 data:

image.png

mraross commented 4 years ago

This happened previously because of a strata road GDF factor that was too high. See:

https://github.com/bcgov/ols-router/issues/239

The strata road GDF factor for trucks used in this test is 1.1 which is lower than the 1.2 used to fix this problem last time.

cmhodgson commented 4 years ago

It works if you tune down the truck route multiplier. The speed limit on that segment is 20 or 25 km/h, which means that you can travel 18 times further on a 50km/h road that is a truck route to avoid travelling on that segment. This is a general problem with using "fastest" when what we really mean is "shortest, but avoid turns" . I guess if this worked in the previous data it must be either some change to the segments (eg. speed limit) or an LDF issue. I hadn't previously considered how much speed limits affect the multiplier in a fastest scenario like this, I wonder if there isn't something smarter we could do.

mraross commented 4 years ago

Agreed but in the meantime, Graeme can you please determine what's changed?

gleeming commented 4 years ago

In March we provided the full cut of router-ready input data to DataBC. In April we only supplied the custom reconciled files for RoutableBC Maker, and DataBC generated the build.

I am concerned that something is odd with the result from April because there should be a U-turn restriction at the far north of the path preventing that route (Taylor Way just past TCH). If it were in your router, I suspect that the test would pass.

Can you search your March and April turn_restrictions.csv files for 164221|44361|164401|44333|2554773 -- this should be the EDGE_NODE_SET value for a uturn restriction at Taylor Way. Also how many rows are in your April turn_restrictions.csv file?

BK01 commented 4 years ago

The following EDGE_NODE_SET value is not found in DataBC's March or April turn_restriction or turn_classes file (164221|44361|164401|44333|2554773).

Row counts:

March: turn_restrictions.csv = 19,803 turn_classes.csv = 1,249,349

April: turn_restrictions.csv = 19,803 turn_classes.csv = 1,275,702

gleeming commented 4 years ago

There was a turning lane added in April, so the March data actually had a different version of this particular uturn restriction: 164221|44361|164401|44333|166260. This may be useful as your April counts should not be the same as the March -- I suspect they are the same file (check file dates and search for the previous restriction string). Our April turn_restrictions,csv file has 20987 rows.

BK01 commented 4 years ago

Confirmed. The two files are the same and both have the same edge-node-set value.

cmhodgson commented 4 years ago

So just to be clear, that is bad, and means that you either didn't copy the new turn_restrictions.csv file from the output of the routeablebc maker to the dlv data directory, or that you ran the routeableBC make against the old data. Given that you have a new, different, larger, turn_classes.csv, it seems likely that you did run routeableBC maker against the new data, meaning the issue may be just somewhere in the copying?

BK01 commented 4 years ago

We will trace back the file to the original April 23rd delivery of the turn file and compare to the file in the router start-up location. I agree that it appears the routeablebc maker ran against new data but with the March turn file.

gleeming commented 4 years ago

That delivery also included the LDF, truck notice, events and GTFS files. These should all end up in the router start-up location. In addition the GTFS set (along with custom turn restrictions) should also be part of the routableBC maker inputs.

BK01 commented 4 years ago

@mraross The issue should now be resolved. Verified using April data with the DLV router at https://ols-demo.apps.gov.bc.ca/index.html?rt=dlv (Geocoder PROD used as Geocoder DLV is being prepped at street-level)

mraross commented 4 years ago

GDF Test Case 13 verified in router delivery and geocoder prod with April data using:

https://ols-demo.apps.gov.bc.ca/index.html?rt=dlv

as suggested by Brian above. Thanks Brian.

BK01 commented 4 years ago

New file details.

March: turn_restrictions.csv = 19,803 turn_classes.csv = 1,249,349

April: turn_restrictions.csv = 20,987 turn_classes.csv = 1,275,702

gleeming commented 4 years ago

The April counts match those we generated. For the May data, I have already run the suite of tests against our dev server. When DataBC processes it later this month in delivery I will run the same tests and make sure they have identical results.