Tiles@home/The blank tile problem

From OpenStreetMap Wiki
Jump to navigation Jump to search

'Blank tiles' is a way to not have to store real tiles for areas that are either all 'ocean' or all 'land'.

We don't want to store these tiles, but we still want to know if these are blank tiles, and if so, whether they are land or sea (or some other feature/landuse, like forests or parks). We can either store this on disk or in a database. Database approach is probably more efficient, but even this should be optimized. Current approach is for t@h to maintain a database to keep track of them.

The database stores a row in the TILES_BLANK table stating 'this tile is blank (sea|land)'. At request time, if no tiles exist on disk, the tile is looked up in the database, and if the tile in the database is there, an appropriately colored blank image is returned instead.

1: Detecting blank uploads

Currently:

  1. Clients upload tiles which may or may not be blank
  2. Server doesn't have space to store blank tiles
  3. Server deletes tiles < 1000 bytes, on the assumption they're empty
issues 1 and 2 are fixed by the "Cambridge" client--Deelkar (talk) 22:35, 9 March 2007 (UTC)
issue 3 has also long since been fixed, not sure when --Deelkar (talk) 09:31, 9 April 2009 (UTC)

2: Deleting tiles

It's currently very difficult for a client to delete a tile (from the server) that it knows is empty, if the server already has a tile for it. It can't upload a blank tile (since the server will discard it, and it may/should be configured not to upload blank tiles)

Could do something like adding blank delete_z_x_y.txt files to the upload ZIP

or make the known empty tiles exactly 0 bytes in size. --Deelkar (talk) 20:16, 7 March 2007 (UTC)

3: Detecting plain-color tiles

We can't even assume that a small filesize indicates constant-colour images.


See also

Tiles@home/Dev/Coastline

[Mailing list thread]