Proposal:Elevation and height
Elevation and Height Tools | |
---|---|
Proposal status: | Abandoned (inactive) |
Proposed by: | Rw |
Tagging: | height=various |
Applies to: | node/way/area/DataLayer |
Definition: | A set of height and elevation tools is proposed. |
Statistics: |
|
Rendered as: | * |
Draft started: | |
Proposed on: | 2008-08-15 |
RFC start: | 2008-08-15 |
Vote start: | 2008-09-15 |
Vote end: | * |
Executive Summary
A set of elevation tags and tools is proposed for OpenStreetMap. These tools will allow users to view and manipulate elevation data in a way that is useful to them without our previous knowledge of their intentions.
Background and Motivation
OpenStreetMap provides a wonderful slippy map interface to OSM mapping data. The slippy map is useful for many typical map users that want to know, “How do I get from A to B?” or “Do I want to turn left or right when I exit the highway.” The slippy map provides a picture of the OSM data in the form of map tiles that are useful across many devices and use cases.
One of the critically important aspects of OSM is that it doesn't stop with just providing a picture of the data. OSM allows access to the raw map data so that atypical users can do weird and wonderful things that weren't anticipated in the initial plans for OpenStreetMap. Users can use the map data, not just look at a picture of that data. It is that access to the real map data that makes wonderful OSM off-shoots like the cycle map possible.
The cycle map takes OSM data and re-renders it with a custom OSM rendering rules. The cycle map emphasizes bicycle-friendly items like posted bike routes, cycle shops and bike racks, while de-emphasizing bicycle-hostile items like super-highways. Highways are still shown since they can be an important landmark, but the map emphasizes the routes that cyclists want to use.
The cycle map also includes contour lines to show elevation changes. The NASA SRTM mission provides public domain elevation data for a large portion of the world. That elevation data is used in the cycle map renderer to generate contour lines. Those contour lines are a useful feature for cyclists and hikers that want to know how much steep climbing they can look forward to on their trip. Just as the OSM Slippy Map provides a picture of the map data to the typical user, the cycle map provides a picture of elevation data to the typical user.
It is time to take a step further and make use of the underlying elevation data, rather than limiting ourselves to looking at a picture of the elevation data.
Proposed Basic Elevation tools for OSM
Elevation at a point
The simplest use case is “tell me what the elevation is at this point.” The slippy map elevation tool will read elevation data from the data base and display the elevation at a selected point of interest.
INPUT nodeID OUTPUT {nodeID,} lat, lon, elevation
Elevation of a point with height parameter
Take the basic case of the elevation of the ground and add the height of the point of interest. Return a final elevation of the combined values. When multiple height parameters are provided, make them available.
building = yes name = CN Tower height = 553.3 height:SkyPod = 446.5 height:Restaurant = 350.8
man_made = tower name = West Guilford communication antenna height = 100 height:Ant1E = 90 height:Ant1W = 89 height:Ant2N = 88 height:Ant2S = 83
Elevation at multiple points
Multiple POIs are selected and the tool displays the elevation at each point.
INPUT nodeID [, nodeID] ... OUTPUT [nodeID,] lat, lon, elevation {[, nodeID], lat, lon, elevation} ...
Elevation profile along a way
The user selects a way and the elevation tool returns all of the elevation data associated with that way. The data is provided as a series of elevations and / or statistics. Hikers and cyclists want to know how much climbing and descending they face on a trip. Freight companies may want to compare highway routes for the flattest routes to decrease fuel use.
INPUT wayID [max number of values to return] OUTPUT [wayID,] [number of values returned,] lat, lon, elevation {, lat, lon, elevation} ... [min] [max] [accumulated climb] [accumulated descent]
Elevation profile graph
Return the elevation along a way data as a graph. Cool data like this wants to be displayed as a picture. Elevation profile graphs are great for stages in the Tour de France and interesting to hikers, cyclists, cross country and downhill skiers.
Elevation profile on a relation / route
Extend the elevation profile tool to work with collections of ways like relations, or routes.
Elevation profile along a relation / route as a graph
Extend the elevation profile tool to work with collections of ways like relations, or routes.
Proposed Intermediate Elevation Tools for OSM
Line of Sight
Hey, Peter, I can see your house from here!
Line of sight calculations are interesting for communication and privacy. Is this antenna tower in the right place? How tall should I grow my hedge? With basic elevation and height functions from above, line of sight is just another step away.
Point to Point
Select two points of interest and ask if they can see each other? An answer is great and a picture of the answer is even more interesting.
INPUT [POI1 POI2] [lat1, lon1, elevation1, height1, lat2 lon2, elevation2, height2] OUTPUT [bool] [profile graph]
Point to Way
Select a POI and a way. Can the POI be seen from any location along that way? Will the car headlights form the highway shine into my bedroom windows?
Point to Area
Can this hotel room see the marina? What percentage of the marina?
Area to Area
The Hatfields and the McCoys have had enough of the quarreling. They decide to build a hedgerow so that their property can't be seen from the other property. How tall must the hedgerow be?
Proposed Advanced Elevation Tools for OSM
Line of Sight Heatmap
How about a heat map showing how much of each area can be observed by what proportion of the other?
- What's your denominator in "proportion"? Should, for instance, Alaska be in the denominator for every area in Russia? Ipofanes 16:49, 17 December 2008 (UTC)
Discussion
This Route profiles GSOC project addresses part of this request / proposal.