Hi Komяpa 2011/7/30 Komяpa <m...@komzpa.net>: > 2011/7/30 Igor Brejc <igor.br...@gmail.com>: >> Great work and thanks for the detailed info. >> One comment/question: from your description (using Mapnik) and from looking >> at the json_getter.py I conclude you rely Osm2pgsql DB schema. > yes. > >> The main reason is that IMHO flattening of OSM >> data produces some loss of information which is vital for creating high >> quality maps. > > That really depends on what you call "quality". But yes, flattening > database lets you lose some data. > >> Example: Osm2pgsql flattens bus route relations into one or more chunks of >> consecutive ways. But in order to render a bus network (like this one >> http://www.harvestersway.co.uk/images/location_busmap.jpg), one would need >> to reconstruct a graph of all the bus routes, which can have several routes >> (relations) share the same way, and each relation can consist of several >> ways. So it's a many-to-many relationship, which would be difficult to >> reconstruct from this flattened schema. > > are you aware that slim osm2pgsql database contains a lot more data, > and also mentions relations? > http://latlon.org/pt is constructed entirely from osm2pgsql schema. > > >> So my question is: how would you go about implementing MapCSS support for an >> "original" schema, if at all? This is why I expressed concerns about >> performance, since I don't see an efficient way of fetching the data using a >> declarative map styling. > > I don't really understand what's the problem there. > > Any mapcss selector can be translated into SQL WHERE clause. You can > easily join them with ") OR (", and get almost all the data you need. > For some of them there will be more than one where clause (i.e. you > need to get "ways in relation like that" and "relations like that > which have ways like that"). It requires thinking (mostly about > writing queries to use indexes efficiently) but it's doable. > > After you get needed data from database, I don't see any problem to > render it - even flash-based Halcyon is able to do it ;) > > -- > Darafei "Komяpa" Praliaskouski > OSM BY Team > xmpp:m...@komzpa.net mailto:m...@komzpa.net
To me AKA caching of JS tiles (coming from json_getter.py?) is mandatory in order to remain scaleable from a server point of view. AFAIK tirex does not yet support Kothic JS and memcachedb in front of http server What do you recommend there? -- Stefan _______________________________________________ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev