[OSM-talk] Comprehensive proposal for tagging of boundaries

Jochen Topf jochen at remote.org
Sun Jan 4 22:47:55 GMT 2009


On Tue, Dec 30, 2008 at 10:32:45PM +0100, Gustav Foseid wrote:
> I would suggest that maritime borders are not tagged the same way as land
> borders. Should we have a new tag for maritime borders? Stop tagging them?
> Ignore the problem?

We had the same discussion on the talk-de mailing list. There are
several things here:

a) We should move away from tagging the ways of the boundaries with all
   sorts of stuff and move this information into relations. This is much
   cleaner and allows different kinds of borders to co-exist on the same
   ways.

b) Some people need borders on the water, the "official" borders of
   whatever entity we are talking about. Others would prefer to use the
   coastline as boundary. Clearly there is a need for both.

So here is the proposal for how to tag things: (This also ties in with
Frederiks post about type=multipolygon vs. type=boundary.)

All boundaries are made up out of ways. Those ways are tagged with
boundary=administrative. Where the boundaries go out on the water, the
ways go out on the water and are still tagged with boundary=administrative.

All ways belonging to the boundary of some entity are put together into
a relation tagged with
    type=multipolygon
    boundary=administrative
    admin_level=<something>
This includes the ways going out into the water.

Boundary ways are shared between several levels of administration. So if
a border is a country border and at the same time a state border, the
way is in two relations, one for each. Exclaves and enclaves can be
modelled with the multipolygon relation without any problems. (See
Frederiks post for details.)

If there are several relations on the same ways, the admin_level for
those ways is the one with the smallest number (ie. the highest
administrative level). This is redundant, but it allows renderers to
ignore the relations for many cases and just render the ways. Borders
will show up as they should with more important borders drawn instead of
less important ones.

There is a second relation for every administrative entity. It contains
all the boundary ways on land plus the coastline connecting those points
where the boundary crosses into water. So it is the land area of this
administrative entity. It is tagged as
    type=multipolygon
    land_area=administrative
    admin_level=<something>

So if you are interested not in the boundary on the water, but just want
the land area, you use this relation. For entities that are completely
on land only one relation is used and it is tagged with both:
    boundary=administrative
    land_area=administrative

In the land_area relation islands will show up as seperate areas. But
they are still in the same multipolygon relation.

Note that this proposal only gives you a way how to tag maritime
boundaries and have the land area, too. It does not say where those
boundaries are supposed to be and whether one or the other makes more
sense, thats a different discussion.

This proposal is mostly backwards compatible with existing use. If
existing borders are on the coastline, they can stay there until
somebody wants to change it. Relations have to be added in those cases,
where they are missing. Some existing relations will get extra land_area
tags, some new relations for land_area will be created. The biggest
change is from type=boundary to type=multipolygon, but see Frederiks
post for that.

Jochen
-- 
Jochen Topf  jochen at remote.org  http://www.remote.org/jochen/  +49-721-388298





More information about the talk mailing list