Disputed boundary tagging sprint (2019-03)

Posted by nvk on 8 March 2019 in English (English)

I plan to start tagging more disputed administrative boundary lines in OpenStreetMap with tags for disputed=yes (but will leave the existing dispute=yes alone), adding disputed_by=* on disputed ways, and adding claimed_by=* on their relations to support multiple points-of-view.

I will use a combination of the iD editor and JOSM for this sprint, and use the #disputed_by_claimed_by tag in comment messages. My OSM username is nvk should anyone else want to help out or discuss, please say hi :)

I don’t propose changing default tags for administrative boundaries which already use OpenStreetMap’s on the ground rule – I only propose adding additional tags on the country and disputed features to indicate they are disputed (many are already are tagged this way), and to indicate which countries dispute &/or claim the boundary.

I will follow the schema used in Kashmir for ways and relations tagged for India, Pakistan, and China country boundaries. I will clean up a few errors in Kashmir (missing tags or incorrect country codes), and will then focus on expanding the use of this tagging schema to other disputed areas around the world.

Further work could support which other countries recognize (or have opinions about) the disputed_by and claimed_by points of view. But there isn’t yet a consensus in OpenStreetMap about which approach to take, and the existing tagging scheme I plan to reuse for the basic claimants is also compatible with the main tagging discussions that are still under way for the complicated case. This will allow the OpenStreetMap community and Tilezen in particular to prototype support for making maps with this data (see the Why section below for more background).

Specifically, I won’t yet focus on any of the proposed tags for boundary=claim on ways, claim_level=* on ways, claim_level:claimant_country_code=* on ways, controlled_by=* on relations, country_code=* on Master Claim relations, boundary=master on the Master Claim relations, boundary=claim on Boundary Claim relations, or boundary=conflict_area as an optional Conflict Area relation. But these could all be added to the data after this round of tagging, and after research and quality assurance for version 5 of Natural Earth is complete.

What OpenStreetMap data allows today


  • If a way is in a relation claimed_by a view, it’s displayed in RED.
  • If way is tagged as disputed_by a view, it’s not shown.
  • If neither of the above and it’s flagged as “on the ground” then display in GREEN.

“on the ground” view from OpenStreetMap:

on the ground

And this is what the data indicates India’s view should be:

India view

And what the data says Pakistan’s view should be:

Pakistan view

And what the data says China’s view should be:

China view

Cleaning up Kashmir tags

Most of the line-of-control between India and Pakistan is tagged as disputed_by=IN;PK, but some segments aren’t. Since the line-of-control is the “on the ground” view of the border between the two countries, these untagged segments get displayed in green even though they are disconnected from other parts of the border. Looks like a simple case of bad tagging - should be easy to correct.

Some other problems appear to stem from typos, for example this alleged dispute between India and Switzerland, where the fix is to change the incorrect two-letter code for China from CH to CN.

Going global

The schema used for Kashmir seems to only be well implemented around the three-way India, Pakistan, China (IN;PK;CN) dispute. There’s some related tagging on the Israel, Syria (IL;SY) dispute, but the SY claims aren’t collected into a claim relation, nor are SY’s claims tagged as disputed_by IL.

Other disputes, such as Doklam, the Ilemi Triangle, Hala’ib Triangle are mapped with a simple disputed=yes tag and no disputed_by or claimed_by information.

I’ll use Natural Earth’s v5.0.0-pre2 data (of which I am the primary author) as a guide on which disputed areas to tag, using disputed_by and claimed_by data that has been vetted over the last 10 years by myself and the Natural Earth community. There are about 80 disputes – see list below – that are significant enough to be shown at zoom 8 on the map.

Many more smaller disputed boundaries exist in real life, but I’ll leave those for someone else to tackle. I plan to focus work on terrestrial (land) disputes from that list, and defer work on maritime boundary disputes because they are less useful for generic basemap construction.


I am the primary maintainer of Natural Earth and am a core contributor to the open source Tilezen vector tile project, originally sponsored by Mapzen and now a Linux Foundation project. The upcoming version 5 of Natural Earth will add support for different points-of-view (sometimes called worldview), and Tilezen is also adding support for the same in it’s boundaries layer.

