- fix water
kind=ocean
via @dericke [#329]
- Add landcover styling [#154]
- Adjust appearance of landuse layers to fade in after landcover
- add icons for a few lapis and slategray POIs [#238, #163]
- adjust light theme earth color
- add fonts and landcover as optional properties of
Theme
interface
- fix buildings
min_height
via @JfrAziz [#323]
- add icon sprites for six green kinds [#238]
- point v4 styles at v4 sprites assets URL
- change light theme water color to blue instead of white for contrast
- consistent halo size across layers
- add landuse
kind=runway
- fix
roads
kind=ferry
, remove ferrykind_detail
[#312]
- Remove
medium_road
- Move all current
transit
features intoroads
pier
is nowkind=path
kind_detail=pier
- remove
level
andlayer
keys - change
link=1
tois_link=true
- change
level=-1
andlevel=1
tois_bridge=true
andis_tunnel=true
- Remove
transit_pier
theme property kind_detail
in boundaries is the min admin level- add placeholder
sort_rank
to relevant layers - rename peak
ele
toelevation
- remove all
pmap:
prefixes from style (breaking change) (#282) - refactor layers as described in tiles v4.0.0-alpha.3
- remove all
pmap:
prefixes (breaking change) [#282] - remove
physical_point
,natural
andphysical_line
layers.- move into
landuse
,water
,pois
andearth
layers to align with Tilezen. - Some layers are now mixed geometry types.
- move into
- Add lang and script parameters to TypeScript style generation [#275]
- Replace Natural Earth places at low zooms with OSM [#289]
- Segment name by script via @wipfli [#273]
- change fountains in
water
layer tokind=fountain
[#279]
- change to
tsup
for building ESM/CJS/IIFE outputs via @iwpnd [#231]
- Use a positioned glyph font encoding for Devanagari via @wipfli [#265]
- More places kinds (port from Tilezen), refine zoom levels via @nvkelso [#259]
- Add
pmap:script
for non-latin names via @wipfli [#254]
- Exclude buildings from
transit
layer. via @pietervdvn [#249]
- introduce dependency on a spritesheet:
- example for
light
theme https://protomaps.github.io/basemaps-assets/sprites/v3/light` - Style deployments need to depend on the spritesheet assets in addition to fonts. - Migrate town labels to single "symbol" style layer to specify linked "icon" and "text", using the new spritesheet to source the icon's image. This resolves a bug where townspot icons in the old places_locality_circle "circle" style layer were often orphaned (still displayed) even if the related text in the places_locality "symbol" style layer couldn't be placed. The circle style layer has been removed and consolidated into the symbol style layer.
- Standardize JS package.json on ES6 modules
- Order landcover by kind consistently [#154]
- Add Daylight Landcover from zooms 0-7. [#154]
- Improve boundaries generalization [#200]
- Add
village_green
,landuse
,allotments
to POI layer via @lenalebt [#204] - Add to styles via
landuse_urban_green
layer
- Improve water generalization detail by doing area filtering post-merge [#198]
- Add
village_green
andallotments
to landuse layer via @lenalebt [#206] - Remove non-deterministic ordering ID from POIs
- stricter parsing of building height values [#205]
- Boundaries admin_level 3 and 5 are included along with 4 and 6, respectively [#189]
- Fix pedestrian bridge areas
- Fix ordering issues related to pedestrian bridges.
- Fix appearance of NE boundaries at low zooms.
- Add
pmap:kind
=bus_stop
to POIs. via @eikes
- Make
disputed
tag on boundaries consistent [#190]
- Release date: 2023-07-10.
- Credits: @nvkelso, @bdon, @jamesscottbrown, @tyrauber, @HeikoGr, and @Edefritz
- landuse layer: Move
national_park
,protected_area
, andnature_reserve
to landuse layer from natural layer as they are not natural but cultural. #47 - landuse layer: OSM features with
leisure
tag are now mapped to individual kind values instead of all erroneously topark
. #47 - landuse layer: Features with
amenity
tag are mapped to individual kind values instead of all erroneously toschool
when nothospital
. #47 - natural layer: Moved
national_park
,protected_area
, andnature_reserve
to landuse layer. #47 - places layer: OSM
state
(province) is nowregion
(preparing for v4 Tilezen changes) #47 - places layer: OSM
city
is nowlocality
(preparing for v4 Tilezen changes) #47 - places layer: OSM
town
andvillage
are nowlocality
("city") instead ofneighbourhood
(fixing v2 series bug and preparing for v4 Tilezen changes) #37
- Significant performance improvements to reduce p99 file sizes globally (-XX%) at all zooms to under 200 kb. Changes include: ...
- Core Tilezen schema properties added::
pmap:kind
is present on every feature now in every layerpmap:kind_detail
is optionally present on some features in some layers- DEPRECATION WARNING: in v4, the
pmap:
prefix will be removed (sopmap:kind
will become simplykind
)
- Core OSM tags for different kinds of places have been augmented, but...
- DEPRECATION WARNING: These OSM tags are marked for deprecation in v4 schema, do not use these for styling. They aren't needed and take up extra file size.
- If an explicate value is needed it should be a kind, or included in kind_detail. If there is a gap, please file an issue so it can be addressed.
- Less names, now with label placements:
- Names have been removed from most features at early and mid-zooms (to also reduce file size)
- Names have been kept on some features at early- and mid-zooms when they are known to be used for map display
- When features do have names, a pmap:min_zoom is added to achieve more predictable label collisions client side.
- DEPRECATION WARNING: in v4, the
pmap:
prefix will be removed (sopmap:min_zoom
will become simplymin_zoom
)
- DEPRECATION WARNING: in v4, the
- Zoom ranges of most features have been adjusted to remove details (and reduce file size) at early and mid-zooms. #47
- boundaries layer: Add boolean indication of
disputed
lines #37 - boundaries layer: Use Natural Earth for low zoom boundary lines, including disputed status #47
- boundaries layer: Don't export admin_level
1
,3
,5
, and7
– those generally aren't styled and are taking up a lot of file size even at very low zooms #47 - boundaries layer: Adjust zoom range of
county
lines to show starting at zoom 8 instead of 10. #47 - buildings layer: Adjust zoom ranges, push
building_part
kind features to later zooms (to reduce file size) #47 - buildings layer: Quantize
height
tag at mid-zooms so more buildings merge in post-processing (to reduce file size) #47 - buildings layer: Add optional
min_height
property to enable 2.5D and 3D visualizations #47 - earth layer: Add 8 px buffer for Natural Earth sourced features at low zooms. #47
- landuse layer: Add new
kind
values for:beach
,pier
,zoo
,military
,naval_base
,airfield
,cemetery
,recreation_ground
,winter_sports
,quarry
,park
, andforest
. #47 - landuse layer: Add new
national_park
kind (versuspark
), looking atoperator
tag to derive this from OSM to emphasize US National Park Service in United States of America and elsewhere #47 - landuse layer: Improve detection of
forest
kind (versuswood
), looking atoperator
tag to derive this from OSM to emphasize National Forests in United States of America and elsewhere #47 - landuse layer: Remove names to reduce tile sizes (see the pois layer for calculated label points) #47
- landuse layer: Reduce small polygons to improve figure-ground contrast and reduce file size. #47
- landuse layer: Add
boundary
,landuse
,leisure
, andnatural
properties from OSM tags (though don't use them to be v4 safe) #47 - natural layer: Add new
kind
value forgrass
#47 - natural layer: Update to the same
pmap:kind
coallesce as in the landuse layer #47 - natural layer: Remove
boundary
andleisure
properties (they moved to landuse layer along with the relevant featurse) #47 - natural layer: Remove small polygons to improve figure-ground contrast and reduce file size. #47
- natural layer: Merge polygons with similar attributes to reduce file size. #37
- natural_lines layer: Show
river
lines 3 zooms earlier at zoom 9. #47 - natural_lines layer: For linear water features like rivers – add tunnel / bridge indicator with
pmap:level
(same as roads layer) #47 - natural_lines layer: Add
bridge
,tunnel
, andlayer
properties from OSM. #47 - natural_lines layer: Add
intermittent
boolean indicators. #47 - natural_points layer: Show
ocean
andsea
label points much earlier. #47 - natural_points layer: Add calculated label positions for water features (like
lake
,reservoir
,swimming_pool
and other terrestial water features; andbay
,strait
,fjord
marine featuers) #47 - natural_points layer: Add
alkaline
,intermittent
, andreservoir
boolean indicators. #47 - natural_points layer: Add
natural
,landuse
,leisure
,water
, andwaterway
properties from OSM (though don't use them to be v4 safe) #47 - places layer: Use Natural Earth for low-zoom
locality
features (to reduce file size) #47 - places layer: Add server-side label collisions with a label grid to reduce number of places in tiles, especially at mid-zooms. #47
- places layer: Remove
country
andregion
labels from mid- and high-zooms (still present at low-zooms) #47 - places layer: Add
pmap:kind_detail
for original OSM "place" tag values (including "city" instead of "locality") #47 - places layer: Add
pmap:population_rank
for a quantized and backfilled population approximation. #47 - places layer: Curate custom
min_zooms
forcountry
andregion
(state/province) labels to removes many labels from early zooms when they couldn't reasonably be labeled anyhow (to reduce file size) #47 - pois layer: Add new
national_park
kind (versuspark
), looking atoperator
tag to derive this from OSM to emphasize US National Park Service in United States of America and elsewhere #47 - pois layer: Improve detection of
forest
kind (versuswood
), looking atoperator
tag to derive this from OSM to emphasize National Forests in United States of America and elsewhere #47 - pois layer: Add allow listed OSM features from natural (
beach
) and landuse (cemetery
,recreation_ground
,winter_sports
,quarry
,park
,forest
,military
) tags. #47 - pois layer: Add
amenity
,attraction
,boundary
(select),craft
,historic
,landuse
(select),natural
(select),shop
,railway
(select), andtourism
features and exported OSM tag to schema property (though don't use them to be v4 safe) #47 - pois layer: Add additional pasthru unrestricted OSM values from
attraction
,craft
,historic
,landuse
,leisure
, andnatural
tags. This augmentsamenity
,railway
,shop
, andtourism
. #47 - pois layer: Add
cuisine
,religion
tags (though usepmap:kind_detail
instead to be v4 safe) #47 - pois layer: Add
iata
property onairport
kind features to indicate if they have international service. #47 - pois layer: Derive label centroids from OSM ways and relations features to hugely increasing the number of included features #47
- pois layer: Add server-side label collisions with a label grid to reduce number of features in tiles at mid-zooms (all features still included at
max_zoom
) #47 - pois layer: Add smattering of higher priority (even within a kind) features at earlier zoom levels (eg based on feature area and/or height). This primarily effects
aerodrome
,airfield
,cemetery
,college
,forest
,golf_course
,grocery
,hospital
,library
,marina
,military
,national_park
,nature_reserve
,naval_base
,park
,post_office
,protected_area
,stadium
,supermarket
,townhall
,university
, andzoo
, or very large building area derived labels, or very tall height building area derived labels. #47 - pois layer: Indicate with
pmap:min_zoom
property when a feature first became eligible to be in tiles, and markmax_zoom
features to hide until later display zooms. Use thispmap:min_zoom
property to setup client-side labe collisions. NOTE: In v4 it'll be renamed to justmin_zoom
. #47 - roads layer: Modify
ref
tag values to remove some prefix values and remove whitespace values (for easier construction into client side shields with narrower graphics). #37 - roads layer: Add
shield_text_length
for the integer lenth of theref
tag (with transformations) to more quickly converge towards Tilezen syntax. Can be paired with newnetwork
property to display client-side road shields. #37 - roads layer: Add
network
with values ofUS:I
,US:US
orother
. Can be paired with newshield_text_length
andref
properties to display client-side road shields. #37 - roads layer: Add
pmap:kind_detail
for values ofservice
tag forother
kind roads (eg forparking_aisle
features) #47 - roads layer: Remove name and ref tags from low- and mid-zooms selectively by road class to improve merging and reduce file size. #47
- roads layer: Add
pier
kind lines. See also newpier
areas in the landuse layer. #47 - roads layer: Remove small lines at low- and mid-zooms to improve figure-ground contrast and reduce file size. #37
- transit layer: Show
runway
andtaxiway
kinds earlier (zoom 9 and 10), showpier
,yard
,siding
, andcrossover
kinds later (zoom 13). #47 - transit layer: Show certain kinds of railway (like
light_rail
anddisused
) later. #47 - transit layer: Indicate with
pmap:kind_detail
the value of the relevantservice
,ferry
, oraerialway
tags. #47 - transit layer: Add tunnel / bridge indicators with
pmap:level
(same as roads layer in v2), andlayer
property. #47 - transit layer: Add
network
,ref
,route
, andservice
properties. #47 - transit layer: Add
aerialway
,aeroway
,highspeed
,man_made
, andrailway
properties (though don't use them to be v4 safe) #47 - transit layer: Remove small lines at low- and mid-zooms to improve figure-ground contrast and reduce file size. #37
- water layer: Use Natural Earth for low-zoom water polygons #47
- water layer: Use better
kind
values to match new label points in physical points layer #47 - water layer: Add tunnel / bridge indicator with
pmap:level
(same as roads layer in v2) andalkaline
,intermittent
, andreservoir
boolean indicators #47 - water layer: Reduce small polygons to improve figure-ground contrast and reduce file size. #47
- See also the "Breaking Changes" section above...
- buildings layer: Drop all names from buildings. #47
- buildings layer: Exclude "no" features from
building
andbuilding_part
. #47 - places layer: Fix parsing of OSM
population
values to be comma safe. #38 - places layer: Fix parsing of OSM
population
values to be null safe. #22 - roads layer: Remove OSM highway features that have been "abandoned", "razed", "demolished", or "removed". #35
- transit layer: Remove OSM transit features that have been "razed", "demolished", "removed", or "proposed". #35
- Fix project path in README.md #24
- Fix Markdown in link formatting #24
- Update default Protomaps style in MapLibre JS so it shows off the new features (and any impactful changes). #37 and #47
- Update default Protomaps style in MapLibre JS so road casing layers are below other road layers #42
- Update default Protomaps style in MapLibre JS so country boundary lines are solid #45
- Update default Protomaps style in MapLibre JS with new "basic" color theme #46
- Update OpenLayers plugin example to use official olpmtiles library instead of custom library #49
- landuse layer: Allow fallback coallese of allow-listed OSM tags into
pmap:kind
. #47 - roads layer: Significant refactor of the kind and other property logic.
- Add Usage section to README: #20
- Update Usage section to README for building tiles and applying code linting (formatting): #37
- Add Makefile with common build commands for easier development #47
- Add ability to build GeoFabrik named
area
regions (eg "monaco") in the CLI. #20 - Improve consistency of internal private variable names in Planetiler profile #47
- Add SonarCloud linting... #31
- Add Spotless #25
- Don't version track target, YARN, DStore, or PMTiles artifacts: #20
-
Release date: 2023-04-26.
-
Credits: @bdon
-
Initial open source release as a reimplementation of the Protomaps Basemap vector tile schema as a Planetiler schema in Java.
-
Add openlayers basemap example
-
Publish new PMTiles artifact:
-
Release date: 2020-10-26
-
Credits: @bdon
-
Last closed source version of the Protomaps Basemap vector tile schema
-
Add build script
-
Release date: 2020-03-05.
-
Credits: @bdon
-
Initiial closed source version of the Protomaps Basemap vector tile schema
NOTE: Release numbers follow Semantic Versioning. See also current project VERSION, the release notes here are for tagged releases; pre-release development changes are often not summarized until a tagged release.