STEVE at ASKLATER.COM
Thu Oct 1 03:25:41 BST 2009
I want to revive a very old idea - tag equivalences. It might be
solving a problem that doesn't exist or someone might have done it and
I've missed it.
I'm not a socialist moral relativist when it comes to cultural
comparisons, but forcing the entire world to tag their largest class
of vehicular infrastructure as highway=motorway isn't super efficient
It would be nice to allow people to tag things as motorway, freeway,
autobahn or whatever makes sense. Then, if your renderer or routing
software knows about them, great. If not, then there should be
something that tells them what they're roughly like.
So I think step one is to have an XML file which points out these
equivalences. It will be rough. It won't know that an autobahn has no
speed limit or a freeway is usually 55mph or a motorway is usually
70mph. The first step is just a hand wavy... I don't know what a
autobahn is, but it's roughly like a motorway, ah ok.
Then it will free us up to start to do much more specific country
rendering and routing.
Later, we can evolve it to be an API or know all sorts of things, but
I want to put together version 0.1 and have people like Jon Burgess
and Steve Chilton care about it because of rendering and Frederik and
Richard care because of editing. I would want it to be required by all
editors and routers and renderers in future, if it was to be useful.
Therefore, here's my straw man to start it off
<!-- this is a straw man and might not even parse as XML. C'est la vie
<likeness object="way" key="highway">
<likeness value="motorway" />
<likeness value="freeway" />
<likeness value="autobahn" />
<likeness object="node" key="amenity">
<likeness value="atm" />
<likeness value="bankautomat" />
<likeness value="geldautomat" />
If you want to hack on this, it's at
The point here is that if you're a routing engine and you know about
motorways you treat autobahns and freeways as roughly the same, or
identical if you like. If you want to then go on and figure out more
details, please do! If you're a renderer and you know what an icon for
amenity=atm is, then you know you can use this for amenity=bakautomat.
The next step is that osm2pgsql uses this to convert things it doesn't
know about, or the big mapnik xml files do, or whatever. There are
glaring problems like maybe we don't want people to use highway but
whatever makes sense for them - that is we want the keys *and* values
to be mutable. But, let's take step one first.
More information about the dev