Adding points-of-view to the data allows basemaps to be customized to meet the expectations of certain polities around the world, while keeping the default map styling de facto based on the “on the ground” situation. Practically speaking, this means sometimes displaying different country boundary lines to different users in different countries for disputed areas like Kashmir, Western Sahara, Palestine, and Crimea. In some countries, like India and China, there are even legal requirements around showing their own country boundaries, even when that country doesn’t control all that territory on the ground.

Tilezen composes it’s high-zoom boundaries layer data (view source) from OpenStreetMap features based on several tags on ways (boundary=administrative and admin_level=*) and relations (looking at the type=boundary, boundary=administrative, and admin_level=*), and based on how osm2pgsql ETLs the data. Tilezen also does some processing to determine the left or right names to include on the line features (which means Tilezen needs to build complete polygons).

Tilezen express point-of-view as a “localized” kind:* values, where * is replaced with a point-of-view code (starting with 2-character or 3-char “country” codes). For example: kind:cn is used when China has a different view of a border than the default “kind” value (generally the de facto point of view). This optional point-of-view approach allows allows the boundary line to be symbolized by default as “disputed”, but for a Chinese audience to see it as a “county” line, and for related boundary lines to be turned off with a special unrecognized value. NOTE: This approach might later be extended to region boundary lines (like in Arunachal Pradesh in India which China calls South Tibet), and even the places layer (since “capital” cities are also implicated).

Tilezen prototyped support for worldviews at low-zooms from Natural Earth (v5.0.0-pre2) in the v1.7 release (tilezen/vector-datasource/1552) in February, and are extending that to high-zooms from OpenStreetMap in the v1.8 release in active development (tilezen/vector-datasource/1810) in early 2019.

The following 30 worldviews are supported in Tilezen today at mid-zooms from Natural Earth, and I’d like to eventually support them at high-zooms from OpenStreetMap (but not all in this first sprint):

  • Argentina (ar), Bangladesh (bd), Brazil (br), China (cn), Egypt (eg), France (fr), Germany (de), Greece (gr), India (in), Indonesia (id), Israel (il), Italy (it), Japan (jp), Morocco (ma), Nepal (np), Netherlands (nl), Pakistan (pk), Palestine (ps), Poland (pl), Portugal (pt), Russia (ru), Saudi Arabia (sa), South Korea (ko), Spain (es), Sweden (se), Taiwan (tw), Turkey (tr), United Kingdom (gb), United States (us), Vietnam (vn), ISO (iso).

These 29 countries and 1 international organization are either claimants to major disputes or more often have opinions about those disputes – and are the primary country for Tilezen’s supported “common” languages for localized name:* tags.

There’s also subtlety around a particular country’s “official” view of disputes (&/or legal mandates) and the conventional or “unofficial” depiction of the same in maps produced in that same country. For example, Spain officially claims Gibraltar, which is administered by the United Kingdom, but most maps published in Spain show Gibraltar as administered by the United Kingdom with a border crossing.

But again, I’m only going to start with adding the basic disputed_by and claimed_by tags in this sprint to keep it simple.


I plan on notifying the following groups by email:

I plan on notifying the following individuals (those mentioned in the main tagging discussion):

Proposed disputed territory work list

Natural Earth keeps track of disputes around the world and I’ll use that as a starting point. Other OpenStreetMap editors can keep refining the data according to further research and discussion.

  1. Disputed name – (note) - ID concordance to Natural Earth
  2. Abkhazia – (Self admin.; Claimed by Georgia) - B35
  3. Abu Musa I. – (Admin. by Iran; Claimed by UAE) - B73
  4. Abyei – (Admin. by Sudan; Claimed by South Sudan) - B13
  5. Arunachal Pradesh (South Tibet) – (Admin. by India; Claimed by China) - B00
  6. Bajo Nuevo Bank (Petrel Is.) – (Claimed by Columbia, Jamaica, Nicaragua and the United States) - B41
  7. Bara Hotii Valleys – (Admin. by India; Claimed by China) - B02
  8. Bassas da India – (Admin. by France; Claimed by Madagascar) - B27
  9. Belize – (n/a) - B51
  10. Bhutan (Chumbi salient) – (Admin. by Bhutan; Claimed by China) - B76
  11. Bhutan (northwest valleys) – (Admin. by Bhutan; Claimed by China) - B75
  12. Bird Island – (Admin. by Venezuela; Claimed by multiple) - B48
  13. Br. Indian Ocean Ter. – (Admin. by U.K.; Claimed by Mauritius and Seychelles) - B69
  14. Ceuta – (n/a) - B60
  15. Courantyne Headwaters – (Admin. by Guyana; Claimed by Suriname) - B15
  16. Crimea – (Admin. by Russia; Claimed by Ukraine) - B89
  17. Cyprus U.N. Buffer Zone – (n/a) - B43
  18. Diego Garcia NSF – (Leased to U.S.A by U.K.; Claimed by Mauritius and Seychelles) - B44
  19. Dokdo (Takeshima, Liancort Rocks) – (Admin. by South Korea; Claimed by Japan) - B39
  20. Donbass – (Self admin.; Claimed by Ukraine) - B90
  21. Europa Island – (Admin. by France; Claimed by Madagascar) - B26
  22. Falkland Is. (Islas Malvinas) – (Admin. by U.K.; Claimed by Argentina) - B12
  23. Gaza – (n/a) - B53
  24. Gibraltar – (Admin. By U.K.; Claimed by Spain) - B55
  25. Glorioso Is. – (Admin. by France; Claimed by Madagascar) - B24
  26. Golan Heights: Golan Heights – (Admin. By Israel; Claimed by Syria) - B16
  27. Golan Heights: Shebaa Farms – (Admin. By Israel; Claimed by Lebanon) - B58
  28. Guantanamo Bay USNB – (Leased to U.S.A. by Cuba; Claimed by Cuba) - B50
  29. Hans Island – (Admin. by Denmark; Claimed by Canada) - B21
  30. Ilemi Triange – (n/a) - B74
  31. Ilemi Triangle – (Admin. by Kenya; Claimed by Sudan) - B17
  32. Isla del Perejil – (Admin. by Spain; Claimed by Morocco) - B62
  33. Islas Chafarinas – (Admin. by Spain; Claimed by Morocco) - B65
  34. Jammu and Kashmir: Aksai Chin – (Admin. by China; Claimed by India) - B07
  35. Jammu and Kashmir: Azad Kashmir (Azad Jammu and Kashmir) – (Admin. by Pakistan; Claimed by India) - B09
  36. Jammu and Kashmir: Demchok – (Admin. by India; Claimed by China) - B03
  37. Jammu and Kashmir: Jammu and Kashmir – (Admin. by India; Claimed by Pakistan) - B05
  38. Jammu and Kashmir: Northern Areas (Gilgit–Baltistan) – (Admin. by Pakistan; Claimed by India) - B08
  39. Jammu and Kashmir: Shaksam Valley – (Admin. by China; Ceded to China by Pakistan; Claimed by India) - B06
  40. Jammu and Kashmir: Siachen Glacier – (Claimed by Pakistan and India) - B45
  41. Juan De Nova I. – (Admin. by France; Claimed by Madagascar) - B23
  42. Korean Demilitarized Zone (north) – (Since 1953 a 2 km buffer north of the military demarcation line, patrolled by North Korea) - B11
  43. Korean Demilitarized Zone (south) – (Since 1953 a 2 km buffer south of the military demarcation line, patrolled by South Korea) - B10
  44. Kuril Is. – (Admin. by Russia; Claimed by Japan) - B29
  45. Lawa Headwaters – (Admin. by France; Claimed by Suriname) - B14
  46. Matthew and Hunter Is. – (Admin. by New Caledonia for France; Claimed by Vanuatu) - B66
  47. Mayotte – (Admin. by France; Claimed by Comoros) - B22
  48. Mbane Island – (Admin by Gabon; Claimed by Equatorial Guinea) - B52
  49. Melilla – (n/a) - B61
  50. N. Cyprus – (Self admin.; Claimed by Cyprus) - B20
  51. Nagorno-Karabakh – (Self admin.; Claimed by Azer.) - B38
  52. Navassa I. – (Admin. by U.S.A.; Claimed by Haiti) - B34
  53. Near Om Parvat – (Admin. by India; Claimed by Nepal) - B88
  54. Olivenza – (Admin. by Spain; Claimed by Portugal) - B67
  55. Paracel Is. – (Admin. by China; Claimed by Vietnam and Taiwan) - B47
  56. Penon de Alhucemas – (Admin. by Spain; Claimed by Morocco) - B64
  57. Peñón de Vélez de la Gomera – (Admin. by Spain; Claimed by Morocco) - B63
  58. Pinnacle Is. (Senkaku Is., Diaoyu Is., Diaoyutai Is.) – (Admin. by Japan; Claimed by China and Taiwan) - B18
  59. Rockall I. – (Admin by U.K.; Claimed by Ireland, Denmark, and Iceland) - B31
  60. S. Georgia – (Admin. by U.K.; Claimed by Argentina) - B32
  61. S. Sandwich Is. – (Admin. by U.K.; Claimed by Argentina) - B33
  62. Samdu Valleys – (Admin. by India; Claimed by China) - B04
  63. Sapodilla Cayes – (Admin. by Belize; Claimed by Honduras and Guatemala) - B80
  64. Scarborough Reef – (n/a) - B70
  65. Serranilla Bank – (Claimed by Columbia, Honduras, Nicaragua, and the United States) - B42
  66. Somaliland – (Self admin.; Claimed by Somalia) - B30
  67. South Ossetia – (Self admin.; Claimed by Georgia) - B37
  68. Spratly Is. – (Claimed by China, Taiwan, Malaysia, the Philippines, Vietnam, and Brunei) - B46
  69. Swains Island (Olohega) – (Admin. by American Samoa for U.S.A.; Claimed by Tokelau) - B71
  70. Tiran and Sanafir Is. – (Admin. by Egypt; Claimed by Saudi Arabia) - B68
  71. Tirpani Valleys – (Admin. by India; Claimed by China) - B01
  72. Transnistria – (Self admin.; Claimed by Moldova) - B36
  73. Tromelin I. – (Admin. by France; Claimed by Mauritius and the Seychelles) - B25
  74. UNDOF Zone – (UN Patrolled Zone in Syria) - B49
  75. W. Sahara – (Admin. by Morocco; Claimed by Western Sahara) - B19
  76. W. Sahara – (Self admin.; Claimed by Morocco) - B28
  77. Wake Atoll – (Admin. by U.S.A.; Claimed by Marshall Islands) - B59
  78. West Bank – (n/a) - B54
  79. West of Essequibo River – (Admin. by Guyana; Claimed by Venezuela) - B56
Location: Civic Center, San Francisco, San Francisco City and County, California, 94102, USA

Comment from GinaroZ on 9 March 2019 at 01:29

Thanks for the work you’ve put into the post, however can I suggest that in future you use different colours than green and red together so that your graphics are accessible to colourblind users?

Comment from kucai on 9 March 2019 at 16:33

And good luck with China’s claim all over the South China Sea. #$@!

Comment from nvk on 10 March 2019 at 05:12

Thanks @GinaroZ for your comment on color legibility, good point.

@kucai Since China’s claim over the South China Sea is a maritime dispute I’ll be doing that last, if at all in this sprint ;)

Comment from bryceco on 12 March 2019 at 06:09

This is really valuable and an amazing effort.

Comment from woodpeck on 12 March 2019 at 06:57

This is an interesting project. However, as has been said in the ongoing discussion about dissenting views on administrative boundaries, there is often very little on-the-ground evidence of these claims. So if someone should come along and delete some of these claims that you plan to map in OSM on the basis of lack of evidence, they would have established OSM best practice on their side. This is especially true for geometries you add (as opposed to adding tags to existing geometries). To reduce the risk of disputes about disputed boundaries, I would suggest that you try your best to document the sources so that if something is not verifiable on the ground, it is at least verifiable through the source that you have specified. If OSM’s on-the-ground rules should turn out to be too much of a stumbling block for this project, then maybe as a compromise disputed boundaries in OSM could receive a pointer to an external “world-view database” that would allow data processors to query that separate database where needed. (Speaking in personal capacity, not in that of a DWG member.)

