[OSM-talk] Blue sea tiles for tiles at home

David Earl david at frankieandshadow.com
Mon Apr 30 11:25:00 BST 2007



> -----Original Message-----
> From: talk-bounces at openstreetmap.org
> [mailto:talk-bounces at openstreetmap.org]On Behalf Of Frederik Ramm
> Sent: 23 April 2007 20:52
> To: Talk Openstreetmap
> Subject: [OSM-talk] Blue sea tiles for tiles at home
>
>
> Hi,
>
>     I have uploaded a new renderer version for tiles at home that can
> create blue water areas as long as the coastline is continuous and
> created with "water on the right".
[snip]


I've been following this development quietly but with great interest. In a
thread in mid-December, I was questioning how it is possible to render coast
properly local to a tile unless there is a convention for which side is the
sea. In January I proposed an algorithm for forming a sea polygon within an
individual tile from the sections of coastline intersecting with its edges,
which looks very like what Fred has implemented. I'm afraid I gave up
pressing these because I got a lot of negative reaction on each occasion, so
I'm really pleased to see them happening now.

It prompts the following thoughts from me:

1. I wonder whether the other related suggestion I made at the time may
still have some usefulness in helping create or verify the tile mask: that
is, to use the heuristic that if there is a highway in a tile (or any other
land-based feature, but excluding highways on bridges and railways in
tunnels for obvious reasons), then that tile has at least some land in it.

2. The same principle of directionality applies to any polygon which is
large. Tiles do not know they are inside or outside a large polygon because
no edge of the polygon passes through the tile (or the nearby areas which
osmarender seems to extends to minimise these problems); and if an edge does
go through the tile, the polygon may be enormous so expensive to collect all
of. Large lakes are the obvious example, but if a whole city area is marked
as 'landuse=residential' the same would apply, for example. If we adopted
the 'right is best' convention for all large areas, we would be doing
ourselves a favour (and would remove the need to have vast polygons
enclosing cities to indicate their extent - shorter and therefore more
locally manageable connected ways would be enough); and generalising the
mask for different kinds of area (like 'residential') would be useful in
future.

3. I wonder whether the sea tile mask could be used in the opposite sense in
rendering too: I have numerous tiles in my landlocked county which are
"intentionally left blank", as they say. Now, OK, nothing is ever complete,
but to the level of completeness I'm working to, many of these rural tiles
are empty (have no roads etc passing through them), so they don't render.
This is particularly distracting in mapnik because it slaps "more osm coming
soon" all over the map, but even in osmarender, they're white rather than
grey. If the mask had four values for each tile instead of three ('sea',
'land', 'coast' and 'no information') then 'land' tiles could be rendered
empty, so filling in the holes, while 'no information' tiles could be
rendered 'more osm coming soon' or whatever. Land could be initialised to
'no information' where there are no nodes in the tile area, but edited to
make explicit the validly empty areas.

4. Related to that prompts me to think again about one of my earliest
concerns about OSM: explicitly representing areas we know not to be mapped
so one can indicate a degree of confidence on the map (the 'here be dragons'
type of area). Doing this as per 2. above means such things needn't be
joined up, but can be recognised locally in a tile.

David






More information about the talk mailing list