GeoServer Presentations on FOSS4G 2019

The GeoServer team was pleased to attend FOSS4G last week (26 – 30 August 2019) in Bucharest, Romania the FOSS4G 2019.

The global OSGeo conference had features a diverse range of projects, however in this post we will highlight the GeoServer presentations and workshops.

See the list of videos below:

Also from GeoServer contributors, and still pertinent to related projects or open source in general:

If you are interested in watching other videos of the event, just click here.

GeoServer 2.16-RC released

We are happy to announce the release of GeoServer 2.16-RC. Downloads are available (zip and war) along with docs and extensions.

This is a GeoServer release candidate made in conjunction with GeoTools 22-RC.

We want to encourage people to test the release thoroughly and report back any issue found. With no further delay, let’s see what’s new, that is, what is there to test!

Faster map rendering of complex styles

If you have very complex styles, with lots of rules and complex filtering conditions you’ll be pleased to hear that GeoServer 2.16.x can locate the right symbolizer much quicker than previous versions. This is useful, for example, in the GeoServer home page demo map, rendered from OSM data using a OSM Bright clone built with the CSS module.

The GeoSolutions offices in Massarosa (Viareggio), Italy, in the geoserver.org demo map

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.

In GeoServer 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 here:

Reprojection, original point by point versus densified mode in 2.16.x

EPSG database updated to v 9.6

Thanks to the sponsorship of GeoScience Australia 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.

Complex GeoJSON output changes

GeoServer WFS can already output GeoJSON out of complex features data sources (app-schema). However, the output can be less than pleasing at times, the following improvements have been made:

  • The property/element alternation typical of GML is preserved, causing deeply nested and ugly to look structures. Not everyone loves to write a “container.x.x” access to reach the x value, with 2.16.x the output 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 not lost anymore in translations, preserved by a “@feaureType” and “@dataType” attributes
  • Full nested features are encoded as GeoJSON again, keeping their identifiers

Here is an example of output from 2.16.x:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "0001000001",
      "geometry": {
        "type": "Point",
        "coordinates": [51.0684, 1.4298]
      },
      "properties": {
        "@featureType": "Borehole",
        "identifier": {
          "value": "BSS000AAAA",
          "@codeSpace": "http://www.ietf.org/rfc/rfc2616"
        },
        "bholeHeadworks": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Point",
              "coordinates": [51.0684, 1.4298]
            },
            "properties": {
              "@featureType": "BoreCollar",
              "collarElevation": {
                "value": -32,
                "@srsName": "http://www.opengis.net/def/crs/EPSG/0/5720",
                "@srsDimension": "1",
                "@uomLabels": "m"
              }
            }
          }
        ],

Status Monitoring module promoted to Core

The Status Monitoring module has been promoted to core, and is now included in GeoServer by default!

This module adds a new tab to the Server Status page, with system statistics so that you can monitor the system which GeoServer is running on from the Web GUI.

../../_images/gui.png

Authentication key module graduated to extension

The “Authkey” module has been graduated to extension, allowing security unaware applications to access GeoServer. Reminder, in order to keep the system secure the keys should be managed as temporary session tokens by an external application (e.g. MapStore can do this).

PostGIS data store improvements

The PostGIS data store sees a few improvements, including:

  • TWKB encoding for geometries for all WMS/WMTS requests, reducing the amount of data travelling from the database to GeoServer
  • The JDBC driver used to transfer all data as ASCII, the code was modified to allow full binary transfer when prepared statements are enabled (driver limitation, binary can only be enabled in that case)
  • 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-ed” filters, which now use the “in” operator where possible, increasing the likeliness that an eventual index o nthat column will be used
  • Native KNN nearest search when using the “nearest” filter function

OGC/GDAL stores updated to GDAL 2.x

The OGR datastore as well as the GDAL image readers have been updated and now work against GDAL 2.x official binaries, without requiring custom builds any longer.

The OGR datastore can open any vector data source and, in particular, it can use the native FileGBD library when using Windows. It’s also interesting to note that it can open Spatialite files, quite important now that the direct Spatialite store is gone.

Azure GWC blobstore

Tiles can now be stored in Azure blob containers, increasing GWC compatibility with cloud environments, after the already existing S3 support.

A warning though, Azure does not provide, unlike S3, a mass blob delete API, so on truncate GWC will have to go and remove tiles making a DELETE request for each (using parallel requests of course).

SLDService community module graduated to extension

The SLDService community module allowed to generated classified maps of vector data based on criterias such as equal interval, quantiles and unique values.

