GeoServer 2.17 was released in April 21st 2020. In this webinar you will learn about MBStyles support, vector tiles, improved security, map rendering advancement, GeoWebCache performance improvement, and more.
GeoServer 2.17.0 ⚫ Released April 21st 2020 along with GeoTools 23.0 ⚫ First release of the 2.17.x series ⚫ 2.17.x get 5 more releases ⚫ In "stable status" until September 2020, with some new features getting backported ⚫ In "maintenance" status until March 2021, mostly with bug fixes ⚫ Can run on Java 8 or Java 11
Mapbox GL Styles plugin ⚫ Can apply Mapbox GL styles server side ⚫ Graduated from community to extension status ⚫ Use cases: ⚫ Re-use existing Mapbox GL styles on the server side ⚫ Edit styles with external editor (e.g., Maputnik) ⚫ Setup a hybrid rendering solution GeoServer Data Mapbox GL Classic OGC client Mapbox client WMTS/PNG WMTS/MVT
Mapbox GL Styles plugin ⚫ Received significant QA work, 18 tickets resolved ⚫ Increased rendering fidelity (e.g. better match of zoom related functions, improved font matching) ⚫ Increased behavior match (e.g. icons and labels showing up together, or disappearing together)
Map engine improvements ⚫ The Mapbox GL work required new functionality, made available in all style languages. ⚫ Other functionalities added as well, independent of the Mapbox GL work ⚫ In particular: ⚫ Background fill ⚫ Associate symbol with label, make them show either together, or none ⚫ Automatic font shrinking to fit labels in polygons ⚫ Drape symbol along a line (vs just repeating it)
Offset label shield ⚫ Label shield functionality allows to center a label and a background graphic. ⚫ Meant to be used for road shields ⚫ New "graphicPlacement" vendor option ⚫ "label" centers with the label ⚫ "independent" centers with the original point + offset/anchor ⚫ Allows to setup point/label combos that are stacked, and yet display as a single entity
Auto-shrink polygon labels ⚫ Make an effort to fit labels inside polygons ⚫ Shrink them down to a min target size, rather than making them overflow or disappear
Drape line symbol along a line ⚫ LineSybolizer allow to repeat a symbol along a line ⚫ The result is normally dis-continuous at line vertices markAlongLine=true markAlongLine=false
Mbtiles + Vector tiles data source ⚫ A MBTiles file is a SQLite tile storage ⚫ One main table called "tiles" ⚫ One support table called "metadata" ⚫ Limited to the web Mercator tile matrix set ⚫ Tiles can be filled with images, but also with Mapbox Vector Tiles (MVT) ⚫ The metadata table provides, among others, a schema for them CREATE TABLE tiles (zoom_level integer, tile_column integer, tile_row integer, tile_data blob); CREATE TABLE metadata (name text, value text);
MBTiles + Vector tiles data source ⚫ Multiple layers contained in a single tile ⚫ Polygons/lines split among tiles ⚫ Clients typically don't stitch back data (expensive) ⚫ Each tile contains a buffer of extra data around to avoid rendering artifacts https://blog.cyclemap.link/2020-01-25-tilebuffer/
MBTiles + Vector tiles data source ⚫ The store provides access to the layers separately (usual data model for GeoServer) ⚫ Rendering OpenMapTiles data + MB GL Styles
WMS cascading improved ⚫ Choose which remote styles to use and expose ⚫ Choose format used for cascading ⚫ Limit cascading to a scale range and declared BBOX
OGC API – Marching on! ⚫ The OGC API community modules keep improving: ⚫ Updated OGC API - Features API to latest spec ⚫ Added filtering and CRS extensions ⚫ OGC API – Tiles ⚫ OGC API – Styles
FlatGeoBuf community module ⚫ FlatGeoBuf is "a performant binary encoding for geographic data based on flatbuffers …" ⚫ WFS (OGC API – Features) output format ⚫ New community module ⚫ Performance comparison, shapefile as reference
Faster startup ⚫ 30% faster GWC layer loading during startup ⚫ Improved CPU consumption ⚫ Test loading 1 million layers, with 1 million cached layers associated, over the past releases Version Released Startup GWC_startup 2.14.4 2019-06-13 9m 5s 39s 2.15.0 2019-02-27 2.15.2 2019-06-28 6m 45s 40s 2.16.0 2019-09-18 6m 05s 34s 2.16.2 2020-01-20 6m 45s 34s 2.17.0 2020-04-19 6m 33s 22s Data courtesy of Gabriel Roldan
Configure XYZ layout on disk ⚫ GWC disk layout is optimized to keep directory listings short, but cannot be used to setup a static tile cache ⚫ In 2.17.0 one can create a ZYX/Z(-Y)X layout, seed it, and move to static file serving
More tolerant seed ⚫ Traditionally GWC seeding threads would stop at the first map building error encountered. Now tolerance can be configured on a per job basis.
Resource browser extension ⚫ Access contents of the data directory directly from the GUI ⚫ Useful for remote servers, mandatory if one is not storing the config on the file system
Custom dimensions for vector layers ⚫ WMS dimension ⚫ Time ⚫ Elevation ⚫ Custom ⚫ Custom used to be supported by raster data only ⚫ Now supported by vector data too