Martijn van Oosterhout wrote: > - Clients create a blank sea/land tile whenever they find something > blank. The client could immediately check to see if the tile above it > is also blank and if so store a 0-byte file instead. That's one less > entry in the DB to clean up later.
Sorry, I don't really get this. If the next-lower zoom level is blank then no new entry for the higher zoom level will be inserted anyway. > - When the server has the list of blank tiles to insert, it could run > one pass over the list to see if it's mostly sea of mostly land and > whatever it is, insert a blank tile with that type at zoom-12 and then > only insert the other types. Yes it could do that. My idea was to not take that hit at each insert, but rather run a cleanup script periodically that does these kinds of optimizations with lower priority. Once a z12 tile is marked as blank land/sea by such a script subsequent blankness entries at higher zoom levels become noop's. >> For the record, I ran the cleanblanktiles script yesterday, so the blank >> tile db is as clean as that code makes it. I don't know if there are >> further optimizations that can be made there -- perhaps someone else can >> comment -- but I've done everything I know how to do. > > I'd never looked at the cleanblanktiles before but it certainly looks > like its missing some possible optimisations. Especially my second > suggestion above would remove many z17 blank tiles, which are half the > current DB. Yes, the script only performs some optimizations, namely removing all redundant entries (that is those which have the same blankness information at a lower zoom level). I planned to add -but never got to it- a "bubbling up" of blankness information which would remove many entries. Bubble up: - if 4 neighbouring tiles have the same blankness, mark the corresponding 'z-1' tile as blank and remove the 4 tiles at 'z'. - if 3 (or 2?) neighbouring tiles have the same blankness, and the rest of the tiles are non-empty, mark the corresponding 'z-1' tile as blank and remove the empty tiles at 'z'. I just never got to implementing it. Sebastian _______________________________________________ Tilesathome mailing list [email protected] http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/tilesathome