The same module has now graduated to extension, providing also data filtering based on standard deviation, equal area classification, and offering all the same services on raster data as well (with automatic sub-sampling when the source image is too large).

For example, creating a five classes quantile classification based on states persons over a custom color ramp can be achieved using the following:

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

New Community Modules

  • WMTS styling module, which adds the ability to get/put a style on a per layer basis using restful resources exposed as ResourceURL
  • OGC API module, including implementations of the new OGC Web APIs for Features, Tiles and Styles (more to come in the upcoming months). Mind, these are cool but also prototypes based on specifications still in draft form, we have warned you, the API will likely have a few rounds of changes still before it stabilizes.

Other assorted improvements

There are many improvements to look at in the release notes, cherry picking a few here:

  • Integrated GWC fails to seed layers if any data security is configured
  • Default Datastore Parameters panel does not allow https:// protocol values
  • Parameter Extractor plugin cannot mangle URL correctly if Monitor plugin is installed
  • Permit extensibility of Common Formats from Layer Preview page
  • Update name to id in OGC API Collection
  • Add support for configuring ACL in gwc-s3 community module
  • Enhance mongodb schema generation

Test, test, test!

Now that you know about all the goodies, please go, download and test your favourite ones. Let us know how it went!

About GeoServer 2.16

GeoServer 2.16 is scheduled for September 2019 release.

GeoServer-2.14.5 released

We pleased to share the GeoServer 2.14.5 maintenance release. Downloads are provided (zip|war) along with docs (html|pdf) and extensions.

This is a maintenance release of the GeoServer 2.14 series and is a recommended update for existing installations.

A large number of individuals contributed to this release, with efforts primarily focused on the setup of a new build box for the team. Thanks to Torben, Tom, Andrea and Jody for their work restoring the build server. Some activities (windows installer, CITE testing) are still available to work on.

This release is made in conjunction with GeoTools 20.5 and GeoWebCache 1.14.5. For more information please see GeoServer release notes (2.14.5 |2.14.4|2.14.3 | 2.14.2 | 2.14.1|2.14.0|2.14-RC).

Read More »

GeoServer 2.15.2 Released

We are pleased to announce the release of GeoServer 2.15.2 with downloads (zip|war), documentation (html) and extensions.

This is a stable release recommended for production. This release is made in conjunction with GeoTools 21.2 and GeoWebCache 1.15.2. Thanks to everyone who contributed to this release.

For more information see the GeoServer 2.15.2 release notes.

Improvements and Fixes

This release includes a number of fixes and improvements, including:

  • Upgrade jackson to 2.9.9
  • Upgrade spring-security-oauth2 version from 2.0.11 to 2.0.16
  • Parameter Extractor plugin cannot mangle URL correctly if Monitor plugin is installed
  • Fix warning message “Unable to find property ‘format.wfs.DXF’ for preview component”
  • Integrated GWC fails to seed layers if any data security is configured
  • WCS 2.0 scaling policies do not account for scaling factor already applied during read (due to subsampling and overview)
  • Unresolvable Spring circular reference on Solr module
  • REST exception handler and controllers do not always set the response content type
  • Advanced Projection Handling can generate vertical gaps in output images when reprojecting
  • Parameter Extractor plugin prevents the Monitor plugin to log requests
  • WMTS multidimensional, support bboxes spanning the dateline

About GeoServer 2.15 Series

Additional information on the 2.15 series:

Java 11 comparability is the result of a successful code-sprint. Thanks to participating organizations (BoundlessGeoSolutionsGeoCatAstun TechnologyCCRi) and sprint sponsors (Gaia3Datolosgeo:ukAstun Technology).

GeoServer 2.14.4 Released

We pleased to share the GeoServer 2.14.4 maintenance release. Downloads are provided (zip|war) along with docs (html) and extensions.

This is a maintenance release of the GeoServer 2.14 series and is a recommended update for existing installations.

A large number of individuals contributed to this release, with efforts primarily focused on the setup of a new build box for the team. Thanks to Torben, Tom, Andrea and Jody for their work restoring the build server. Some activities (windows installer, pdf user guide, CITE testing) are still available to work on.

This release is made in conjunction with GeoTools 20.4 and GeoWebCache 1.14.4. For more information please see GeoServer release notes (2.14.4 |2.14.3 | 2.14.2 | 2.14.1|2.14.0|2.14-RC).

Read More »

Join the GeoServer team at FOSS4G 2019 Bucharest

The GeoServer team is excited to attend this years event, hosted August 26-30th by the Romanian OSGeo Local chapter of geo-spatial.org. We are happy to showcase a wide range of GeoServer activities and look forward to meeting you there.

Update: Bird of a feature sessions announced, GeoServer Flock and Demos Wednesday 18:00-19:30 Concerto

Read More »

GeoServer 2.15.1 Released

We are pleased to announce the release of GeoServer 2.15.1 with downloads (zip|war|exe), documentation (html|pdf) and extensions.

This is a stable release recommended for production. This release is made in conjunction with GeoTools 21.1 and GeoWebCache 1.15.1. Thanks to everyone who contributed to this release.

For more information see the GeoServer 2.15.1 release notes.

Improvements and Fixes

This release includes a number of fixes and improvements, including:

  • Addressed “potentially malicious String” error encountered when first establishing a session with the web administration application.
  • Importer fixed to connect to and create PostGIS datastore
  • Fix REST API user creation problem
  • Map preview fix to display projected maps with WMS 1.3.0
  • WCS 2.0.1 metadata fix for GetCapabilities and DescribeCoverage
  • WCS 1.0.0 and WCS 2.0 fixes for elevation and custom dimension use
  • GetFeatureInfo template can now access metadata for raster layers
  • Styling improvements respecting followLine and maxAngleDelta

About GeoServer 2.15 Series

Additional information on the 2.15 series:

Java 11 comparability is the result of a successful code-sprint. Thanks to participating organizations (BoundlessGeoSolutionsGeoCatAstun TechnologyCCRi) and sprint sponsors (Gaia3Datolosgeo:ukAstun Technology).

GeoServer 2.14.3 Released

We are happy to announce the release of GeoServer 2.14.3. Downloads are provided (zip|war|exe) along with docs (html|pdf) and extensions.

This is a maintenance release of the GeoServer 2.14 series and is recommended for all production systems. Users of prior releases of GeoServer are encouraged to upgrade.

This release is made in conjunction with GeoTools 20.3 and GeoWebCache 1.14.3. Thanks to all who contributed to this release.

For more information please see our release notes (2.14.32.14.22.14.1|2.14.0|2.14-RC).

Improvements and Fixes

This release includes a number of new features and improvements, including:

  • Fix user creation failing on REST API
  • OpenLayers 3 preview did not work on projected data when using version 1.3 of the WMS protocol
  • Fixed style editor HTML issues when going back from full screen editor mode, and fixed moving styles referring to local icons from global to workspace
  • NetCDF extension packaging fix, allows it to run without also having the NetCDF out plugin installed
  • Assorted fixes in WMTS workspace specific capabilities document generation

About GeoServer 2.14 Series

Additional information on the GeoServer 2.14 series:

GeoServer 2.15.0 Released

The GeoServer team is happy to announce the GeoServer 2.15.0 release with downloads (zip|war|exe), documentation (html|pdf) and extensions.

This release is production ready and is ready to work with your Java 8 or Java 11 operational environment. This release is made in conjunction with GeoWebCache 1.15.0 and GeoTools 21.0.

The ability to work with Java 11 is the result a dedicated code sprint. Thanks to organizations participating in the code sprint (Boundless, GeoSolutions, GeoCatAstun TechnologyCCRi) along with sprint sponsors (Gaia3Datol, osgeo:uk, Astun Technology).

Layer Service Settings

To start things off an often requested capability, the ability to control which services are enabled on a layer-by layer basis.

To try it our yourself see Service Settings in our user manual.

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.

  • GeoFence rules provided greater control over security allowing layer by layer service restrictions
  • GeoFence rules can provide access to data overriding layer details including CQL filter to limit contents returned and default style used for rendering
  • GeoFence rules can limit access to a geographic extent

For more details see GeoFence Internal Server in our user manual.

Style Editor SLD Auto-Complete

To help make editing easier the Style Editor can provide auto-complete suggestions for SLD 1.0. To try it out yourself use control-space for context aware suggestions.

Generate Classified Thematics maps

SLDService is now an official extension, with a number of improvements. SLDService can now be used for the

  • classification of raster data too
  • equal area classification
  • standard deviation filtering

The SLD REST Service extension 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

For more information see SLD Rest Service in our user manual.

WPS GetExecutionStatus and Dismiss Operations

WPS “GetExecutions” vendor operation allows each user to get the list of running processes:

  • Users can review all their running processes
  • Administrators can see all processes

The Dismiss vendor operation can be used to cancel the execution of one of the listed processes.

For more information see Dismiss in our user guide.

Java 11 Support

The provided binary download works with either Java 8 or Java 11. Tomcat 9 or newer is required for the WAR install. The user guide compatibility list will continue to be updated based on your feedback.

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 Adopt OpenJDK. The GeoTools user guide provides an overview of Java 8 and Java 11 distributions.

The net effect of these changes:

  • If you have been using Oracle JDK please review your options
  • Java 8 will continue to be available
  • The Java ecosystem is now led by the open-source Open JDK project

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 (see the next section).

JAI-EXT operations on by default

The use of the JAI-EXT operations have long been a recommendation, with this release we are making them the default for GeoServer.  The JAI-EXT library offers a pure java implementation enhanced for geospatial functionality supporting NODATA pixels and support for vector footprints.

GeoServer Codebase

In addition to Java 11 support this release includes:

  • Add JSON as a Legend Output format (GISP 173)
  • Printing plugin upgrade version of JTS
  • Upgrade NetCDF dependencies
  • Improvements for vector tile production, both in terms of output correctness and production performance

Thanks to Andrea Aime for steady work on the codebase quality:

  • PMD source code analysis, high priority checks, will fail the build in case of issues
  • Error Prone byte code analysis, same as above
  • Many small bugs fixed

For more details developers are invited to review Automated Quality Assurance checks in our developers manual. Also, work in ongoing on the master (dev) branch to extend the reach of static code checks using SpotBugs and CheckStyle too.

About GeoServer 2.15 Series

Additional information on the GeoServer 2.15 series:

GeoServer 2.15-RC Released

We are happy to share a GeoServer 2.15-RC milestone release with downloads (zip|war|exe), documentation (html|pdf) and extensions.

This release candidate is provided for everyone considering a Java 11 operational environment in 2019.  A release candidate provides a final to support the development team with early feedback:  your assistance and participation is requested!

This release is a result of participation in the OSGeo Java 2018 Code Sprint and is made in conjunction with GeoTools 21-RC and GeoWebCache 1.15-RC. We would like to thank organizations participating in the code sprint (Boundless, GeoSolutions, GeoCatAstun TechnologyCCRi) along with sprint sponsors (Gaia3Datol, osgeo:uk, Astun Technology). Our gratitude goes out to the individuals who worked so hard to bring everything together.

Highlights

In addition to Java 11 support this release includes:

  • JAI-EXT enabled by default, in other words, support for NODATA pixels on by default
  • Add JSON as a Legend Output format (GISP 173)
  • Printing plugin upgrade version of JTS
  • SLDService become an official extension, with a number of improvements in it SLDService (classification of raster data too, equal area classification, standard deviation filtering)
  • Allow configuring services on a per layer basis
  • GeoFence upgraded from community module to official extension
  • WPS “GetExecutions” vendor operation allows each user to get the list of running processes (limited to his account for normal users, showing all processes if the request is made by an admin)
  • Autocomplete support for SLD 1.0 in style editor
  • Improvements for vector tile production, both in terms of output correctness and production performance
  • Upgrade NetCDF dependencies
  • QA work adding PMD and ErrorProne checks in the build
  • and a large number of bug fixes.

Java 11 Support

The provided binary download works with either Java 8 or Java 11. Tomcat 9 or newer is required for the WAR install.

We will the update the user guide compatibility list based on your feedback and testing of this 2.15-RC milestone release. Please note that Java 11 no longer supports the Java 2 extension mechanism used for native JAI and native ImageIO.

This is a good opportunity to review your operational environment and help test GeoServer with the environment you intend to use in 2019.

Java Roadmap Considerations

Our initial concerns with respect to continued availability of the Java 8 platform have been alleviated by industry action and commitment. Extensive Java 8 support options are now available, with RedHat making a public commitment to contribute fixes to the OpenJDK 8 codebase, and a range of organizations committed to making OpenJDK 8 builds available on a range of platforms.

Oracle has changed to a six month release schedule, donating additional components to OpenJDK to make it lead platform. Long term support (beyond six months) is being offered from a range of organizations notably RedHat OpenJDK  and Adopt OpenJDK.

The net effect of these changes:

  • If you have been using Oracle JDK up until now it is time to review your options
  • Java 8 will continue to be available
  • The Java ecosystem is now led by the open-source Open JDK project

See the GeoTools user guide for a table outlining the Java 8 and Java 11 alternatives to consider in the year ahead.

About GeoServer 2.15 Series

Additional information on the GeoServer 2.15 series:

Download GeoServer