Comment from seav on 12 March 2019 at 08:57

Tiny nitpick: Spratly Is. is also claimed by Vietnam.

Comment from imagico on 12 March 2019 at 10:50

To be frank - your effort is highly problematic because it is calling for systematically entering non-verifiable data into OSM. Doing so without first having and concluding an open discussion with the community about revising our core principles is something i would consider very close to calling for vandalizing OSM.

Johnparis with his proposal took the appropriate approach to discuss his ideas and be open to adjusting them from feedback received. You on the other hand present finished instructions here and call for implementing them without offering to have an open discussion first.

Now it is quite possible that your approach could be more successful since there is a significant fraction of the OSM community who want to abolish verifiability in the OSM sense or at least downgrade it to a suggestion. It is even possible that there meanwhile would be a majority for this among mappers due to changing demographics. But that does not make it the right approach. And it is rather short sighted because the social cohesion of the OSM community fundamentally depends on verifiability - which you try to punch out of your way so to speak with your approach. I wrote about this subject more extensively.

Consequently this:

But there isn’t yet a consensus in OpenStreetMap about which approach to take

Is a gross mis-characterization of the situation. There is no consensus at the moment if disputed boundaries should be recorded in OSM.

My suggestion to you: Collect the disputed boundary data in a separate database outside the main OSM db. You could do this either within existing projects (like wikidata) or as a separate new database that is compatible to OSM so can be used with the same tools. This would be the respectful and responsible way to pursue your interests here and could serve as a blueprint for other types of non-verifiable data people might want to record.

Comment from dieterdreist on 12 March 2019 at 11:00

I do not understand what is the big issue with verifiability and ground truth, now that we can have arbitrary exceptions to the rules. Why not make an exception?

Comment from nyuriks on 12 March 2019 at 22:04

As I mentioned previously, I believe this to be a wonderful effort that will make any data consumer’s job much easier. An external database is a wrong approach because it makes harder to collaborate and consume the data – essentially we are forking OSM db into multiple dbs with identical functionality but different rules. Both DBs will need to be curated, collaborated with participants, require tools to work with, etc etc. So instead of simply allowing those who are interesting in this project to do it, to draw and tag data with the clearly marked “disputed” status, we have OSM purists who claim others must follow the most conservative views and must not do anything they do not like. I find this very much against the whole idea of the open data project.

Comment from nickpeihl on 12 March 2019 at 23:21

Thank you for taking this on @nvk. As a consumer and redistributor of administrative boundaries from OpenStreetMap I believe that it is imperative that disputed boundaries be mapped in OpenStreetMap.

If we want a worldwide community of mappers in OSM, we must not force users to a single world view perspective.

In 2016, a draft bill was proposed in India with severe penalties for using a map inconsistent with India’s official borders. The bill failed to pass, but could could be revived at any time. Would we be comfortable with losing 1.4 billion potential mappers/users? What if Russia passed a similar bill with respect to boundaries in Crimea?

This effort by @nvk promotes inclusivity and diversity for all OSM users. I fully support this project.

Comment from FreedSky on 13 March 2019 at 02:16

If it is implemented well, some local websites can choose specific data to render the boundaries of their own country’s claims. This is very good.

Comment from FreedSky on 13 March 2019 at 02:23

BTW you left

XD there so chaos

Comment from nvk on 13 March 2019 at 22:48

@FreedSky: Thanks for pointing that out! Added data to the ways in via

Comment from nvk on 13 March 2019 at 22:50

Updated table in diary entry to indicate Spratly Is. is also claimed by Vietnam, thanks @seav.

Comment from Jarek Piórkowski on 15 March 2019 at 19:19

I must say that encoding Hans Island as “administered” by Denmark is going to be fairly amusing if anyone ends up there expecting any administrative infrastructure.

Login to leave a comment