[OSM-talk] GDF (was: prohibited manoeuvres)

Frederik Ramm frederik at remote.org
Thu Feb 8 11:18:40 GMT 2007


Hi,

> Here is a simple but common example off the top of my head.  
> apologies for
> the poor ascii art... this is two dual carriageways meeting at a  
> crossroads.
> The prohibited manoeuvre is "no u turn" from A to B. This is 3  
> segments/2
> nodes.

It's an immensely complex topic. Prohibited maneouvres could also  
include rules for different lanes, a concept that is still unused in  
OSM mapping.

I have had a close look at data models in use for routing, and found  
that the two big data providers (TeleAtlas and NavTeq) use the same  
model, called GDF ("Geographic Data Files").

GDF is two things at the same time: a data (transport) format (which  
is very ugly, fixed-column-width-ASCII-based, looks like it's been  
spit out by a mainframe system, and luckily of little relevance for  
us) and a data model. It is also a CEN and ISO standard (ISO14825:2004).

GDF information is hard to find on the web although the GDF data  
model is used in almost all current navigation systems. An overview  
is here (don't be alarmed by last modification times of some time in  
1996 - road traffic hasn't fundamentally changed since):

http://www.ertico.com/en/links/links/gdf_-_geographic_data_files.htm

I implore anybody thinking about how to properly model things like  
prohibited maneouvres to read the details about the data model,  
linked from above page - it is really worth the time:

http://www.ertico.com/download/misc/GDF/TOC1-5.pdf
http://www.ertico.com/download/misc/GDF/PR6.pdf
http://www.ertico.com/download/misc/GDF/PR7-9.pdf
http://www.ertico.com/download/misc/GDF/PR10-12.pdf

As you will see, GDF supports features (much like our nodes and ways,  
with a little more complexity) and attributes (much like our tags),  
but it has two additional important concepts: realationships and  
restrictions. Attributes can be restricted to a part of the object.  
For example, the attribute "road width" could be 8 metres for the  
first km of the road and 12 metres for the rest, without having to  
split the road in two.

Such restrictions can also be based on lanes, e.g. you can have a  
road with "max speed = 50mph", where the "max speed" attribute is  
combined with a "lane dependent validity" restriction, making it  
applicable only for the left lane.

Maneouvres are modelled as relationships between features, and they,  
in turn, may carry restrictions. So you can have a relationship  
between two roads meeting at a crossroads that describes the  
possibility of a turn, but this relationship can then be restricted  
("not 8am-7pm (except buses and cycles)").

I am not saying that we should aim to implement the full  
functionality of the GDF data model (at least not at present), but  
almost any question that will sooner or later pop up when you think  
about routing has already been solved - or, at least, given thought -  
there. So even if we do it differently, it is still worthwile to know  
how others do it, especially if those "others" supply map data to 90%  
of the world's navigation systems.

Further reads for people interested in the field may be

http://www.geoit.ethz.ch/staff/PDF/Joachim/2003_iain_baldegger.pdf  
(this is mainly about pedestrian routing)

and

http://www.safe.com/services/formats/GDF_Presentation.zip (a somewhat  
superficial PowerPoint presentation).

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'






More information about the talk mailing list