[OSM-dev] SoC Project: Preprocessor to add altitude information to OSM data

marcus.wolschon at googlemail.com marcus.wolschon at googlemail.com
Thu Apr 9 07:43:40 BST 2009

On Wed, 08 Apr 2009 21:24:32 +0200, "Hermann Kraus" <herm at scribus.info>
> What do you think about this idea: Instead of
> attaching tags to a way I could find all nodes which are shared by more
> than one way and then for each part of a way between two intersection
> create a relation like this:
> type=metainfo
> alt_difference=10.6
> alt_total=27.3
> distance=1032
> with the way and the two intersection nodes as members.
> The distance is easily computed while doing the other processing. So the 

> routing application could skip this step.

Any here are my 2euro-cent....

Sounds like a way to go.
With the relations it would be possible to publish only these new relations
(so anybody can merge them with the corresponding planet-extract
 while also merging other data.) as no existing entities are modified.

I suggest changing the name to make it clear
what point alt_total refers to and if distance is the 2d or 3d distance
in meters.

Also note that not all nodes with a degree >2 are intersections of 2 roads.
It may be something else intersecting (e.g. a node with the sign of a city
may be shared by a road and a polygon surrounding the city or it may be
2 power-lines intersecting).

>> If I am right then rather then your proposal will need closer
>> integration with the routing programme - I think the router will  
>> pre-process
>> the OSM file to calculate distance between junctions - we will want it
>> include altitudes at the same time.
> I explicitly tried to avoid a strong integration with the routers,
> we have more than one and I expect even more in the future. Creating a
> library might be an option, if you think my idea is not really good the
> other way.

I would be willing to add support for your 3d-distance to the metrics
for ShortestWay and StaticFastestWay and for the 3d-distance and and
to my incomplete metric that involves real physics (car accelerating,
maximum speeds in sharp curves, ...). However for applications like this
later metric alt_difference may be misleading as there may be 2 inclines
and 1 decline between the 2 intersections.

> However I still would prefer the preprocessor option since this allows to
> publish planet dumps which have the altitude information. When the  
> processing is done by the router one has to publish data for each router 

> seperatly or the user has to download the SRTM data. I want to make this 

> application as userfriendly as possible and what could be more  
> userfriendly than having a world file (or excerpt of it) which already  
> includes the altitude data.

I agree. a preprocessed dump is good for everyone.

>> I think your proposal to add a relation is an interesting one - it is
>> essentially doing the same thing as the routing program will need to do 

>> for
>> distances - you can imagine doing the same to calculate distance between
>> junctions too, which is what the routing programs will do.   I am still
>> little unsure how much benefit is gained by your proposed way of doing  
>> it,
>> rather than directly incorporating it into a routing program - the  
>> routing
>> program(s) will need to be modified to read your new relations anyway  
>> won't
>> they?

They need support to read the OpenStreetMap anyway and that dump would be
that format. I guess every other format would make it even more difficult
and directly building it into a program would bind it tightly to the
data-structures that one application uses. (They differ widely.)


More information about the dev mailing list