[OSM-dev] What country is something in?

Roland Olbricht roland.olbricht at gmx.de
Wed Oct 29 22:32:27 GMT 2008

Hello everybody,

you can now download a first version of the discover-boundaries tool. In its 
current state, the tool delivers the multipolygons constituting a country's 
border, in a format suitable to osmosis' --bounding-polygon option. Feel free 
to ask for a different format it that would fit better.

For the download, please visit
- the "national boundaries" contains the results and can be accessed via its 
- the "Discover Boundaries source code" contains the source code. It is 
described in README and can be used out-of-the-box by the script RUNME and an 
OSM XML file.

I would be grateful for any comments.

The biggest issue is at the moment the coastline, for a couple of reasons:

* there is way more coastline than any other boundary.

For example, in europe the inner-country boundary consists of about 100.000 
nodes, but the coastline has about 7 million nodes. So just adding the 
coastline would make the polygons 70 times more complex.

* the coastline doesn't constitute the real border of the country

Most countries just don't have their border on the coastline but claim a zone 
of about 22.2 km (12 nautical miles). See e.g. 
For example, this prevents that a ferry between the mainland and a nearby 
island already gets an international ferry. So it might be desireable to have
as border rather a smoothend 12-nm-zone than the coastline.

On the other hand, a typical shape of a country would show exactly the 

* the official border is difficult to obtain

The "United Nations Convention on the Law of the Sea" leaves it to the 
respective nations whether they exhaust the full 12-nm-zone or not. But 
unfortunately, it seems quite difficult to get the data of the official 
border. I started to try with Germany, but I was not able to find any
official document stating the border on the web.

The only nation with a complete nautical border in OSM are currently the 

It should be feasible to derive an automatic 12-nm-zone around any coastline, 
but this might be quite inaccurate.

So what do you think about the options
* anyway use the coastline
* automatically compute the 12-nm-line and submit it as boundary to OSM
* just compute this line inside this tool?

The second question is: how do I make the final version of the software a 
portable and sustainable peace of open source, e.g. how to add a proper 
make-configure-install script and so on?


More information about the dev mailing list