Features

GeoServer is a high-performance web service for the publication of spatial information.

GeoServer Enterprise is a commercial distribution of GeoServer offering long-term-support and extended support options for GeoCat customers. GeoCat is a proudly open source company working as a member of the GeoServer community.

If you have used earlier versions of GeoServer Enterprise review the current release notes </welcome/index> for an overview of significant changes in this version.

User Experience

GeoServer provides a website for visitors to discover available web services and preview the provided content.

Additional demos are available offering assistance in constructing requests. Troubleshooting tools are included to list coordinate reference systems, and practice coordinate transformations.

GeoServer Welcome page

The welcome page has been updated to allow visitors to explore the web services available.

The web services listed will dynamically change as visitors navigate into individual workspaces and layers which services are enabled. Once logged in users are shown any additional services they have permission to use.

GeoServer Enterprise Theme

GeoServer Enterprise includes a visual refresh with a fresh clean appearance.

../_images/geosever_enterprise_theme.png

GeoServer Enterprise Theme

GeoCat Map Theme

To coincide the the update of the GeoCat Website <https://www.geocat.net/map/> a new theme is available. This theme will become the default and is presently available for early access on request.

../_images/geocat-map-theme.png

GeoCat Map Theme (Preview)

GeoCat Map Live Theme

The GeoCat Live theme has been updated to reflect the new GeoCat Website <https://www.geocat.net/map/>. available.

../_images/geocat-live-theme.png

GeoCat Live Theme (Preview)

Demo requests

The Demo request page can be used to try out web services, offering a list of example queries, and integration with builds that can help formulate requests for tricky to use protocols like Web Coverage Service and Web Processing Serivce.

../_images/demo-request.png

Demo request

The request can be Show Result directly on the page, showing the response headers in addition to the resonse. As so many protocols are xml based there is an option for pretty printing included.

../_images/demo-request-results.png

Demo request result.

Language

A language selector is available with translations available for the administration console:

../_images/language_selector.png

Language Selector

Reference:

Web Services

GeoServer Enterprise publishes your information using a selection of open standards and industry standards.

GeoServer Enterprise:

  • Web Map Service (WMS)

    Shares information visually as cartographic data products generated from geospatial data and styling.

  • Web Feature Service (WFS)

    Publish vector information as geographic features for use in Desktop GIS, Web Mapping and Processing and Analysis.

  • Web Coverage Service (WCS)

    Access raster information as a geographic coverage, generating and data products for analysis, processing and visualization.

  • WMTS / TMS / WMS-C

    Integrated GeoWebCache supports a range of tileset based protocols for mobile and web mapping applications.

GeoServer extensions:

Internationalization

Services support internationalization for contacting information, and mapping services.

Internationalization of title and abstract is supported for all layers, including layer groups and WMS Root Layer.

To request a web service with French, and then English content append AcceptLanguages=fr|en to the service GetCapabilities URL.

Layer Service Settings

Often requested functionality, define which services are enabled on a layer-by layer basis directly from the layer editor. Previously this functionality was only available from the data security page.

See Layer Service Settings.

../_images/layer_security.png

EPSG database v 9.6

The EPSG database has been updated to version 9.6, including roughly a thousand more codes than the previous version available in GeoServer. The code has also been updated to ensure the NTv2 grid shift files between GDA94 and GDA2020 work properly. Sponsored by GeoScience Australia.

Web Map Service

WMS Nearest Match for time dimension

WMS time dimension can be configured for nearest match. This setting renders the nearest time to the one requested (either explicitly, or implicitly via the default time value).

  • In case of mismatch the actual time used will be returned along with the response as a HTTP header.

  • Functionality can be configured with a maximum tolerance, beyond that the server will throw a service exception.

Dynamic densification on reprojection

GeoServer has always reprojected data “point by point”, this typically caused long lines represented by just two points to be turn into straight lines, instead of curves, as they were supposed to.

There is a new “advanced projection handling” option in WMS enabling on the fly densification of data, the rendering engine computes how much deformation the projection applies in the area being rendered, and densifies the long lines before reprojection, resulting in eye pleasing curves in output. See a “before and after” comparison.

../_images/wms-denceification.png

Reprojection, original point by point versus densified mode

Web Feature Service

Complex GeoJSON output changes

Improved GeoServer WFS generation of GeoJSON out of complex features data sources:

  • The property/element alternation typical of GML is preserved, causing deeply nested data structures.

    To avoid writing container.x.x access to reach the x value, the output now skips one of the containers and exposes a direct container.x structure.

  • XML attributes are now turned into plain JSON properties, and prefixed with a @

  • Feature and data types are now preserved in translations, as a @feaureType and @dataType attributes

  • Full nested features are encoded as GeoJSON again, keeping their identifiers

This work supports the use of app-schema compldex feature output. Sponsored by French geological survey – BRGM, and the French environmental information systems research center – INSIDE.

Web Map Tile Service

Tile protocols are provided by an emended GeoWebCache component.

Azure GeoWebCache blobstore

Tiles can now be stored in Azure blob containers, increasing GeoWebCache compatibility with cloud environments.

Note Azure does not provide, a mass blob delete API. On truncate GeoWebCache is required to individually remove tiles making a DELETE request for each one.

Web Processing Service

WPS Execution Management

WPS GetExecutions vendor operation to list the running processes:

  • Users can review all their running processes

  • Administrators can see all processes

WPS Dismiss vendor operation to cancel the execution of one of the listed processes.

See WPS Operations.

../_images/process-status.png

Process status

MapML Service

MapML extension

The MaoML extension tracks the emergency W3C standard to define an html element for web mapping. The extension provide additional publishing options and includes a LayerPreview.

../_images/mapml.png

Layer Publishing MapML settings

MapML can support a dimension, for layers with a time or elevation attribute. MapML supports tiling, when using the one of the included GridSets for WGS84, OSMTILE.

Reference

Cartography

GeoServer Enterprise:

  • Style Layer Descriptor (SLD)

  • Symbology Encoding (SE)

GeoServer extension:

  • Chart symbolizer

  • MapBox Styling

  • YSLD styling

GeoServer extensions (premium)

  • CSS Styling

  • Cross layer filtering

  • SLD REST API service

    Service offering dynamic data driven generation of SLD styles.

Internationalization

Map labels generation can be internationalized with the addition of a langage function. Support has also been added to support the internationalized of rules (as seen in legend generation).

Reference:

Fullscreen style editor

  • The GeoServer style editor now includes a fullscreen side-by-side editing mode to easily preview appearance while editing a style.

    To toggle fullscreen mode click the fullscreen button at the top-right of the style editor.

../_images/style_full_screen.png

Full screen style editor

Style Editor helpers

Style editor usability improved with:

  • Toolbar color picker to select a color and turn it into HEX specification

    ../_images/style_helpers.png

    Style helper color picker

  • Toolbar file chooser to select an icon and build ExternalGraphic reference.

    ../_images/style_helper_external_graphic.png

    Style helper external graphic

  • Auto-complete suggestions for SLD 1.0.

    Use control-space for context aware suggestions.

RasterSymbolizer dynamic channel selection

A GeoServer extension to SLD supporting the use of expressions for SourceChannelName. This allows the dynamic channel selection, important for working with multispectral or hyperspectral data.

This approach avoids generating different styles for each false color combination.

Map algebra

The rendering engine now provides support for an efficient map algebra package knows as Jiffle.

Jiffle was produced by Michael Bedwards, and has now been upgraded to support newer Java releases, and integrated in jai-ext. Now available GeoTools gt-process-raster module the functionality can be used from either WPS or as a rendering transformation.

See Rendering Transformations.

SLD Service Extension

The optional SLD Service extension is available for:

  • The generation of classified maps of vector data based on criteria such as equal interval, quantiles and unique values.

  • Vector data filtering based on standard deviation, equal area classification

  • Raster processing with the generation of classified maps and data filtering.

  • Raster processing makes use of automatic sub-sampling when the source image is too large.

The SLD REST Service is used to generate thematic styles based on attribute data:

curl -v -u admin:geoserver -XGET
  http://localhost:8080/geoserver/rest/sldservice/states/classify.xml
  ?attribute=PERSONS
  &ramp=CUSTOM
  &method=quantile
  &intervals=3
  &startColor=0xFF0000
  &endColor=0x0000FF
  &open=true

See SLD REST Service.

Control legend generation with mapOnly and legendOnly

Choose which rules are used for legend generation using the mapOnly and legendOnly vendor options (to mark how rules are used).

Reference:

Configuration

GeoServer enterprise:

  • Web Administration

  • GeoCat visual theme

  • REST Configuration

  • Web-resource tool page

GeoServer extension:

  • Importer / REST API

GeoServer customization:

  • Custom visual theme

Status Monitoring

The Status Monitoring tab is now included in the GeoServer Status page. This provides system statistics so monitor resource use from the Web UI.

../_images/server_status1.png

System status

Security

GeoServer enterprise:

  • LDAP

  • Digest

  • X.509

GeoServer extension (premium):

  • GeoFence

  • OAuth

GeoCat respects the community responsible disclosure policy.

Authentication key extension

The Authkey extension is now available, allowing security unaware applications to access GeoServer. In order to keep the system secure the keys should be managed as temporary session tokens by an external application.

URL Checks

Many OGC protocols encourage communication between systems:

  • WMS GetMap requests with remote SLD stylesheets (via sld parameter)

  • Styles referencing remote icons as external graphics

  • WMS GetMap in feature portrayal mode (using REMOTE_OWS and REMOTE_OWS_TYPE parameters)

  • WPS remote inputs, either as GET or POST requests

These facilities, while powerful, can be used to implement a Service Side Request Forgery (SSRF) as part of their normal function.

To safely mitigate abuse of OGC protocols for SSRF use Security > URL Check page to configure URL Checks. These checks are performed before allowing service operations to contact a remote service. A testing tool is included on this page to verify correct operation.

../_images/url-check.png

URL Check Page

Reference:

GeoFence Internal Server Extension

Originally a standalone service offering fine grain control over GeoServer security this functionality has been packaged up and embedded into a GeoServer extension for easier deployment.

  • Rules provide greater control over security allowing layer by layer service restrictions

  • Rules can control access to data overriding layer details, using a CQL filter to limit contents returned, and default style used for rendering

  • Rules can limit access to a geographic extent

See :ref:’GeoFence Internal Server <community_geofence_server>’.

Vector Data

GeoServer enterprise:

  • GeoPkg

  • Shapefile / Directory

GeoServer extensions:

  • GML

  • CSV

GeoServer extensions (premium):

  • OGR Formats

OGR stores updated to GDAL 3.x

The OGR vector formats now work against GDAL 3.x official binaries, without requiring custom builds.

  • The OGR datastore can open any vector data source

  • Provides access to the native FileGBD library when using Windows

  • Can be used to open Spatialite files

Feature type customization

Feature type customization allows attributes to be renamed, or even generated on the fly using ECQL expressions.

Feature type customization can now extend to the attribute descriptions; used to provide a human readable text.

../_images/feature_type_customization.png

Feature Type customization

Reference:

Raster

GeoServer enterprise:

  • GeoTIFF

GeoServer extensions:

  • Image Mosaic

GeoServer extensions (premium):

  • Image Pyramid

  • GDAL Formats

Image Formats

GDAL 3.x Compatibility

The GDAL image readers have been updated and now work against GDAL 3.x official binaries, without requiring custom builds. This functionality has been developed with with GDAL 3.2 and GDAL 3.4 in mind.

  • Image format support based on gdal binary provided. Use with hexagon library for MrSID and ECW support.

  • Enterprise Premium users requesting this functionality are asked to indicate the version of gdal binary used (so we can include the appropriate gdal java bindings) .

Reference:

Image mosaic highlights

Control the content shown to users:

  • “virtual native resolution” read parameter to compose outputs using a native resolution. Used to advertise a reduced resolutions to users providing less detail than the native resolution on disk.

  • read mask parameter to clip the image to a provided geometry, to provide users access to different areas of the image.

Improvements:

  • Use multiple well-known-binary footprints for overviews masking

  • NetCDF mosaic performance improved using auxiliary store config file to share a repository

  • Mosaic can now handle wildcard EPSG:404000 CRS images allowing GeoServer to force the spatial reference system advertised

Additional cloud storage option:

  • Support for remote images in S3 or Minio. This support requires the mosaic index to be created manually.

Database

GeoServer enterprise:

  • PostGIS / JNDI

GeoServer extensions:

  • Oracle / JNDI

GeoServer extension (premium):

  • SQL Server / JNDI

PostGIS Geometry

PostGIS geometry handling for increased accuracy and performance:

  • Read geometries with measures from PostGIS and encode the results in GML.

    GML does not natively support measures, so the encoding is off by default. Please ensure clients involved in WFS usage recognize this extra ordinate.

  • TWKB encoding for geometries for all WMS/WMTS requests, reducing the amount of data travelling from the database to GeoServer.

    During WMS rendering the size of each pixel is used for on-the-fly simplification of Geometry. By making use of tiny well-known binary the amount of data is further reduced by sending over the first coordinate at high accuracy, and capturing the remaining coordinates using offsets.

Note that due to a limitation of the JDBC driver use of prepared statements is required for full binary transfer retaining accuracy. When not using prepared statements geometries are transfered using ASCII text.

PostGIS Filter Functions

Default changed to encode filter function into SQL:

  • String functions: strConcat, strEndsWith, strStartsWith, strEqualsIgnoreCase, strIndexOf, strLength, strToLowerCase, strToUpperCase, strReplace, strSubstring, strSubstringStart, strTrim, strTrim2

  • Math functions: abs, abs_2, abs_3, abs_4, ceil, floor

  • Date functions: dateDifference

PostGIS Highlights

  • Reading and writing the array data type, including native filtering (with index support, where feasible).

  • SSL encryption control, the driver defaults to have it on with a significant overhead, if the communication is in a trusted network the encryption can be disabled with benefit to performance

  • Improved encoding of OR filters, which now use the IN operator where possible, increasing the likeliness that an eventual index on that column will be used

  • Native KNN nearest search when using the nearest filter function

Data service

GeoServer enterprise:

  • WMS Cascade

  • WMTS Cascade

GeoServer extension:

  • WFS Cascade

  • MongoDB extension

MongoDB extension

MongoDB datastore is now available as an extensions.

Data Integration

GeoServer extension:

  • Pregeneralized features

  • INSPIRE

GeoServer extension (premium):

  • Application Schema

App-schema highlights

Performance and functionality:

  • Improved use spatial filters on nested properties, allowing a wider range of requests to be handled by the native database.

  • Filter improvements for multiple nested attribute matches

  • Apache SOLR available as an app-schema data source

  • App-schema mapping and configuration files can be accessed on a remote HTTP server

Quality of service

GeoServer enterprise:

  • Control flow

GeoServer extension:

  • lib-jpeg turbo

Output Formats

GeoServer extension:

  • Excel

  • Printing

  • Vector Tiles

GeoServer extension:

  • OGR output formats

  • GeoPackage output formats (WPS/WFS only)

GetFeature output formats

Individual output formats for GetFeature operation can be restricted.

This feature is useful for organization that no longer wish to allow shapefile download.

../_images/wfs-output-formats.png

WFS Output format type checking

System Requirements

Java 11 or Java 17

GeoServer Enterprise works with either Java 11 or Java 17. Tomcat 9 or newer is required for the WAR install.

The Java ecosystem is now being led by the open source OpenJDK project, with long term support available from a range of organizations notably RedHat OpenJDK and Eclipse Adoptium. The GeoTools user guide provides an overview of Java distributions.

  • Java ecosystem is led by the open-source OpenJDK project

  • While Java 8 will continue to be available, many libraries and tools require Java 11

