-
Release date: 2023-03-10
-
Requires: tileserver v2.2.0 and tilequeue v2.5.0 and rawr_tiles v1.1.0 and coanacatl v1.0.0
-
Credits: @travisgrigsby, @jeffdefacto, @peitili, @iandees, and @nvkelso
ENHANCEMENTS
- Significant performance improvements to reduce p99 file sizes globally (-45%) at all zooms to under 200 kb, with some improvements for low-zoom p50 sizes. Changes include: geometry simplification at low zooms, pushing some features like unclassified roads to the next zoom, dropping names on short lines and dropping other properties at mid-zooms to also allow more aggressive merges to multi-lines and multi-polygons, and more sophisticated handling of max zoom and overzoom tiles for buildings and addresses. Further reductions can be achieved by configuring Tapalcatl to selectively drop layers and name translations (eg to drop
earthandtransitlayers or only keep English and Urdu names) depending on your business needs.

(Above) Chart shows sizes in kilobytes, based on commonly requested top 100,000 tiles at 512 pixel zooms. NOTE: all other zooms in this document use nominal 256 pixel zooms, offset by 1. - Internationalization is now feature complete by extending disputed boundary point-of-view handling fully into mid- and high-zooms with extensive paired data edits upstream in OpenStreetMap, using Natural Earth as a sanity check for country names, and consideration of common and less common edge cases, including Taiwan and Somaliland.
- MapLibre support with buffered tiles and connivence properties like pre-calculating shield text length allow Tilezen tiles to more easily be styled in MapLibre and MapboxGL, thus extending support beyond Tangram.
- boundaries: Add disputed boundary line point-of-view (POV) for mid- and high-zoom features sourced from OpenStreetMap (OSM), including extensive upstream editing in OSM to match Natural Earth's low-zoom disputed area modeling in earlier releases. New
unrecognized_disputekind anddisputed_byproperty. (Issue #1901) - boundaries: Add missing Cyprus line-of-control (aka "green line") as it has custom
admin_leveltagging. (Issue #1898) - boundaries: Add Ukraine point-of-view for disputed boundaries. (Issue #1911)
- boundaries: Add disputed boundary in South China Sea scoped to China's point-of-view (POV). (Issue #1983)
- boundaries: Mark some Natural Earth low-zoom boundaries as default
unrecognized, including for Abkhazia, Donbass, Nagorno-Karabakh, Northern Cyprus, Somaliland, South Ossetia, and Transnistria. (Pull request #2072) - buildings: Add additional non-OpenStreetMap buildings from the Microsoft sidecar in Daylight distribution.
- places: Always validate OpenStreetMap-sourced
country,dependencyanddisputedlabels against Natural Earth and new ISO and TLC point-of-views. (Issue #2075, #2076, and #2077 and pull request #2069) - places: Add recasted Australia "suburbs" from OpenStreetMap as
localityfeatures to match local expectations. (Pull request #2070) - places: Improve continuity between Natural Earth and OpenStreetMap (OSM)
localityfeatures and theirmin_zoomgrading. (Issue #2020) - places: Join OpenStreetMap
localityfeatures with Natural Earth (NE), and prefers NE names to improve consistency across the zoom transitions. (Pull request #2088) - places: Join OpenStreetMap
localityfeatures with Natural Earth (NE), and prefers NE population to calculatepopulation_rankfor label grading. (Issue #2048) - places: Backfill
populationestimates for OpenStreetMap-sourcedlocalityfeatures. (Issue #1992) - places: Cull
localityandneighbourhoodfeatures based on grid to right size tile payload to rendered features. (Issue #1999) and issue #2040) - pois: Add optional
directionproperty, an integer indicating degrees from 0-359, forviewpointkind features. Thanks @rwrx. (Issue #598 and pull request #1916) - roads: Calculate new
shield_text_lengthproperty to ease styling of road shields in MapboxGL-based map styles. (Issue #1979) - water: Add
kind_detailfor polygon features, with values including:basin,canal,ditch,drain,lake,river, andstream. (Pull request #2047) - water: Mark water polygon feature as
kind_detail=lakewhen upstream OpenStreetMap value islagoon,oxbow,pond,reservoir, orwastewater. (Pull request #2047) - water: Add optional
layerproperty for complicated over-under rendering situations, with adjustedsort_rankfor some features. (Issue #1910) - all layers: Switch to Daylight distribution for ingesting OpenStreetMap planet files, including building and admin sidecars. WARNING: Some OSM feature IDs may be re-numbered. (Pull request #2085)
- all layers: Upgrade to Natural Earth to v5.1.2, circa May 2022 (Issue #2074)
- earth: Upgrade to osmdata.openstreetmap.de circa October 2021.
- places: Upgrade to Who's On First
neighbourhoodfeatures, circa October 2021. - all layers: Add MVT buffer support to enable MapboxGL to render stroked lines at tile boundaries without missing triangles (eg for road casings). Tilequeue #401
- all layers: Vary the MVT tile
extentso 8192 is only used onmax_zoom(and 4096 earlier) to optimize file size while preserving overzooming. (Issue #1985) - all layers: Are now MVT v2 spec compliant, via related changes in Tilezen's mapbox-vector-tile v2.0.0 release.
BUG FIXES
- boundaries: Show all missing
disputedlines for point-of-view (POV) in low-zooms (removemin_zoomfilter). (Issue #1970) - boundaries: French
regionlines show too early, switch all from funkyscale_rankmapping to Natural Earth'smin_zoomproperty. (Issue #2062) - boundaries: Drop additional ID and name properties at mid-zooms and merge lines at high-zooms. (Issue #2007)
- boundaries: Revert poor tolerance config change from earlier release, this improves visual look for 512-pixel tiles in MapboxGL-based styles. (Issue #1980)
- boundaries: Fix some incorrectly marked maritime boundaries with new buffered land masking file. (Pull request #2073)
- buildings: Add
root_id=idto simplify MapboxGL-based styles. (Issue #2092) - buildings: Remove small buildings, reduce building geometry details, and remove some properties at mid- and high-zooms. (Pull request #2052)
- buildings: Ensure
addresspoints always have amin_zoomproperty (eg of17for generated address points). This is paired with a Tilequeue change to drop zoom 17 features from 512-px tile sized zoom 15 tiles to reduce tile size. (Issue #2023) and (issue #2032) - landuse: Drop properties at low- and mid-zooms to encourage more feature merging. (Issue #2009)
- landuse: Show more medium-sized
parkpolygons in cities at mid-zooms. (Issue #1995) - landuse: Tunnels for
canalshould draw underpedestrianplaza so adjustsort_rankfor these and some other kinds. (Issue #1910) - landuse: Switch sourcing of
resortupstream in OpenStreetMap to leisure from tourism. - roads: Remove
nameproperties from short road segments where they don't have enough room to label. (Issue #2019) - roads: Adjust zooms for regional and local cycle network influenced features one zoom later. Drop more
all_networksandall_shield_textsfor more zooms. Drop more bus, walking, and bicycle network properties at low- and mid-zooms. Drop general road shield properties at earlier zooms by kind. Drop other properties at earlier zooms. Selectively droplanduse_kindfrom mid-zooms by kind. Shiftunclassifiedroadsmin_zoomback to 12 from 11 as that's more common outside the USA than previously explored and negatively affected tile size. (Issue #2008) - roads: Remove additional low- and mid-zoom
ferryandaerowayproperties to enable more line merging. (Issue #2017, issue #2018, and pull request #2056) - roads: Revert poor tolerance config change from earlier release, this improves visual look for 512-pixel tiles in MapboxGL-based styles. (Issue #1980)
- roads: Fix wrong encoding for
CA:PEroad network in Prince Edward Island, thanks @musculman. (Pull request #1958) - places: Adjust min and max zoom of several country labels, including France and Norway to improve visual hierarchy and reduce tile size.
- places: Ensure Taiwan's country name is generic (and not objectionable to some).
- pois: Add sanity checks to
tz_estimate_parking_capacityto guard against bad data entry for some large parking lots. - pois: Switch sourcing of
resortupstream in OpenStreetMap to leisure from tourism. - transit: Simplify geometries at low- and mid-zooms. (Issue #1980)
- water: Remove name and other properties from low- and mid-zooms by kind to encourage more feature merging. (Issue #2010 and pull request #2047)
- water: Delay showing mid-zoom
canalfeatures when they don't support boats (and indicate if true with newboatproperty), instead show them starting at zoom 11. (Pull request #2098) - water: Mark intermittent polygons when basin is of type
infiltrationordetentionas OpenStreetMap often skips tagging thoseintermittent=yesexplicitly. (Pull request #2096) - water: Mark "reservoir" water polygon feature with a
reservoirboolean. (Pull request #2047) - water: Mark water polygon feature with a
alkalineboolean when upstream OpenStreetMap value islagoon,salt, orsalt_pool. (Pull request #2047) - water: Tunnels for
canalshould draw underpedestrianplaza so adjustsort_rank. (Issue #1910) - water: Remove
reservoirfeatures that are covered with a "roof". (Issue #1982) - water: Remove low- and mid-zoom water labels from small polygons. (Issue #2003)
- water: Ensure sea labels are visible at mid- and high-zooms, not just the max zoom. (Pull request#2103)
- all layers: Simplify geometry of low-zoom Natural Earth features in all layers to reduce file size. (Issue #2014)
DOCUMENTATION CHANGES
- Updated TileJSON for v1.9 schema changes.
- Updated Layers documentation for v1.9 schema changes.
- Add definitions and Wikidata ID concordances to poi layer kind list (now a table). (Issue #1939)
- Resolved some dangling TODOs and documentation, changelog formatting from v1.8.0 and earlier releases.
- Add to
hgv_restrictionfield an allowedaxels, thanks @Nazariii. (Pull request #1938) - Add
networkas an optional property to Traffic Flow and Incidents layers, , thanks @conor-ettinoffe-here. (Pull request #1936) - Change of
hgv_time_restrictionsfield to shorter Time Domain from more verbose GDF 5.1, thanks @roman-ianivskyy. (Pull request #2063) - Explain Chinese language name properties for traditional and simplified settings.
name:zhhas been deprecated but is still included. Instead use explicatename:zh-Hans中文 (Chinese): for primarily simplified (but sometimes traditional) andname:zh-Hant中文 (Chinese): for primarily traditional (but sometimes simplified) properties. (Pull request #1986, #1956, #1960, and #1961) - Add missing documentation for boundaries layer kind values from Natural Earth, including:
disputed_breakaway,disputed_claim,disputed_elusive, anddisputed_reference_line. (Pull request #1986) - Add scripts and documentation for OSM disputed borders. (Pull request #2085)
- Better document project, tile schema, and documentation licenses. (Issue #1136)
- Document Mac support for Apple silicon (eg M1 chips). (Pull request #2102)
- Document Python 2.7 working environment.
INTERNAL CHANGES
- Introduce pre-commit linters for YAML, JSON, and Python. (Issue #2004 and pull request #2029 and #2113)
- Add geo indexes and
ST_DWithinto limit the amount of work done when calculating transit layer features. (Pull request #1946) - Add new
pois_direction_intPython transform, thanks @rwrx. (Issue #1916) - Add new
osm_zh_variants_lookup,wof_zh_variants_lookupandne_zh_variants_lookupPython options. - Add new
clean_backfill_zhandpost_process_osm_zhPython transforms. - Add new
keep_n_features_griddedPython transform (used for reducing size of places layer). - Add new
tags_set_ne_pop_min_max_defaultPython transform. - Remove outdated
mz_min_pixelsPython transform. (Issue #1917) - Add ability to skip broken integration tests with
@unittest.skip(BROKEN)decorator, many of these are because of OSM data drift not logic problems. - Add support for preprocessed inline geojson layers. (Issue #2095](#2095))
- Tests: changed protocol to https, thanks @MrKrisKrisu. (Issue #1922)
- Tests: Fix two new water failures. (Issue #2038)
- Update the way we grab OpenStreetMap assets to Daylight distribution.
- Switch OpenStreetMap import config as LUA to Postgres. (Pull request #2089)
- Add ability to fix &/or enrich OSM on import using SQL, eg for US state abbreviations and road tagging. (Pull request #2104)
- Add SQL script to allow suppressing names in disputed island areas. (Pull request #2067)
- Update the way we grab tile assets, like
buffered_land. - Update the way we grab Natural Earth assets to their CDN as versioned assets.
- Update the way we grab Who's On First assets. (Pull request #1977)
- Add support for on-the-fly GeoJson layers and a new Mutator Transform. (Pull request #2095 and related tilequeue/414)
- Add new and missing requirements to requirements.txt (like hanzidentifier).
- Bump werkzeug dependency from 0.12.2 to 0.15.3. (Issue #1934)
- Update Werkzeug and urllib3 to account for security patches. (Pull request #1946)
- Limit setuptools to a version that supports Python 2 until we support Python 3. (Pull request #1946)
- Significant performance improvements to reduce p99 file sizes globally (-45%) at all zooms to under 200 kb, with some improvements for low-zoom p50 sizes. Changes include: geometry simplification at low zooms, pushing some features like unclassified roads to the next zoom, dropping names on short lines and dropping other properties at mid-zooms to also allow more aggressive merges to multi-lines and multi-polygons, and more sophisticated handling of max zoom and overzoom tiles for buildings and addresses. Further reductions can be achieved by configuring Tapalcatl to selectively drop layers and name translations (eg to drop