From OpenStreetMap Wiki
Jump to navigation Jump to search
Mapping claimed/disputed boundaries
Proposal status: Inactive (inactive)
Proposed by: Amᵃᵖanda
Applies to: relation
Definition: A general proposal to map country land claims.
Draft started: 2018-11-27
RFC start: 2018-11-27

How to map

boundary=claimed_administrative + claimed:admin_level=2

Map the claimed border of a country according to another country as another regular type=boundary relation, but add boundary=claimed_administrative + claimed:admin_level=2 (since we're nearly always dealing with countries) Add the regular tags for a boundary relation (e.g. ISO3166-1=*, name=*).


Add according_to:*=yes/no for each country that does or doesn't claims this is the border of the subject country, using the country code (e.g. according_to:GB=* means  United Kingdom), or other appropriate identifier (e.g. according_to:SADR=* may be useful for  Sahrawi Arab Democratic Republic)

If according_to:*=* is missing for an object, the value should be assumed to be "yes" if this is boundary=administrative, and "no" if it's boundary=claimed_administrative.



 Kosovo has been recognised by about half the members of the UN. Since it is de facto acting as a country, it's mapped in OSM relation 2088990, as boundary=administrative + admin_level=2. Kosovo was part of  Serbia, which is relation 1741311, and also boundary=administrative + admin_level=2. Serbia &  Spain (amoung others) don't recognise Kosovo, so I presume they view the border of "Serbia" to be the land covered by relation 2088990+relation 1741311. We can map this by copying the Serbia relation (relation 1741311), and changing the members to include the larger area, then add type=boundary + boundary=claimed_administrative + claimed:admin_level=2 + ISO3166-1=RS + according_to:RS=yes + according_to:ES=yes (along with any other according_to:*=yes/no we want).

We can add according_to:XK=yes to the Kosovo relation, since (IIRC) the de facto border is what the government there claims as the border. We can add according_to:RS=no to the Serbia relation, which means "This is the de facto border of Serbia, and they claim it's not the border, and the UK claims it is, and Mexico claims it isn't, etc".


Left as an exercise for the reader.


(Correct me if I'm wrong)  Kashmir conflict is mostly a dispute between India and Pakistan, but China has claims on some parts. Neither India or Pakistan control all of what they claim. (i) The de facto border of India, (ii) The de facto border of Pakistan (current OSM countries), (iii) The borders of India according to India, (iv) The borders of Pakistan accroding to India, (v) The borders of Pakistan according to Pakistan, (vi) The borders of India according to Pakistan.

Each of these 6 options would be mapped with a separate relation.


  • Copies the same logic from multipolygons, being supported by
  • 100% backwards compatible with existing scheme to map countries
  • Easily readable tags that data consumers can probably deduce.


  • Creates more relations, several extra per disputed area. This could be unwieldy and could lead to data inconsistencies

Using the data

Rendering a Map

To render a map of the world with the Serbian view of borders, you import the data with `osm2pgsql`, then run a SQL query like:

DELETE FROM planet_osm_polygon WHERE boundary = 'administrative' AND 'admin_level'='2' AND tags->'claimed:by:RS' = 'no',
UPDATE planet_osm_polygon SET admin_level = '2', boundary = 'administrative' WHERE boundary = 'claimed_administrative' AND 'claimed_admin_level'='2' AND tags->'claimed:by:RS' = 'yes',

or an SQL VIEW could be used.

(Or adjust your map style appropriately to look at the according_to:*=* tag, with a reasonable default).

Data analysis

With an osm2pgsql database, you can see what areas are claimed by country X, but not de facto controlled by it.

Current users

Nothing yet

See also