argo-marketplace / RadRoads

Using OSMnx to find Rad Streets in any city! - https://medium.com/a-r-g-o/rad-roads-using-osmnx-68fc8b15f046
MIT License
11 stars 4 forks source link

Steepest streets. #18

Open vr00n opened 6 years ago

vr00n commented 6 years ago

Placeholder to tackle later.

https://twitter.com/latimes/status/981597314270859264?s=20

How to submit an issue?

jazzzchan commented 6 years ago

if this issue is opened to tackle the slope problem. From OSMnx there are two methods to calculate the slope(elevation degree) .

  1. Elevation between nodes
  2. Grades (ratio of elevation / edges length) between edges.

For this problem solely I think elevation between nodes is enough but really depends on what this issue is trying to solve?

ywnch commented 6 years ago

would be interesting to see what data Google used

2018-04-09 17 23 45
jazzzchan commented 6 years ago

They (Google earth) use Grade % calculation by the way

vr00n commented 6 years ago

Google Maps has something called Elevations API . - https://developers.google.com/maps/documentation/elevation/start

BUT

there is an OPEN source alternative! https://open-elevation.com/

ALSO run the below on http://overpass-turbo.eu/ a querying engine for Open Street Maps. These are individual users adding the inclination tag to a few streets only.

[out:json][timeout:45];
(
  way["incline"]({{bbox}});
);
out body;
>;
out skel qt;

It would be amazing if we are able to contribute to Open Street Maps by automatically attaching inclination information based on the Open Elevation API.

OSM definition of Key=Incline https://wiki.openstreetmap.org/wiki/Key:incline

patwater commented 6 years ago

This is so cool! Glad you all are exploring this :)

vr00n commented 6 years ago

POC:

  1. For every OSM way (how a street segment is represented in OSM jargon) get the lat/long of start-node and end-node
  2. Compute elevation of start-node via https://api.open-elevation.com/api/v1/lookup?locations=lat,long
  3. Compute elevation of end-node via https://api.open-elevation.com/api/v1/lookup?locations=lat,long
  4. Calculate inclination grade.
  5. Output top-5 steepest in radroads.py

  6. Submit to OSM - https://wiki.openstreetmap.org/wiki/Automated_edits