[OSM-talk] tiles at home 404 handler, and assumed seas

Frederik Ramm frederik at remote.org
Sun May 13 19:02:17 BST 2007


Hi,

> I believe (can some 'close-area' developers confirm this?) that these areas 
> will automatically be marked as "blank land" next time they're re-rendered, 
> making the maps white again inland.

That's not a close-area issue ("land" is not considered an "area" for 
rendering), it is the plain empty-tile detection Deelkar implemented a 
while ago. If such a tile is rendered, it will result in an empty, 
67-byte tile uploaded to the server. Until very recently these 67-byte 
messages were just discarded by the server, but as they will now be 
recorded properly as empty-land messages, it should work fine.

If I provide you with a list of all level-12 tiles on the earth's 
surface that are "land" but not covered by a real tile, would you use 
that to seed your database?

As far as I know, but Deelkar should be able to confirm that, there's an 
optimization that will not upload sub-tiles of an empty tile, i.e. when 
the whole level-12 tile is blank, a "blank tile" is uploaded for 
level-12, and level-13 and up tiles will NOT be uploaded. This means 
that we need the kind of tile lookup that you, Oliver, proposed 
somewhere recently - if tile on level 17 not found, check tile on level 
16, 15, 14... and if you get an empty-land tile, return empty-land not 
empty-sea.

I'll not commit this myself but I believe it could be done by changing 
the following in SearchDatabase in Tiles/db.php:

     if(mysql_num_rows($Result) == 0){
       if($Z <= 12)
         BlankTile("assumed_sea");// political decision: make unknown 
areas blue
       else
         BlankTile("404");
     }

into

     if(mysql_num_rows($Result) == 0){
       if($Z <= 12)
         BlankTile("assumed_sea");// political decision: make unknown 
areas blue
       else
         SearchDatabase(int($X/2),int($Y/2),$Z-1,$LayerID);
     }

This would be a tad inefficient (a clever query should check all 
applicable zoom levels at once) but good enough to start with.

> Tiles at home requests queue has been restarted, and currently has a backlog of 
> about 5000 tilesets (looks like about 2 days' worth if you extrapolate the 
> curves on [2]).

Can you manually clear all those requests where (independent of 
tiles at home) a new tileset has been uploaded AFTER the request was put in 
the queue? I suspect that would at least halve the number.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'




More information about the talk mailing list