Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-29 Thread Sven Geggus
Frederik Ramm frede...@remote.org wrote:

 Has anyone done some experimentation in that direction? I know that 
 Nop's riding+walking map uses three layers (OSM background, third-party 
 hillshading, OSM foreground), and of course I've seen the grand 
 ImageMagick-based TopOSM. Has anyone tried a multi-overlay tile server 
 in Mapnik?

The localized maps on toolserver org are another example:

http://toolserver.org/~osm/locale/

Sven

-- 
If you continue running Windows, your system may become unstable.
(Windows 95 BSOD)

/me is gig...@ircnet, http://sven.gegg.us/ on the Web

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-28 Thread marqqs
Sounds great, but it's not that easy, I think...

Depending of the map layers you compose, you would need different text layer 
compositions. For example:

In my public transport map, there are priorities for the texts; the name of a 
railway station has always a higher priority than the name of a bus stop. 
Hence, if there is bus stop nearby a railway station, the name of the bus stop 
is not displayed.
Now, if you would decide to have different layers for railways and buses, and 
to switch off the railway layer, the name of the bus stop would have to 
reappear.

To go one step further:
Ideal would it be to move the colliding texts slightly instead of omitting 
them. But then, how to deal with different map layers?

Markus


 Original-Nachricht 
 Datum: Tue, 28 Dec 2010 07:30:51 +0100
 Von: Igor Brejc igor.br...@gmail.com
 An: mar...@gmx.eu
 CC: Frederik Ramm frede...@remote.org, dev@openstreetmap.org
 Betreff: Re: [OSM-dev] Layered Tiling (Mapnik)

 On Mon, Dec 27, 2010 at 11:29 PM, mar...@gmx.eu wrote:
 
 
  But there is one problem you would have to deal with: there is no
 collision
  avoidance between the texts of different tile layers.
 
 
 That could be solved if the all the layers were rendered as a single map,
 but painted onto several layer bitmaps. I'm planning to implement
 something
 like this in Maperitive.
 
 Igor

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-28 Thread Igor Brejc
You're right, that would be a problem. But I guess as long as you have
raster-only data, there isn't a perfect way to solve this problem.

An alternative would be to render text (and icons, since they can collide,
too) on the client-side using JavaScript on top of server-generated tiles.
The server could still perform the actual text placement and then send the
text, text vectors and classes (=priorities) to the client which would then
render it.

Client would be able to determine that the bus stop label can be rendered if
the railway station class is turned off, for example. In advanced scenario
the client would even be able to do additional text placement automation, if
necessary.

Igor

On Tue, Dec 28, 2010 at 11:10 AM, mar...@gmx.eu wrote:

 Sounds great, but it's not that easy, I think...

 Depending of the map layers you compose, you would need different text
 layer compositions. For example:

 In my public transport map, there are priorities for the texts; the name of
 a railway station has always a higher priority than the name of a bus stop.
 Hence, if there is bus stop nearby a railway station, the name of the bus
 stop is not displayed.
 Now, if you would decide to have different layers for railways and buses,
 and to switch off the railway layer, the name of the bus stop would have to
 reappear.

 To go one step further:
 Ideal would it be to move the colliding texts slightly instead of omitting
 them. But then, how to deal with different map layers?

 Markus


  Original-Nachricht 
  Datum: Tue, 28 Dec 2010 07:30:51 +0100
  Von: Igor Brejc igor.br...@gmail.com
  An: mar...@gmx.eu
  CC: Frederik Ramm frede...@remote.org, dev@openstreetmap.org
  Betreff: Re: [OSM-dev] Layered Tiling (Mapnik)

  On Mon, Dec 27, 2010 at 11:29 PM, mar...@gmx.eu wrote:
 
  
   But there is one problem you would have to deal with: there is no
  collision
   avoidance between the texts of different tile layers.
  
  
  That could be solved if the all the layers were rendered as a single map,
  but painted onto several layer bitmaps. I'm planning to implement
  something
  like this in Maperitive.
 
  Igor

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-28 Thread marqqs
Yes, would be a very good solution!
The client would get the texts and their font information including their 
position and display them on its own. This could be done in Javascript. Even 
collision management would be possible (omitting texts which low priorities or 
moving them a bit). Of course, we would have to provide this priority 
information too.

Alternatively, every text could be served as a bitmap instead of UTF-8 etc. In 
this case, the client wouldn't have to do any rendering. I think, I would 
prefer this solution.

Maybe we should think about supplying abbreviations for the texts. So, the 
client could determine how much space is left and use either the full text or 
the abbreviated one. But I think, this needs not to be implemented in a first 
step, it should be a future expansion. ;-)

