Geographic Data Files (GDF for short) is an international standard for the creation, modeling, updating, supply and application of referenced and structured road network data. GDF defines both a model together with a defined set of terms and then also a file interchange format. The modeling approach is very applicable to OSM, the'1970's era' file transfer protocol is not.
The GDF Model
The GDF standard breaks the transport model down into three level to support different uses and representations of the data.
- Level 0 models the basic physical infrastructure.
- Level 1 models the transport system as a links/nodes graph using 'Road Elements', 'Junctions' and 'Ferry Connections' in a manner suitable for routing.
- Level 2 models the same infrastructure as a simplified links/nodes graph using 'Interchanges' (for both simple and complex junctions) and 'Roads' for the elements that connect them. Level 2 is suitable for providing instruction to drivers and for some mapping purposes.
Level 0 (Geometry)
A simple description of the transport infrastructure 'where the rubber hits the tarmac' based on straight lines (also called Segments) for roads, tracks, footways, cycleways, railways etc and the nodes that link them together at a defined location (a curved section of road is represented using a suitable number of straight Segments). There is a direct analogy between this level and OSM's old Segments and Nodes model.
To quote from the standard:
18.104.22.168 Level 0: The Geometry
"Level 0 describes the geometry of the map in terms of the cartographic primitives. It breaks the map down into its most basic form for representation. All elements of the map must therefore be represented in two dimensions on a single plane, i.e. as “planar”. Curved shapes have to be represented by a series of segmented straight lines. These segments, however, are not represented in an explicit form. Instead, a segmented shape is described by an ordered sequence of Intermediate Points. Each pair of consecutive Intermediate Points bounds exactly one Segment.
Level 1 (Routing)
Level 1 might be used for transport routing purposes.
The network is described at Level 1 using 'Road Elements', 'Junctions' and 'Ferry connections'.
A Road Element describes a section of transport infrastructure between two Junctions and is associated with an ordered list of one or more Segments (at Level 0) that describes the physical path on the ground. A Road Element can be associated with many attributes (such as width, vehicle class, one_way, speed limits etc) and has a geometry.
A Junction is a place either where either three or more Road Elements converge, or alternatively a place where the physical characteristics of the road changes and hence the different parts need different Attributes. Junctions can also have associated Attributes.
A Ferry Connection describes a connections between two Junctions on the road network where a service (such as a ferry, train etc) is available to transport a person or vehicle between the two Junctions. It is defined as "A vehicle transport facility between two fixed locations on the road network and which uses a prescribed mode of transport, for example, ship or train".
A Road Element in GDF is modeled using a Way in OSM although a Way in OSM can represent two or more Road Elements.
A Junction in GDF is modeled as a node in OSM, although nodes in OSM are also used to define the shape of the Road Element.
A Ferry Connection is modeled in OSM using Routes.
Level 2 (Driver instruction/mapping)
The level 2 description of the model is suitable to providing driver instruction, 'turn left onto the A124 at the next junction'. It is also relevant for generating summary maps where single nodes are required for complex features.
The network is described at Level 2 using 'Intersections', 'Roads' and 'Ferries'.
An Intersection may be to a simple T junction, or cross-roads or may relate to complex arrangement of elementssuch as a clover-leaf design, a larger traffic signal controlled junction or a magic roundabout. Intersections form nodes in the level 2 graph.
A Road provides a connection between two Intersections and can be constructed from zero or more Road Element. It will often consist of a single Level 1 Road Element, however a Road can also be constructed from two Road Elements that form a dual carriageway, a combination of sections of dual carriageway and single carriageways into a single logical Road element. In some less frequent situations a Road has no associated Road Elements and links two neighbouring Intersections directly. Roads form the edge/link in the graph.
A Ferry forms a link in the graph to connect a number of Intersections. A Ferry is made up of one or more Ferry Connections from level 1.
An Aggregated Way element is also available at level 2 and is used to indicate that a number of Road Elements and Junctions form part of a larger feature (for example the 'M11').
OSM has no specific level structure, however some of the same issues are addressed.
An Road in GDF is similar to the 'Dual Carriageway relation' in OSM, however a Road can be made up of a section of Dual Carriageway and/or a section of single track road.
An Intersection in GDF is similar to the OSM 'Junction' relation.
A Ferry in GDF is not modeled directly in OSM, although a Route can be used to model some linear 'Ferry' services at would be simple to use a relation to implement this feature.
This section lists the key Attributes for the two primary feature types (Road Elements and Junctions). The OSM term for the same concept is given in quotes. This is followed by a description of the GDF relationship attributes.
Road Element (main attributes)
- Alternative Name, list of (text + language code) - "loc_name/old_name/..."
- Construction Status
- Direction of Traffic Flow - "oneway/access/..."
- Functional Road Class - "highway"
- Max Height Allowed - "maxheight"
- Max Length Allowed - "maxlength"
- Max Total Weight allowed
- Max Weight Per Axle Allowed
- Max Width Allowed - "maxwidth"
- Measured Length
- National Road Class
- Passing Restriction - "access/..."
- Official Name, list of (text + language code) - "name"
- Operating Period
- Route Number "ref/int_ref/..."
- RDS/TMC Coding
- Speed Restrictions - "maxspeed/minspeed"
- Toll Road - "toll"
Junction (main attributes)
- Alternative Name
- Junction Type
- Official Name - "name"
The following relationship attributes are defined
- 'in' (Road Element 'is in' Administrative Area, Administrative Area 'is in' Administrative Area)
- 'along' (Building 'along' Built-up Area, Service 'along' Road Element, Traffic Sign 'along' Road Element)
- 'at' (Service 'at' Junction)
- 'leading to' (Road Element 'leading to' Enclosed Traffic Area)
- 'belongs to' (Centre Point of Feature 'belongs to' Feature)
- 'related to'
In addition to the above, there are also some specific relationships
- Prohibited Manoeuvre (two or more ordered Road Elements and a Junction)
- Restricted Manoeuvre (two or more ordered Road Elements and a Junction)
- Priority Manoeuvre (two or more ordered Road Elements and a Junction)
- Grade Separated Crossing (two Transportation Elements representing the upper and the lower object, one can be left empty, and an Element with a name and a bridge or tunnel Attribute)
- Divided Junction
Relationship Attributes are used to define relationships between elements. For example:
- Road Element X 'is administered by' Y
- 'There is a restricted maneuver between Road Element' X 'and Road Element' Y 'through Junction' Z
Attributes may be conditional on any combination of three distinct conditions.
- Time dependency: The following attribute(s) only apply between 'xx:xx' and 'yy:yy'
- Lane Dependency: The following attribute(s) only apply to Lane X
- Vehicle Dependency: The following attribute(s) only apply to Vehicle types 'VVV,WWW,ZZZ'
- Only buses can use Lane '1'
- Only usable between '7am' and '7pm'
- Lane '1' only available for 'Buses' and 'Taxis' and 'cycles' between '7am' and '10am'
- No access to Road Element 'X' from Road Element 'Y' through Junction 'Z' for vehicles where VehicleLength>'L'
- No access to Road Element 'X' from Road Element 'Y' through Junction 'Z' between '4pm' and '6pm'
Relevance to OSM
GDF is a standard that offers ready made solutions to many of OSM's current concerns (and other likely future concerns):
- Restricted maneuvers: The model has an elegant way of describing restricted (or prohibited) maneuvers 'no left turn'.
- Lane dependent attributes: It is possibly to apply different attributes to different lanes on a road 'buses only in Lane 1'
- Time dependent attributes: It is possible to apply time limitations to attributes 'Buses only from 7am to 9:30am and 4pm to 6:15pm'
- Vehicle dependent attributes: It is possible to apply vehicle restrictions (vehicle type, or vehicle length/weight/width etc) 'No left turn for vehicles over x meters long'.
- Street furniture: It is possible to associate features (such as letter boxes, bus stops, buildings) along a Road Element by saying 'feature X is Y meters along the road and offset Z meters to the left/right'.
- 'Super Ways': Aggregated Ways are used to describe larger features (such as a motorway).
- Construction status: Any feature can be marked as 'planned' or 'under-construction'.
- Complex bridges etc: A way of defining a single bridge/tunnel/viaduct that is used by more than traffic crossing.
- Enclosed traffic area: An area which can be used for unstructured traffic movements (a large square for unstructured vehicle movements, or a park for unstructured pedestrian movement).
- Acceptance by professional users: Uptake by professional users would be greater if we based our model on international standards.
The original standard was developed by organisations including Daimler Benz, Philips, Bosch, Siemens, TeleAtlas and Volvo as an CEN standard in 1995. It has more recently been updated and adopted as an ISO standard (ISO 14825:2004). It is used by commercial mapping companies such as AND Automotive Navigation Data, NAVTEQ and Tele Atlas.
The CEN standard is available from the Ertico web site which allows free download of the entire standard:
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)
http://www.safe.com/services/formats/GDF_Presentation.zip (a somewhat superficial PowerPoint presentation).