[OSM-dev] state of preparing the TMC-import

Marcus Wolschon Marcus at Wolschon.biz
Fri Apr 3 20:39:51 BST 2009


I have made quite some progress in preparing the import
of the German TMC Location-Codes that was allowed to us
by the BASt. Now I would like to present what we may get into
the map in a few month.

http://wiki.openstreetmap.org/wiki/TMC/TMC_Import_Germany


We are talking about:
28.520 points
  1.699 segments
  2.889 roads
16.966 intersections
 6.135 administrative areas
    932 other areas

spanning all of the german road-network.
Some of these roads, areas and points may not yet exist
in OSM.

There are no tools to do this import yet.
There will need to be due to the excessive topology-checing
required and that this import of Germany may just be the
first of some dozen other complete countries that use TMC
and thus the same exchange-format for their LocationCodeLists.
(No "today germany, tomorrow he world"-jokes please. Actually
 Italy was the first to publish their LCL publicly without highly
 restrictive licensing.)

There is one tool linked in the wiki that can convert the segments
and points (not yet ways, areas and intersections) into an osm-map
for visualisation and manual checking of yet to write import-tools.

== understanding TMC==

I managed to write a small TMC-parser and look at quite a
selection of messages. A proof of concept to use the tagging-
schema below in an actual working navigator with TMC-support
if slowly taking shape. (As the result of the import is to be computer
readable, I believe it should be proven that it can be read and
used in the intended way before starting to add elements the map
that may prove inadequate.)

I managed to get a good understanding of how locations
are referenced in the TMC-system and the given tagging-schema
with its location-codes, forward- and backward-references looks
adequate to the task. The challange may still be that the topology
of the very simplistic tmc-road-network has to be mapped to
our much more detailed osm-network and thus to a more refined
topology. (e.g. dual-carriageways and motorway-juctions are
just a simple line or point in tmc but a tmc-message mentioning
an affected direction may only affect one half of our dual-cardiageway.)

== tagging schema ===

I prepared a tagging-schema that I would very much like feedback on
as it does not yet look very "pretty". (Please use the Talk-Page)
Due to the fact that there are multiple countries with their own
Location-List and that some countries have more then one operator
and that a Tag can only have one value there was a decision to make.
For TMC:Roads the best way to tag them was relations as they are only
ordered lists of TMC:Segments.
But for TMC:Points=OSM:Nodes and TMC:Segments=OSM:Ways
there where 2 options:
1: use a relation with only one member and simple tags like
     tmc:country
     tmc:table
     tmc:locationcode
or
2:tag the element itself but use more complex keys to allow
   the same element to be referenced from multiple locationcodes.
I opted for the second as it is easier to understand, work with
and faster to obtain the referenced objects. (Points and Segments
are usually referenced by TMC-messages. Roads and Areas
more seldomly.)
I tried to avoid characters like "(" or "[" and stayed with ":" and "_"
instread, to avoid special-characters that need encoding.

Marcus




More information about the dev mailing list