[OSM-dev] tiles cut corners

Lars Aronsson lars at aronsson.se
Sun Feb 26 13:58:48 GMT 2006


SteveC wrote:

> * @ 26/02/06 11:54:07 AM ben at somethingmodern.com wrote:
> > No, you need the subselect (or its equialent) to get the newest elements
> > in the bounding box. (It's a wiki, right?)
> 
> yes.. to expand: you get the nodes in a bounding box, then you get the
> latest versions of those nodes, then you have to retest that the latest
> version is still within the bounding box. 

Ah, of course, the Wikipedia cur/old problem.  After their 
database had come to a certain size, they decided to keep old data 
in a separate "old" table, because 95% of all queries only deal 
with the latest (current, "cur") version, but 95% of the data 
volume is made up of older versions of articles.  The latest big 
database reorganization was introduced in version 1.5 of the 
Mediawiki software.

For OSM, object creation should be far more common than changes 
and the volume of old versions should be rather small, at least 
until we start to add and edit attributes on a larger scale.  But 
we could still want to keep old data out of the way if there were 
any indication they had a performance impact.  One way is to add a 
column "old" that is true if the row is replaced by a newer 
version.  Or perhaps to set visible=false for old nodes.

Still, it could be nice to select all nodes from a slightly larger 
bounding box, to cover those line segments that cut across tile 
corners.  This can be done by padding the call arguments in 
streets.rbx.  There is no need to change dao.rb for this.


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




More information about the dev mailing list