Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Per-edge Elevation Profiles #47

Closed
mattwigway opened this issue Dec 11, 2015 · 6 comments
Closed

Per-edge Elevation Profiles #47

mattwigway opened this issue Dec 11, 2015 · 6 comments
Labels
p1 Priority level 1: high, but not the top t2 Time level 2: think weeks

Comments

@mattwigway
Copy link
Contributor

mattwigway commented Dec 11, 2015

[As of late 2021 this is a development priority.]

[Original description from 2015]: This is a low priority, but we eventually want to import elevation data for use in routing and Modeify.

@rafapereirabr
Copy link

rafapereirabr commented Sep 26, 2020

Hi @mattwigway and @ansoncfit , are there any updates on this issue?

@rafapereirabr
Copy link

Hi guys. Just for the record, @mvpsaraiva did a quick analysis a couple months ago looking at how elevation affects walking and cycling travel times for different routing engines, with OTP, R5 and dodgr. The text is in Portuguese, but only by looking at the maps you will see some expected results:

  • Ignoring elevation will generally underestimate travel times, and consequently overestimate accessibility
  • When ignoring elevation, dodgr and R5 have similar results
  • When accounting for elevation, dodgr and OTP have similar results

@xtimbeau
Copy link

Thanks for the link. The results are quite striking and elevation is indeed an important factor for bikes (however, not much can be done interm of infrastructure, except with rent and ride systems and transport of parked bikes from low to high elevation.
Any idea on if elevation wise calculation has been/will be implemented in R5 ?
XT

@ansoncfit
Copy link
Member

Hi @rafapereirabr and @xtimbeau,

Thanks for the notes/questions. We have preliminary workflows in place to account for slope in walking/cycling results, and we are hoping to refine them.

In general, our approach is to read an elevation raster in a pre-processing step, add relevant attributes to OSM edges, then use the custom OSM edge attributes in R5. Our proof-of-concept uses the elevation and generalized cost scripts in https://github.com/RSGInc/ladot_analysis_dataprep, as described in https://docs.conveyal.com/learn-more/generalized-cost. The slope bins are somewhat crude, but they were needed to meet requirements of a specific project. We eventually plan to store elevation profiles for each edge, and use a continuous function to adjust walking/cycling speed rather than these bins, but we are still working through funding and collaboration options for this effort.

@abyrd
Copy link
Member

abyrd commented Jul 29, 2021

An update for @mvpsaraiva @rafapereirabr and @xtimbeau - I am currently working on elevation raster loading, producing per-edge elevation profiles and applying speed coefficients. This is similar to your DEM raster processing at https://github.com/ipeaGIT/r5r/blob/master/r-package/R/elevation_utils.R, but samples the elevation at regular intervals along the edge and calculates slope and coefficient independently for each segment. Hiking functions such as Tobler's are not linear or symmetric around 0 slope (gently sloping downhill walking is easiest) so the combined effect of these small segments can differ significantly from that of the net elevation change across the whole edge. This also allows re-splitting the edges and recalculating their coefficients when we apply scenarios in Conveyal (insert transit stops or roads).

@trevorgerhardt trevorgerhardt added p2 Priority level 2: medium priority, ideally next release t2 Time level 2: think weeks labels Nov 24, 2021
@abyrd abyrd changed the title Elevation Per-edge Elevation Profiles Nov 24, 2021
@abyrd abyrd added p1 Priority level 1: high, but not the top and removed p2 Priority level 2: medium priority, ideally next release labels Nov 24, 2021
@ansoncfit
Copy link
Member

⛰ implemented in #782

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p1 Priority level 1: high, but not the top t2 Time level 2: think weeks
Projects
None yet
Development

No branches or pull requests

6 participants