Location
https://xue.ringsaturn.me/?model=gfs&type=precip#map=1.65/28/128
Screenshots
Required information
- Browser: Safari&Chrome
- Renderer version: MapLibre GL JS 5.24.0
- Tileset version and source: hosted Protomaps API, v4
- Style JSON or NPM version
The basemap generator uses the OSM wikidata tag to join place features with the curated zoom configuration in places.csv.
When a place=country feature temporarily loses its wikidata tag, Places.getZoomsPops() silently skips the curated configuration and retains the default zoom values. This can remove major country labels from low-zoom tiles without producing a visible build error or warning.
This occurred in an OSM data incident affecting five country nodes. The missing tags have since been restored upstream, but the currently hosted Protomaps v4 tiles still demonstrate the failure mode.
The current code only applies a curated configuration when the feature contains a matching Wikidata ID:
|
private ZoomsPops getZoomsPops(Matcher.SourceFeatureWithComputedTags sf2, String kind, int population) { |
|
var zoomMatches = zoomsIndex.getMatches(sf2); |
|
int minZoom = getInteger(sf2, zoomMatches, "pm:minzoom", 99); |
|
int maxZoom = getInteger(sf2, zoomMatches, "pm:maxzoom", 99); |
|
int kindRank = getInteger(sf2, zoomMatches, "pm:kindRank", 99); |
|
|
|
int populationRank = 0; |
|
for (int i = 0; i < popBreaks.length; i++) { |
|
if (population >= popBreaks[i]) { |
|
populationRank = i + 1; |
|
} |
|
} |
|
|
|
if (WIKIDATA_CONFIGS.containsKey(sf2.getString("wikidata"))) { |
|
var wikidataConfig = WIKIDATA_CONFIGS.get(sf2.getString("wikidata")); |
|
if (kind.equals("country") || kind.equals("region")) { |
|
minZoom = wikidataConfig.minZoom(); |
|
maxZoom = wikidataConfig.maxZoom(); |
|
} |
|
if (kind.equals("locality")) { |
|
minZoom = wikidataConfig.minZoom(); |
|
populationRank = wikidataConfig.rankMax(); |
|
} |
|
} |
|
|
|
return new ZoomsPops(minZoom, maxZoom, kindRank, populationRank); |
China has this entry in
places.csv:
However, in the currently hosted v4 tiles:
- China is absent from the
places layer in the relevant z1 tile.
- The China feature in tile
z5/25/12 has kind=country.
- It has
min_zoom=6.
- It has no
wikidata property.
The feature therefore behaves as if the curated Q148 entry did not exist.
List of affected counties:
Upstream status:
The OSM community investigated the incident here:
https://community.openstreetmap.org/t/146752
The five missing Wikidata tags were restored on 2026-08-24:
Location
https://xue.ringsaturn.me/?model=gfs&type=precip#map=1.65/28/128
Screenshots
Required information
The basemap generator uses the OSM
wikidatatag to join place features with the curated zoom configuration inplaces.csv.When a
place=countryfeature temporarily loses itswikidatatag,Places.getZoomsPops()silently skips the curated configuration and retains the default zoom values. This can remove major country labels from low-zoom tiles without producing a visible build error or warning.This occurred in an OSM data incident affecting five country nodes. The missing tags have since been restored upstream, but the currently hosted Protomaps v4 tiles still demonstrate the failure mode.
The current code only applies a curated configuration when the feature contains a matching Wikidata ID:
basemaps/tiles/src/main/java/com/protomaps/basemap/layers/Places.java
Lines 401 to 426 in a50c699
China has this entry in
places.csv:basemaps/tiles/src/main/resources/places.csv
Line 42 in a50c699
However, in the currently hosted v4 tiles:
placeslayer in the relevant z1 tile.z5/25/12haskind=country.min_zoom=6.wikidataproperty.The feature therefore behaves as if the curated
Q148entry did not exist.List of affected counties:
Upstream status:
The OSM community investigated the incident here:
https://community.openstreetmap.org/t/146752
The five missing Wikidata tags were restored on 2026-08-24: