[OSM-dev] Slippy map way forward -- OpenLayers and/or Mapstraction?
Lars Aronsson
lars at aronsson.se
Sat Jul 1 18:14:15 BST 2006
Christopher Schmidt wrote:
> On Sat, Jul 01, 2006 at 03:40:20PM +0200, Erik Johansson wrote:
> > Ok, it should be very fast to see if something has changed on a OSM
> > tile, this should do it. (though you need to move a node to get an
> > update)
> >
> > select max(timestamp) from nodes where latitude > #{lat2} and
> > latitude < #{lat1} and longitude > #{lon1} and longitude < #{lon2}
> >
> Presumably, when an update is made, you kill the cached tile that is
> affected, the same way you would with squid -- the difference is, I can
> tell you how to do it with ka-Map. I've already written code to do it,
> and would be willing to do whatever it took to get it to work for OSM's
> needs...
Purging the cache when data is updated, is one way (1). Another
way (2) is to run Erik's query (where lat1, lon1, lat2, lon2 are
the tile's bounding box) on every request and reuse the cached
tile if nothing has been updated. I don't know if Squid can do
this test, but otherwise we could implement our own cache that
does.
If you are purging the cache when data is updated (1), you need to
purge all zoom levels. And if a node is moved or deleted, you
need to purge the entire area spanned by all connecting line
segments. Note that this area has a bounding box completely
different from the tile's bounding box. For long line segments,
this could be many tiles at the deeper zoom levels. With the
other method (2), this becomes far less complicated.
A hybrid method (3) would be to use Squid like today, but when the
tile is requested after 48 hours, after the Squid cache has
expired, and the tile generator is called, it applies Erik's query
(2) and if possible returns the old cached tile instead of
rendering it anew. Apparently, the cache can then not be
retrieved from the Squid where it has expired, but the tile
generator would have to keep it's old copy in a cache of its own.
--
Lars Aronsson (lars at aronsson.se)
Aronsson Datateknik - http://aronsson.se
More information about the dev
mailing list