Hi,

maw269 wrote:
I am creating my own tile server for OSM using Windows Server 2003.
I need help on how to make tiles expire and create new tiles after updating
my postgres DB with osm diffs.

I just answered the following on help.osm.org; if this discussion here yields additional interesting points, feel free to copy them there:


First of all, you have to understand that this is not a high performance setup and that you will not be able to keep a current set of tiles for anything larger than a small country with this. With no on-demand tile rendering you will always struggle to keep every single tile current, spending lots of CPU cycles for nothing.

You are probably using generate-tiles.py from the OSM Mapnik SVN. There is a function in there that calculates a single tile. With a little bit of Python you should be able to adapt the script to actually read the file generated by osm2pgsql and call the tile compute routine for each tile in that file. I am not aware of a ready-made solution for that in a renderd setup you could use render_expired but you'll have to do it that way.

You can request osm2pgsql to output a list of modified tiles for a whole range of zoom levels. Be aware that if you include small zoom levels then the tiles on these zoom levels will be rendered very often; you might want to employ some grep/sort magic and re-render those only once every few days.

All in all, the mechanisms involved are complex and PostGIS caching performance is less if you render a flurry of new tiles across a large area compared to systematically rendering all tiles. You might find that with the rather small area you're able to cover with your setup anyway, it might be easier and not even slower to just re-render the whole lot once in a while rather than trying to process updates.

Bye
Frederik

--
Frederik Ramm  ##  eMail frede...@remote.org  ##  N49°00'09" E008°23'33"

_______________________________________________
talk mailing list
talk@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk

Reply via email to