GithubHelp home page GithubHelp logo

Per-edge Elevation Profiles about r5 HOT 6 CLOSED

conveyal avatar conveyal commented on July 17, 2024
Per-edge Elevation Profiles

from r5.

Comments (6)

abyrd avatar abyrd commented on July 17, 2024 2

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).

from r5.

ansoncfit avatar ansoncfit commented on July 17, 2024 1

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.

from r5.

ansoncfit avatar ansoncfit commented on July 17, 2024 1

⛰ implemented in #782

from r5.

rafapereirabr avatar rafapereirabr commented on July 17, 2024

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

from r5.

rafapereirabr avatar rafapereirabr commented on July 17, 2024

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

from r5.

xtimbeau avatar xtimbeau commented on July 17, 2024

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

from r5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.