Weeknotes, 2026W04: Boundary Issues
I recently nerd-sniped myself into thinking about political points of view on maps, and wondering whether it’d be possible to create OpenStreetMap-derived, Wikipedia-informed national borders on a Protomaps base map legal for educational use in countries in conflict with one another. The scale of effort is beyond a single person, so I want it to be possible to accept contributions as we did when building OpenAddresses with Ian Dees a decade ago.
Objectively this is an insane goal and I feel somewhat embarrassed for trying it. This post documents my attempt.
The Problem
Boundary disputes are a major but little-known challenge in mapping: how can you show disputed borders between neighboring countries that claim the same territory? Two famous examples are Crimea, claimed by both Russia and Ukraine since 2014, and the Kashmir region, claimed in different combinations by India, Pakistan, and China since 1947. Here in the U.S. we’re used to seeing dashed lines on maps for these cases with the understanding that our point of view is neutral. Any conflict is understood as a local aberration and it’s us here in the G7, First-World, NATO, WEIRD societies who can hold the view that renders conflicting borders as dashed lines.
When I was at Meta working on the maps team, we couldn’t afford to hold this “view from nowhere”. Facebook is enormously popular in India where showing a map that doesn’t match the country’s own vision of itself carried criminal penalties for our colleagues. Laws on cartography in India are specific and strict. We were big enough that national parliaments routinely interested themselves in our representation of their sovereign territories. My colleague Drishtie Patel initiated the work on adopting multiviews, and Alex Pompe from the Data For Good team often defused potential risks derived from the datasets we published. Overture Maps, a successor to our work there, has space in its divisions schema for “perspectives” but I believe these are not yet populated.
Resources
Wikidata is already a resource commonly referenced in OpenStreetMap and Overture Maps to link spatial data to the semantic world of Wikipedia. QRank is a common way to use Wikidata to gauge importance of entities for cartographic rendering. The textual content of Wikipedia articles shines a light on how different conflicting claims should be handled.
How can we build up a legal multiview boundary set from just OSM data and its links to Wikidata? And do it so that it can accept contributions?
Process
Firstly, it’s common to find disputed regions themselves mapped in OSM with a variety of tags indicating their status and identity. We can mostly ignore the OSM point of view tags and focus on the accuracy of the boundary polygons for places like Aksai Chin, Crimea, the Demchok sector, Jammu and Kashmir, South Tibet / Arunchal Pradesh, and others. OSM has an existing policy for mapping disputed regions referencing its On The Ground principle, though the policy is itself under dispute. OSM’s value for this is solely as a source of polygon geometries likely to be accurate independent of political status.
Second, we can use the OSM API’s “full” export to cache those relations at a point in time. The changeset ID or version number of a relation is not meaningful, since it would still be possible to edit component ways or nodes changing the polygon shape without updating its version number. Instead, retrieve and cache. OSM API output data is natively readable by spatial tools like GDAL.
Third, we can build up a representation of a territory by adding and subtracting these regions from one another using simple polygon operations like Union or Difference. Ukraine’s point of view regarding Crimea would combine the polygon into its own territory while excluding it from Russia.
Fourth, we can represent these different territory combinations as “perspectives”. Pakistan’s perspective on its own territory includes India-administered Kashmir within its interior but excludes the Demchok Sector claimed by China. No representation should be offered without a named perspective, even the supposedly-neutral point of view is a view from somewhere. Nathaniel Kelso’s Natural Earth POV downloads are an existing example, with separate downloads for world boundaries from 33 different points of view according to a de jure (“by law”) policy:
Our north star for adding boundary point-of-view is our belief that a school teacher should be able to teach geography with maps based on Natural Earth data without that teacher worrying about legal compliance issues.
Fifth, we can use test points to make assertions about our different perspectives. For example, from India’s perspective Aksai Chin and Arunchal Pradesh should fall within its territory. From China’s perspective the opposite is true. A central point in each region can act as a signal for whether the expectation is being met. This is a coarse version of something happening across the Himalayas right now, with lines of control defined by mountain ridges and maximum distance attained by patrolling parties reaching defined destinations.
Finally, we can put all these signals together in configuration files with space for perspectives and test points to generate different datasets with disputed and agreed boundaries. These two examples show the area and boundaries of Crimea from Ukraine and Russia’s perspectives:
Kashmir is more complicated, with three overlapping claimants for different sections. Pakistan (first map) claims all of Kashmir but disclaims Demchock. China (second map) claims a string of disputed territories on its border. India (third map) claims a territory from both its neighbors; this map is most similar to the one shown on OSM India’s home page. These maps show shaded gray disputed boundaries only within the territories of a neighbor; the view-holder’s own territory is not under dispute. A disinterested observer (fourth map) would show the territory under physical control and use disputed boundary rendering much more liberally, though the boundaries rendered here are still a work in progress based on a two-country definition instead of larger clusters like CHN/IND/PAK (note the ambguity around the Trans-Karakoram Tract):
Repository
With a nod to Ingrid Burrington who coined this name, Boundary Issues includes YAML files representing country-level territory configurations. This one for Ukraine includes Crimea within its self-image, excludes Crimea from Russia’s perspective, and asserts a central point on the peninsula as a test for each (I did not try to model Donetsk or Luhansk):
UKR:
base:
# Ukraine includes Crimea in OSM
- [plus, relation, 60199, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/60199.osm.xml.gz"] # Ukraine
perspectives:
RUS:
- [minus, relation, 3788824, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/3788824.osm.xml.gz"] # Crimea
interior-points:
base:
- [34.25, 45.41] # Crimea
exterior-points:
RUS:
- [34.25, 45.41] # CrimeaThis much more extensive example represents India and its competitive neighbors:
IND:
base:
- [plus, relation, 304716, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/304716.osm.xml.gz"] # India
perspectives:
IND:
# India's additional claims in the Sino-Indian border dispute
- [plus, relation, 7935380, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/7935380.osm.xml.gz"] # Trans-Karakoram Tract
- [plus, relation, 2713465, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713465.osm.xml.gz"] # Aksai Chin
- [plus, relation, 2713466, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713466.osm.xml.gz"] # Demchok sector
# India's claims on "Pakistan-occupied Kashmir"
- [plus, relation, 13414393, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/13414393.osm.xml.gz"] # Pakistani-Administered Kashmir
PAK:
# Pakistan's claims on "Indian-occupied Kashmir"
- [minus, relation, 5515045, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/5515045.osm.xml.gz"] # Ladakh
- [minus, relation, 1943188, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/1943188.osm.xml.gz"] # Jammu and Kashmir
CHN:
# China's claims in the Sino-Indian border dispute
- [minus, relation, 7935380, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/7935380.osm.xml.gz"] # Trans-Karakoram Tract
- [minus, relation, 2713466, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713466.osm.xml.gz"] # Demchok sector
- [minus, relation, 2713483, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713483.osm.xml.gz"] # Gue-Kaurik
- [minus, relation, 2713485, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713485.osm.xml.gz"] # Shipki La
- [minus, relation, 2713676, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713676.osm.xml.gz"] # Nilang-Jadhang
- [minus, relation, 2713484, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/2713484.osm.xml.gz"] # Wu-Je (Barahoti)
- [minus, relation, 3202329, "https://github.com/migurski/political-multiviews/raw/cf219d1/data/sources/relation/3202329.osm.xml.gz"] # South Tibet (Arunachal Pradesh)
interior-points:
base:
# Points recognized to be administered by India
- [77.54, 34.07] # Ladakh
- [79.35, 32.72] # Western Demchock sector
- [94.47, 28.36] # Arunachal Pradesh (South Tibet)
IND:
# Points claimed by India
- [74.95, 35.81] # Pakistani-Administered Kashmir
- [77.54, 34.07] # Ladakh
- [79.18, 35.15] # Aksai Chin
- [76.32, 36.09] # Trans-Karakoram Tract
- [79.26, 33.11] # Eastern Demchock sector
- [79.35, 32.72] # Western Demchock sector
- [94.47, 28.36] # Arunachal Pradesh (South Tibet)
exterior-points:
base:
# Points recognized to be not administered by India
- [74.95, 35.81] # Pakistani-Administered Kashmir
CHN:
# Points claimed by China
- [79.18, 35.15] # Aksai Chin
- [76.32, 36.09] # Trans-Karakoram Tract
- [79.26, 33.11] # Eastern Demchock sector
- [79.35, 32.72] # Western Demchock sector
- [94.47, 28.36] # South Tibet (Arunachal Pradesh)
PAK:
# Points claimed by Pakistan
- [74.95, 35.81] # Pakistani-Administered Kashmir
- [77.54, 34.07] # Ladakh
- [79.26, 33.11] # Eastern Demchock sectorYAML is a great choice for these because it can include comments. Area and Boundary files are generated via a script. No output is free of a point of view; all views are “from somewhere”. Contributions can occur via the Pull Request mechanism provided atop Git by Github, similar to what we support in OpenAddresses. This might offer a way to represent country boundaries in Protomaps legal for use in many jurisdictions.
