[OSM-talk] labels for road names and route designations

Lars Aronsson lars at aronsson.se
Tue Feb 28 23:37:01 GMT 2006


David Sheldon wrote:

> The best solution would probably to store the tag data in 
> another table of the database with a number of tags per item 
> that is tagged. This is more relational, and has no problems 
> with deliminators.

Yes, the current "label" concept is totally anti-SQL.  But at the 
same time, the segments are under version control.  The rows are 
not updated, but a new row is inserted with the same ID but a new 
timestamp and a new username.  So you can track the edit history, 
just like for wiki articles.  And how do you solve that with a 
fully relational model?  The current OSM API version 0.2
http://wiki.openstreetmap.org/index.php/REST
doesn't really give access to the version controls, but the next 
version API could do this.

The need for version control is also a show stopper for applying a 
traditional GIS database (PostGIS or MySQL GIS functions).

Within the Wikipedia community, Erik Möller has been designing a 
"Wikidata" system that should be capable of applying version 
control to relational data.  But I don't know if he is done yet.
http://meta.wikimedia.org/wiki/Wikidata

Perhaps one way is to keep old versions in a separate archive 
table, where snapshots of objects are stored according to the 
current aggregate "label" concept (one row per version), but to 
use a fully relational model for the current data.  This would 
allow advanced SQL queries on the current data (e.g.: give me 
streets where bicycles are allowed, having names starting with A, 
within the polygon border for this city), but not on historic data 
(give me ... as OSM looked in November).

We should probably stick to the GIS terminology, where "label" is 
a name printed on a map, and street names and types are 
"attributes".


-- 
  Lars Aronsson (lars at aronsson.se)
  Aronsson Datateknik - http://aronsson.se




More information about the talk mailing list