[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