Markus

 Original-Nachricht 
 Datum: Tue, 28 Dec 2010 12:46:37 +0100
 Von: Igor Brejc igor.br...@gmail.com
 An: mar...@gmx.eu
 CC: dev@openstreetmap.org
 Betreff: Re: [OSM-dev] Layered Tiling (Mapnik)

 You're right, that would be a problem. But I guess as long as you have
 raster-only data, there isn't a perfect way to solve this problem.
 
 An alternative would be to render text (and icons, since they can collide,
 too) on the client-side using JavaScript on top of server-generated tiles.
 The server could still perform the actual text placement and then send the
 text, text vectors and classes (=priorities) to the client which would
 then
 render it.
 
 Client would be able to determine that the bus stop label can be rendered
 if
 the railway station class is turned off, for example. In advanced scenario
 the client would even be able to do additional text placement automation,
 if
 necessary.
 
 Igor
 
 On Tue, Dec 28, 2010 at 11:10 AM, mar...@gmx.eu wrote:
 
  Sounds great, but it's not that easy, I think...
 
  Depending of the map layers you compose, you would need different text
  layer compositions. For example:
 
  In my public transport map, there are priorities for the texts; the name
 of
  a railway station has always a higher priority than the name of a bus
 stop.
  Hence, if there is bus stop nearby a railway station, the name of the
 bus
  stop is not displayed.
  Now, if you would decide to have different layers for railways and
 buses,
  and to switch off the railway layer, the name of the bus stop would have
 to
  reappear.
 
  To go one step further:
  Ideal would it be to move the colliding texts slightly instead of
 omitting
  them. But then, how to deal with different map layers?
 
  Markus
 
 
   Original-Nachricht 
   Datum: Tue, 28 Dec 2010 07:30:51 +0100
   Von: Igor Brejc igor.br...@gmail.com
   An: mar...@gmx.eu
   CC: Frederik Ramm frede...@remote.org, dev@openstreetmap.org
   Betreff: Re: [OSM-dev] Layered Tiling (Mapnik)
 
   On Mon, Dec 27, 2010 at 11:29 PM, mar...@gmx.eu wrote:
  
   
But there is one problem you would have to deal with: there is no
   collision
avoidance between the texts of different tile layers.
   
   
   That could be solved if the all the layers were rendered as a single
 map,
   but painted onto several layer bitmaps. I'm planning to implement
   something
   like this in Maperitive.
  
   Igor
 

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


[OSM-dev] Layered Tiling (Mapnik)

2010-12-27 Thread Frederik Ramm

Hi,

   I am often confronted with people from the classic GIS world who 
tend to think that tiles are somehow second-class and anything serious 
needs to be in WMS (or, at least, OGC TMS).


Upon closer inspection, if their software supports it, most users are 
actually *better off* with a standard OSM-style tile server than with 
WMS. (If their software doesn't support it then you end up using some 
sort of tile-to-WMS rescaling which messes up the good looks.)


Until now, there were two use cases where I advised users to go for WMS 
rather than tiles: 1. if they needed lots of different projections and 
variable scaling; 2. if they needed lots of different layers (e.g. 
roads, buildings, landuse areas, waterways, POIs, ...).


I'm beginning to think that #2 need not be a reason to use WMS. Given 
the way our rendering works, it should only be minimally more expensive 
to create, say, 10 meta-tiles for an area, each with different features 
drawn on it, than just one. It would break some layering - if you paint 
roads and railways on different tiles then you can *either* display 
roads over railways or railways over roads but not - but on the whole it 
should not be too bad.


Has anyone done some experimentation in that direction? I know that 
Nop's riding+walking map uses three layers (OSM background, third-party 
hillshading, OSM foreground), and of course I've seen the grand 
ImageMagick-based TopOSM. Has anyone tried a multi-overlay tile server 
in Mapnik?


Bye
Frederik

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-27 Thread Stephan Plepelits
On Mon, Dec 27, 2010 at 04:22:08PM +0100, Frederik Ramm wrote:
 Has anyone done some experimentation in that direction? I know that  
 Nop's riding+walking map uses three layers (OSM background, third-party  
 hillshading, OSM foreground), and of course I've seen the grand  
 ImageMagick-based TopOSM. Has anyone tried a multi-overlay tile server  
 in Mapnik?
http://www.openstreetbrowser.org is an example with base map, several
overlays for routes and other thematic overlays.

The new version http://dev.openstreetbrowser.org even supports creating own
mapnik style via the web interface. The big problem is rendering speed,
because of the full planet database.

greetings,
Stephan
-- 
Seid unbequem, seid Sand, nicht Öl im Getriebe der Welt! - Günther Eich
,-.
| Stephan Plepelits,  |
| Technische Universität Wien   -Studien Informatik  Raumplanung |
| Projects:   |
|  openstreetbrowser.org  couchsurfing.org  tubasis.at  bl.mud.at |
| Contacts:   |
|  Mail: sk...@xover.mud.at  Jabber: sk...@jabber.at|
|  Blog: plepe.at  Twitter: twitter.com/plepe   |
`-'

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-27 Thread marqqs
 It would break some layering - if you paint 
 roads and railways on different tiles then you can *either* display 
 roads over railways or railways over roads but not - but on the whole it 
 should not be too bad.
 Has anyone done some experimentation in that direction?

Yes, I did exactly this railway thing you're talking about. Look here:
http://openptmap.org/?zoom=13lat=52.51787lon=13.39638layers=0B000T

But there is one problem you would have to deal with: there is no collision 
avoidance between the texts of different tile layers.

Markus

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Layered Tiling (Mapnik)

2010-12-27 Thread Igor Brejc
On Mon, Dec 27, 2010 at 11:29 PM, mar...@gmx.eu wrote:


 But there is one problem you would have to deal with: there is no collision
 avoidance between the texts of different tile layers.


That could be solved if the all the layers were rendered as a single map,
but painted onto several layer bitmaps. I'm planning to implement something
like this in Maperitive.

Igor
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev