CITE Test Automation Request for Proposal

GeoServer Project Steering Committee is seeking a solution for automated CITE TEAM Engine tests for build.geoserver.org.

If you or your organization is interested in this work please respond to the geoserver-devel email list with your proposal by the end of November. Applicants are welcome to attend bi-weekly GeoServer meeting for any clarification of requirements and participate in the review process.

For details, including detailed requirements, see GSIP-176 fundraising, maintenance activity wiki page, and prior blog post.

We would like to thank everyone who has supported this activity via sponsorship and donation. Special thanks OSGeo along with activity sponsors Gaia3D, and OSGeo:UK for help making this possible.

GeoServer 2.15.3 released

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

This is a maintenance release recommended for production. This release is made in conjunction with GeoTools 21.3 and GeoWebCache 1.15.3. Thanks to everyone who contributed to this release.

For more information see the GeoServer 2.15.3 release notes.

Improvements and Fixes

This release includes a number of improvements, including:

  • Enhance mongodb schema generation
  • Allow setting Entity Expansion limit on WFS XML Readers
  • Promote authkey to extension (GSIP-174)
  • Make MongoDB App-Schema schema rebuilder endpoints only rebuild schemas present in mappings.
  • Promote status-monitoring module from Community to Extension
  • Upgrade Jetty to 9.4.18.v20190429

A number of fixes are also present:

  • WMS GetFeatureInfo formats text/html, text/plain, text/xml and application/vnd.ogc.gml (GML2) don’t handle time correctly
  • Wrong URL scheme in layer preview (when using HTTPS)
  • GetCapabilities on a single layer fails if a style is duplicated
  • Renaming a layer doesn’t update Data Security rules
  • SLD file renamed with REST PUT request when not needed
  • GeoTIFF sources configured with GeoServer 2.14.x might not work in 2.15.x
  • Style editor extension point not working
  • NullPointerException on WFS ComplexGeoJsonWriter Link check
  • Switching from System Status to Modules tab gives an error.
  • Nodata is not made transparent after channelSelect+contrastEnhancement on multibands dataset
  • WFS GeoJSONBuilder limits max nested level to 20

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.16.0 released

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

This is a GeoServer release candidate made in conjunction with GeoTools 22.0.

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

Thanks to the sponsorship of the French geological survey – BRGM and the French environmental information systems research center – INSIDE, the 2.16.0 output now looks as follows:

{
  "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 the GeoServer status page 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.
  • MapML community module. See this video for step by step installation instructions.

Other assorted improvements

There are many improvements to look at in the 2.16.0 release notes, as well as in the 2.16-RC release notes. Cherry picking a few, we hav:

  • 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

About GeoServer 2.16

GeoServer 2.16 has been first released in September 2019.

Join Me in Funding an Important GeoServer Initiative


TLTR

GeoServer Project has been at the forefront of the standards-based geospatial web since 2001. Meanwhile, it’s been some years since GeoServer has been formally certified OGC-compliant. There is an opportunity to permanently improve how this is done by boosting a crucial component of the GeoServer software build infrastructure.

Fundraising progress
Fundraising progress

OSGeo has put forth an initiative and provided an initial budget towards regaining OGC certification status and making automatic certification a feature of the GeoServer software build process. The initiative and the implementation plan are outlined here. Once implemented, the GeoServer build server will continuously execute against OGC’s CITE TEAM Engine test suite, resulting in an ongoing certification status check with every release.

The Open Source Foundation has arranged to submit generated test results each year to reestablish formal certification. This will allow GeoServer to display the appropriate OGC logos on our website.

To help fund this initiative, please donate via PayPal or credit here. Please consider that your contribution will make a mark on every release and every copy of GeoServer which is downloaded thousands of times per week worldwide.


7 Reasons Why This Matters

  • Integrators and implementers will gain increased confidence that GeoServer-based products and solutions remain interoperable with other software in the OGC standards ecosystem
  • Added qualification for government procurements requiring proof of OGC certification
  • Quality assurance via early detection and remediation of variances impacting interoperability
  • Overall improvement of software reliability and decreased integration friction
  • Streamlining practical validation of emerging standards in the OGC
  • Free, standards-compliant software is indispensable in driving adoption, education, and innovation around geospatial data and standards-based system integration
  • Ensuring that GeoServer remains a stable, trusted, open-source component 


On a Personal Note

I’ve come to rely on GeoServer for a multitude of solutions and development projects. Being able to use this constantly evolving software afforded me a lot of self-sufficiency and creative freedom for the past 15 years, ever since GeoServer was a small software library. It doesn’t take a lot to appreciate that this has been made possible by the efforts of a small, committed, international community. While at OpenGeo and Boundless (recently acquired by Planet), I had a distinct honor and a pleasure to work closely with this community, making many lasting friendships along the way. 

Helping fund this initiative is an easy and meaningful way to lend tangible support to the project team that remains committed to advancing GeoServer. I’m delighted to know that my contribution will help fund the planning and development activities necessary to implement this feature.


How to contribute using PayPal or credit card:

Donate

Please join me and make your contribution! Also, please take a minute to Like, Share, retweet and reach others with this message. To become a corporate sponsor, please follow this link.

Thanks in advance you for your thoughtfulness and support.

Ilya Rosenfeld

GeoServer Presentations on FOSS4G 2019

The GeoServer team was pleased to 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 »
Download GeoServer