we did a bit of work with python/cairo that sounds similar to your idea:
http://wiki.openstreetmap.org/wiki/Pyrender
the way that works is: you have lots of OSM files each containing
enough data to draw one tile. Many formats have been tried- osm.gz
files are probably easiest to understand.
then have a program which renders those to PNG. Pyrender does this
using cairo, but any graphics library will do.
You can use it as a library ('give me PNG data for tile x'), or python
can even run its own http server if you want to run your program as a
javascript page or something in an embedded web browser.
As you say, the benefit of storing data instead of tiles is that you
can update rendering rules on-the-fly, while still having the PNG
tiles output for caching etc.
_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev