nptscot / npw

https://nptscot.github.io/npw/
Apache License 2.0
0 stars 0 forks source link

Incorporate gradient data #38

Open dabreegster opened 1 week ago

dabreegster commented 1 week ago

Cici's WIP spec shows the gradient for a route. It's also an input into edge cost functions #29 and needed to match the prebaked route network #37.

First we have to choose how to get the gradient data per road -- not just for existing segments in OSM, but also dynamically for newly constructed roads. I've used https://www.ordnancesurvey.co.uk/products/os-terrain-50 previously; is there anything better openly available? And to determine the average or max gradient along a long road, any particular sampling approach to take? I've found https://rpackage.cyclestreets.net/reference/smooth_with_cutoffs.html as one reference.

Then we have to agree how the gradient data is used. I've calculated slope factors for the forwards and backwards direction using https://github.com/Urban-Analytics-Technology-Platform/od2net/blob/98621315440d93f50690de13af122c9d5ceb82c5/od2net/src/network/mod.rs#L211, courtesy @temospena. That factor is multiplied by the length in meters, before further penalizing for level of service.

CC @mvl22