Comments (6)
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.
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.
⛰ implemented in #782
from r5.
Hi @mattwigway and @ansoncfit , are there any updates on this issue?
from r5.
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.
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)
- r5 analysis problem HOT 1
- Make TransferAllowance an interface
- Readme in docs/README.r5.md still relevant?
- Send IDs for origin and destination pointsets in HTTP API
- Improve error messages on small/large GIS features
- Support uploading Shapefiles as a single .zip HOT 1
- Extra minute of wait time?
- Unsupported Operation on single point with decay function HOT 2
- Routes added by modifications are not recognizable in paths output HOT 1
- Return warning when decay function is above 0 at maximum cutoff
- Selected-link analysis for assignment HOT 1
- Incorrect display of regional results referencing deleted destination grids
- Some fields of CSV writers are not initialized while headers are written
- User chooses to take a long boomerang transfer at a far away station rather than walk across the street
- Reduce errors sent to broker HOT 2
- A feed_id for regional analysis path results HOT 6
- Check number of opportunities in destination layers used for regional analysis
- Human-readable names for destination layers in CSV output HOT 1
- Transit layer loaded but numerous "ERROR c.c.r.s.StreetLayer" errors (r5r)
- Snapped distance not being calculated as crow flies "walking" distance (r5r) HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from r5.