[OSM-dev] [Patch] Experimental extra symbols for mapnik layer

Brian Quinion openstreetmap at brian.quinion.co.uk
Sun Sep 21 22:27:57 BST 2008


sorry - long post, verging on brain storming...

> I seem to have misunderstood something, and thought someone suggested having
> multiple layers of POIs. Slowing down to type and perhaps that suggestion
> made, sorry if it's an outrageous one.
> But your icon set looks like it could be easily split into a few layers,
> brown layer(food/pubs) etc.
> I also really like the transparency on the beer icons and generally.

While having lots of layers in great in theory I think that there are
several practical problems to do with both server side storage,
increases in data transfer, client side rendering speed and
overloading the interface with too many options.

You can probably see the client side rendering speed problem fairly
easily on the dutch cycle site that Rob provided a link to:

 http://www.openfietskaart.nl/?zoom=14&lat=52.36713&lon=4.89568&layers=B0000FTTFFFFFFFFT

turn on 3 or more layers and then try moving the map - the extra time
to download 3 times as many tiles adds a noticeable extra latency (on
my system anyway).  The storage problem and bandwidth issues would be
similar although more easily solved / ignored.  There is also the
problem of generating layers in such a way that they don't overlap -
tricky because mapnik isn't really setup to taken account of things
that are not rendered - so I think that probably everything (except
the icons) would have to be rendered using an alternative transparent
style sheet so that the icons ended up in the right place.  Urrrg.

Of course we could just ignore the overlapping problems :-(

The alternative is to do the poi client side like:

http://www.lenz-online.de/cgi-bin/osm/osmpoinit.pl/

(which unfortunately seems to be broken at the moment, for me anyway)

Again there is the overlap problem, made even more difficult by being
client side.  Client side latency is still a problem for loading the
extra icon location data, as is over complicating the interface.
There is also a new problem which is that icons for features that are
already rendered by on the mapnik layer get in the way / are
redundant.

Layers just seem to be tricky... so we are left with the current
mapnik / osm.xml seems to be a compromise between all the various
options that showcases what can be done with the data to produce a
nice map.  Unfortunately it suffers from the standard problems with
all compromises - some people want more detail/icons (like myself)
some people want less (I remember a post requesting a version without
pub symbols).  And at the moment rolling your own mapnik server /
osm.xml is not exactly trivial especially if you want extra icons not
in the standard definition.

(as an aside, is direct usage of the osm title servers (i.e.
c.tile.openstreetmap.org) by other projects/organisations encouraged
or discouraged?  I'm never quite sure and it makes a difference as to
the purpose of the mapnik layer...)

Personally I think that the solution might be 2 versions of the mapnik
layer: mapnik-min and mapnik-max (preferably both generated from the
same template).  Of course this assumes that the server has the
resources to cope with caching 2 sets of tiles (does it?) and that
anyone except me things this is a reasonable idea!

Such a move might also be basis for trying to find some way to split
up the existing osm.xml which as Steve Chilton mentioned is now well
over 5000 lines and finding a way to make it easier to customise
osm.xml for roll your own maps without having to branch off completely
on your own.

--
 Brian




More information about the dev mailing list