Java 11 no longer supports the Java 2 extension mechanism used for native JAI and native ImageIO libraries. We recommend the use of the pure Java JAI-EXT operations which have been made the default.

JAI-EXT operations

The JAI-EXT library offers a pure java implementation enhanced for geospatial functionality supporting NODATA pixels and support for vector footprints.

../_images/jai-ext.png

JAI-EXT Operations

Security

URL Checks

Many OGC protocols encourage communication between systems:

  • WMS GetMap requests with remote SLD stylesheets (via sld parameter)

  • Styles referencing remote icons as external graphics

  • WMS GetMap in feature portrayal mode (using REMOTE_OWS and REMOTE_OWS_TYPE parameters)

  • WPS remote inputs, either as GET or POST requests

These facilities, while powerful, can be used to implement a Service Side Request Forgery (SSRF) as part of their normal function.

To safely mitigate abuse of OGC protocols for SSRF use Security > URL Check page to configure URL Checks. These checks are performed before allowing service operations to contact a remote service. A testing tool is included on this page to verify correct operation.

../_images/url-check.png

URL Check Page

Reference:

Vector Formats

Feature type customization

Feature type customization allows attributes to be renamed, or even generated on the fly using ECQL expressions.

Update: Feature type customization can now extend to the attribute descriptions; used to provide a human readable text.

../_images/feature_type_customization.png

Feature Type customization

Reference:

Web Feature Service

GetFeature output formats

Individual output formats for GetFeature operation can be restricted.

This feature is useful for organization that no longer wish to allow shapefile download.

../_images/wfs-output-formats.png

WFS Output format type checking

Configuration

Welcome Page

The welcome page has been improved with a new layout listing each Web Services by title and description, along with a welcome message introducing the GeoServer instances as a whole.

Select a workspace to change the welcome page to display the “virtual web service” for an individual workspace. This is a great approach when providing different projects or teams with their own GIS data services. Organizations making use of this facility often elect to turn off global services.

Select a layer for a “virtual web service” constrained to a single data product suitable for use as an online resource in a metadata record. This is a great approach when working with a GeoServer with tens of thousands of layers which rely on the metadata catalogue for data discovery.

../_images/welcome.png

Welcome Page

Contact Information

Contact information welcome message is available to provide an introduction.

Contact information organization name and online resource is used to provide an optional link to an organization’s website.

These settings can be overridden on a workspace basis to provide an overview and contact information for a team or project.

../_images/contact-information.png

Contact information

Styles

The style list now includes format information.

../_images/styles-list-format.png

Styles List Format

Log4J 2

The application has updated to Log4J 2 for logging services:

  • The built-in profiles will migrate from properties to xml and will always be kept up to date.

  • Your own logging profiles are defined using a range of formats: xml, properties, json and yaml. Any configuration listed following logs/*_LOGGGING.* will be available for use.

  • RollingFile appender offers more sophisticated stratagies, with the ability to compress log files once they are no longer in use.

  • Improved stack-trace representation is available, filtering out internal-java references to improve readability.

  • Automatic management of built-in logging profiles available with UPDATE_BUILT_IN_LOGGING_PROFILES=true system property.

../_images/log4j.png

Global Settings Logging Configuration

Reference:

Request Logging

Request logging is now available as an option in global settings (previously this functionality was on available via editing geoserver.xml or web.xml file.)

The path of each request can be logged along with optionally logging the headers and the request body (for POST requests). When logging request body the number of bytes is logged, along with a snippet up to a maximum size specified.

For customers using oauth open id connect we have found an incompatibility with logging post request

../_images/request_logging.png

Request logging

Reference:

JVM Console: Java Stack and Heap

A new feature is the ability to report and download:

  • Java stack information showing what activities are being performed.

  • Java heap information showing how memory is being used

These facilities are useful for troubleshooting.

../_images/jvm_console.png

Server Status JVM Console

Reference: