GeoServer Blog

GeoServer 2.8.0 released

We are happy to announce the release of GeoServer 2.8.0. Downloads are available (zipwardmg and exe) along with docs and extensions.

What is new

GeoServer 2.8.0 is the culmination of our latest six month development cycle and contains several new features, along with fixes and security updates.

This blog post provides a breakdown by functional area, for more detail see the 2.8.02.8-beta and 2.8-M0 release notes.

Data access and configuration

PostGIS curves and Oracle speedups

GeoServer 2.6.0, released one year ago, added read only support for Oracle curved geometries, along with all the necessary machinery to represent them in memory, draw them and encode them in WMS.

This release adds read and write support for curves in PostGIS instead, bringing our support for the famous open source spatial database to match and surpass (with write support) the Oracle one. PostGIS curves are supported in all OGC protocols, either via native support (e.g., GML) or on the fly linearization (e.g. shapefile output).

Sample curve data for PostGIS - Details

On the Oracle side, we improved the startup times for installation that are serving of Oracle layers by optimizing the table geometry type and metadata access.

Note: Due to license restrictions the oracle extension no longer includes an Oracle JDBC driver, see the user guide for manual install instructions.

Filtering layers during configuration

For all those that want to publish only a subset of the original data to the public we are now offering the configuration of a simple CQL filter that will be applied on data access, no matter what protocol is used. Think of it as a mini “sql view” that can be applied at ease against any data source, not just databases.

This is of course not meant to limit feature access for security reasons, for that use case you should really look into GeoFence.

Raster NODATA with JAI-Ext Library

You may now optionally use the JAI-Ext image processing operations when working with raster data. These operations directly support raster NODATA and footprints (reducing the amount of processing required when working with these datasets).

JAI-Ext Operations

This feature is available in GeoServer 2.8 but is off by default - to enable start up with:

-Dorg.geotools.coverage.jaiext.enabled=true

REST API for Image Moasic Granule Management

Structured coverages have recently been added to GeoServer, you can now use the REST API to manage and update individual granules in an image mosaic.

Process raster data during import

Vector import has supported limited data processing during import for some time. GeoServer 2.8.0 provides the same functionality (allowing raster files to be processed using GDAL command line tools during import).

To reproject a raster:

{
  "type": "GdalWarpTransform",

  "options": [
  "-t_srs", "EPSG:4326”
  ]
}

To transform the raster into a GeoTIFF:

{
  “type”: “GdalTranslateTransform”,
  “options”: [
    “-co”, “TILED=YES”,
    “-co”, “BLOCKXSIZE=512”,
    “-co”, “BLOCKYSIZE=512”
  ]
}

To introduce GeoTIFF overviews:

{
  "type": "GdalAddoTransform",
  "options": [ "-r", "average"],
  "levels" : [2, 4, 8, 16]
}

Mapping improvements

This release is full of big and small map rendering improvements for all. Here is an organized list.

Z ordering support

This new features extends SLD and CSS with vendor options allowing the style writer to control the painting order of features, either inside a single layer, or across layers: this allows proper map rendering of areas where a number of objects have below/above relationsthips, like this area in Germany, where a lot of roads and rails are crossing each other in a maze of underpasses, overpasses, and bridges:

This is achieved by specifying a “sortBy” vendor option at the FeatureTypeStyle level, with one or more sorting attributes, and in case multiple layers or FeatureTypeStyles are involved, by grouping them into a single “sortByGroup”. You can find more information, along with examples in CSS and SLD, in your user guide.

We would like to thank DLR for sponsoring this improvement.

Constrast enhancement improved

GeoServer has been supporting contrast enhancement for a while, within the limits of the SLD specification. Version 2.8.0 steps beyond the limits of the standard by adding vendor parameters to control the normalization sub-algorithm (stretch to min/max, clip to min/max, clip to zero), as well as its parameters. Here is an example of the syntax:

<ContrastEnhancement>
  <Normalize>
   <VendorOption name="algorithm">StretchToMinimumMaximum</VendorOption>
   <VendorOption name="minValue">50</VendorOption>
   <VendorOption name="maxValue">100</VendorOption>
  </Normalize>
</ContrastEnhancement>

along with a visual example, before and after the contrast enhancement:

contrast enhancement after

New arrow mark

Lots of map needs arrows… but every time is the same story, yes, the arrow is almost fine, but it should be longer, or thicker, or with a bigger head, and so on. Instead of having to re-invent a new arrow symbol each time, we created one whose proportions can be altered by changing parameters in its name.

Here is the general syntax of this new “well known mark”:

<WellKnownName>extshape://arrow?hr=[hrValue]&t=[tValue]&ab=[abValue]</WellKnownName>

and some examples varying its t (thickness) value between 0 and 1:

arrow1

or changing the witdh the height ratio (hr):

arrow2

So next time they ask you for a customized arrow, you can whip up your arrow mark, and give them something like this:

extshape://arrow?hr=4&ab=0.8

arrow4

Multi-script maps made easier

GeoServer 2.8.0 improves its support for maps in multiple scripts, which can be a source of headaches. While it’s often easy to find support for most scripts in fonts, it’s hard to get one that would support, for example, western languages, arabic, corean, indi and simplified chinese in a single package. Especially for scripts like simplified chinese you have to resort to custom fonts.

Now, what happens if you are labelling a map that contains them all, and sometimes, contains more than one of them in a single label? Before GeoServer 2.8.0 we did not have a great answer to that, but now, you can simply specify multiple fonts in a TextSymbolizer, and the most suitable one will be chosen on the fly, eventually using multiple fonts in a single label in case there is no one able to handle the whole of it. Here is an example with mixed script labels:

We would like to thank DLR for sponsoring this improvement.

Improved labeling density

Before GeoServer 2.8.0 labelling dense road networks with lots of diagonal and curved labels might have left the impression that more labels could have fit the map… and that was not just an impression! Indeed, the previous label algorithm was reserving  a busy area for the bounding box containing the label, which as you may see, is a lot more space than the actual label occupancy:

Letter reservation - conflict

The French National Institute for geographic information provided a patch that makes the single chars of diagonal or curved labels be reserved instead, resulting in maps with quite a bit more labelled items per square inch:

WMS/WMTS protocol and configuration improvements

Creating new styles from templates

It’s now possible to create new styles starting from the built-in templates, and the style will be encoded in the desired style language (SLD, or CSS, or even something else, if you created your own styling language extension point):

GeoWebCache filter parameters GUI improved

It’s now possible to configure integer parameters in the caching section of a layer configuration.

Parameter Filter

GeoWebCache Storage

GeoWebCache can now store cached tiles on a perlayer basis - including Amazon S3.

Request parameter support in Freemaker templates

Freemarker GetFeatureInfo templates can now access to the request parameter, as well as the Java process environment variables, in order to customize their response. For example, it’s now possible to expand the following variables in the template:

> > ${request.LAYERS} > ${request.ENV.PROPERTY} > ${environment.GEOSERVER_DATA_DIR} > ${environment.WEB_SITE_URL} > >

Controlling interpolation on a layer by layer basis

You can now control layer interpolation via GetMap, and specify a different interpolation policy on different layers. This is great if you are serving multiple raster maps, and maybe you want to have your classified raster use nearest neighbor, while showing the ozone density layer with bilinear interpolation.

Inspire configuration improved

Security

REST API for access control

Their is now a REST API for configuring security access control - see the user guide for details.

About GeoServer 2.8

Articles, blog posts and presentations:

For additional details see the 2.8.02.8-beta and 2.8-M0 release notes.

GeoServer Community

GeoServer Community modules provide an area for ideas and experimentation:

  • WCS and WPS output formats based on gdal_translate to provide a greater range of output formats

  • Gabriel has created a community module for vector tiles experimentation

  • Embedded GeoFence server, REST API and GUI is the result of a productive collaboration between GeoSolutions and Boundless offering greater rule-based control of GeoServer security

  • MongoDB DataStore enabling GeoServer to publish from this popular JSON based document database (no zip packaging, needs volunteer)

Community modules should be considered a work-in-progress and are subject to quality assurance, documentation IP checks and a maintainer before being considered ready for release.

Read More

New repository and release delay

A quick message for all those who have been asking - I have started the GeoServer 2.8 release process but have run into a snag. The repo.boundlessgeo.com maven repository has been slowed down due to increased network traffic. We are setting up a replacement (cloud hosted which will allow allow more developers to manage).

What I would like to ask is for developers to try it out by adding the following to maven settings.xml:

  <mirrors>
    <mirror>
      <id>boundlessgeo</id>
      <name>Boundless Cloud Repository</name>
      <url>https://boundless.artifactoryonline.com/boundless/main</url>
      <mirrorOf>boundless</mirrorOf>
    </mirror>
  </mirrors>

Please try the above and report back to geoserver-devel, and we can cut over to the new repository tomorrow.

Thank you for your assistance, and please accept our apologies for the delay in releasing 2.8.0.

Update: We have now migrated to the new repository.

Maven Developers

For developers using maven to depend on geoserver jars (for those running a custom geoserver build) please note that we have now migrated to the new repository.

The repository details have not changed:

  <repository>
   <id>boundless</id>
   <name>Boundless Maven Repository</name>
   <url>http://repo.boundlessgeo.com/main/</url>
  </repository>

The exception is for projects (such as GeoWebCache, GeoFence, GeoScript) that deploy artifacts. We ask you to change your distributionManagement section to the following:

<distributionManagement>
  <repository>
   <id>boundless</id>
   <name>Boundless Release Repository</name>
   <url>https://boundless.artifactoryonline.com/boundless/release/</url>
   <uniqueVersion>false</uniqueVersion>
  </repository>
  <snapshotRepository>
   <id>boundless</id>
   <uniqueVersion>false</uniqueVersion>
   <name>Boundless Snapshot Repository</name>
   <url>https://boundless.artifactoryonline.com/boundless/snapshot/</url>
  </snapshotRepository>
 </distributionManagement>

Contact geoserver-devel if you have any questions.

Read More

GeoServer 2.8-RC1 Released

The GeoServer team is pleased to announce GeoServer 2.8-RC1. Downloads are available (zipwardmg and exe) along with docs and extensions.

This release is made by Kevin Smith (Boundless) in conjunction with GeoWebCache 1.8-RC1 and GeoTools14-RC1.

This is a release candidate for final testing before we release 2.8.0.

Fixes since beta:

For more information see 2.8-RC1 release notes.

About GeoServer 2.8

GeoServer 2.8 is scheduled for September release. For more information:

For additional details see the 2.8-beta and 2.8-M0 release notes.

GeoServer Community

GeoServer Community modules provide an area for ideas and experimentation:

  • WCS and WPS output formats based on gdal_translate to provide a greater range of output formats

  • Embedded GeoFence server, REST API and GUI is the result of a productive collaboration between GeoSolutions and Boundless offering greater rule-based control of GeoServer security

  • MongoDB DataStore enabling GeoServer to publish from this popular JSON based document database (no zip packaging, needs volunteer)

Community modules should be considered a work-in-progress and are subject to quality assurance, documentation IP checks and a maintainer before being considered ready for release.

Read More

GeoServer FOSS4G 2015 Activities

Next week the open source spatial community is gathering in Seoul Korea for the Free and Open Source Software for Geospatial (FOSS4G) conference - and GeoServer will be there!

The final program has just been made available as a PDF. As the program does not include sessions abstracts they are included here - after the break.

Monday September 14th

GeoServer Performance Tuning (WS01) - All day, Room 1, Jody Garnett and Tom Ingold

_GeoServer is renowned OSGeo application for publishing spatial data. Attend this workshop to benchmark, optimise and tune both GeoServer and your data for the best possible performance._ _Speed is critical to both the users experience and ensuring you get the best value out of your infrastructure investment. While we will talk through the effect of cpu and disk performance this workshop is focused on data preparation, benchmarking and JVM performance considerations._ _While we will talk through the effect of cpu and disk performance this workshop is focused on data preparation, benchmarking and JVM performance considerations. _ _GeoServer performance topics include:_ > > > * _Establishing a performance baseline and JVM performance tuning_ > > * _GeoServer services performance considerations_ > > * _Rendering performance and style optimisation_ > > * _Generated pre generalized vector data and dynamically changing vector data based on scale_ > > * _Raster performance considerations and GeoTiff optimisation_ > > * _Image format implementations and encoding optimization_ > _GeoWebCache topics include:_ > > > * _Introduction to GeoWebCache and tile map protocols_ > > * _Define a tiling strategy and walkthrough the configuration options used to set a tile cache_ > > * _GeoWebCache administration and production considerations_ > _Some familiarity with GeoServer is expected. Sample data is provided although you are welcome to bring your own and use this workshop to explore your organization's optimisation challenges._

Tuesday: September 15th

Beyond GeoServer Basics (WS19) - Morning, Room 3, Tom Ingold and Jody Garnett

_In this workshop, attendees will learn about many different features that GeoServer has to offer beyond simply loading and publishing data. From catalog operations to data filters, you will be exposed to many different aspects of GeoServer configuration that are overlooked. The specific topics that will be covered include: WPS, rendering transforms, SQL Views, WFS-T, the REST API and data filtering. This workshop will assume that you are familiar with basic GeoServer concepts and interaction, such as how to load and publish a shapefile._

Web Mapping with OGC Services and GeoServer: an Introduction (WS20) - Afternoon, Room 2, Andrea Aime

_This workshop will provide an introduction to OGC services implementation with GeoServer and GeoWebCache. The workshop will cover:_ > > > * _Setting up vector data, such as shapefile and postgis, in GeoServer_ > > * _Setting up raster data, such as geotiff, in GeoServer_ > > * _Introduction to the Web Map Service protocol and usage of configured data from external clients_ > > * _Creating GeoServer styles with desktop tools_ > > * _Introduction to the Web Map Tile Service, with examples using the GeoServer embedded GeoWebCache_ > _In order to participate no previous knowledge of GeoServer and OGC services is required, but a basic knowledge of GIS concepts and basic data formats (shapefiles, geotiff) is recommended._

Wednesday: September 16th

GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remote Sensing - 13:50 Room 11, Andrea Aime, Simone Giannecchini, Daniele Romagnoli

_This presentation will provide detailed information on how to ingest and configure SpatioTemporal in GeoServer to be served using OGC services, with examples from WMS and WCS services. Topics covered are as follows:_ > > > * _Discussion over existing data formats and how to preprocess them for best serving with GeoServer_ > > * _Configuring SpatioTemporal raster and vector data in GeoServer_ > > * _Serving SpatioTemporal raster and vector data with OGC Services_ > > * _Tips and techniques to optimize performance and allow maximum exploitation of the available data The attendees will be provided with the basic knowledge needed to preprocess and ingest the most common spatiotemporal data from the MetOc and Remote Sensing field for serving via GeoServer._ >

Mapping the world beyond 3857 - 16:00 Room 9, Andrea Aime

_Most popular mapping presentations today, ranging from clients to servers, show and discuss only maps in EPSG:3857, the popular Mercator derived projection used by OSM as well as most commercial tiles providers._ _There is however an interesting, exciting world of map projections out there, that are still being used in a variety of context. This presentation will introduce the advancement made in GeoTools and GeoServer to handle those use cases, where users have a worldwide data set, and need to view all or part of it in multiple projections, some of which valid in a limited area, and requiring the software to perform a proper display of it on the fly, without any preparation._ _We’ll discuss GeoTools/GeoServer “advanced projection handling” manages to deal with these cases, wrapping data, dealing with the poles and the dateline, cutting on the fly excess data, densifying on the fly long lines as needed to ensure a smooth reprojection, for a variety of cases, ranging from seemingly innocuous datum shifts, maps having the prime meridian over the pacific, and the various tricks to properly handle stereographic, transverse mercator, Lambert conic and other limited area projections against world wide source data sets._

State of GeoServer - 16:25 Ballroom B, Jody Garnett

_State of GeoServer reviewing the new and noteworthy features introduced in the past year. The project has an aggressive six month release cycle with GeoServer 2.7 and 2.8 being released this year._ _ __These releases bring together exciting new features. A lot of work has been done on processing services with clustering, security and processing control._ _ __The rendering engine continues to improve with the addition of color blending opening up a range of creative possibilities. The CSS extension (used to easily generate OGC standard styles) has been cleaned up with a rewrite._ _This talk will highlighted updates on data import, application schema use, data transforms and the latest from the developer list._ _Attend this talk for a cheerful update on what is happening with this popular OSGeo project. Whether you are an expert user, a developer, or simply curious what these projects can do for you, this talk is for you._

GeoServer GeoTools BOF - 17:40 Room 10

_See [wiki](http://wiki.osgeo.org/wiki/FOSS4G_2015_BirdsOfAFeather#GeoServer_.2F_GeoTools_BOF) page for details, and to note your attendence._

Thursday: September 17th

**GeoServer on Steroids **- 11:25 Ballroom B, Andrea Aime, Simone Giannecchini

> > _Setting up a GeoServer can sometimes be deceptively simple. However, going from proof of concept to production requires a number of steps to be taken in order to optimize the server in terms of availability, performance and scalability. The presentation will show how to get from a basic set up to a battle ready, rock solid installation by showing the ropes an advanced user already mastered. The topics that will be covered in details include:_ > > > > > * _Optimize vector and raster data for the deep multi-resolution displays typical of web GIS_ > > * _Optimize styling to provide a good balance between map navigability and performance, identifying common performance pitfalls in the styling options_ > > * _Setting up caching with GWC for the background layers, identify layers and situations that are not suitable for caching_ > > * _Defend against peak hour load by setting service limits and using the control-flow extension_ > > * _Using the monitoring extension to control the server in production and identify sources of trouble (long request, clients making too many/too heavy requests, layers and services used the most that could use more tuning attention)_ > > * _Solutions for clustering GeoServer and GeoWebCache_ > > * _Challenges in scaling beyond the few hundreds concurrent requests, and solutions to get there The presentation will end with real world examples of enterprise deployments of GeoServer implemented by the author as well as its colleagues at GeoSolutions during the years._ >

Mapping in GeoServer with SLD and CSS - 14:15 Room 10, Andrea Aime

_Various software can style maps and generate a proper SLD document for OGC compliant WMS like GeoServer to use. However, in most occasions, the styling allowed by the graphical tools is pretty limited and not good enough to achieve good looking, readable and efficient cartographic output. For those that like to write their own styles CSS also represents a nice alternatives thanks to its compact-ness and expressiveness._ _Several topics will be covered, providing examples in both SLD and CSS for each, including: mastering multi-scale styling, using GeoServer extensions to build common hatch patterns, line styling beyond the basics, such as cased lines, controlling symbols along a line and the way they repeat, leveraging TTF symbol fonts and SVGs to generate good looking point thematic maps, using the full power of GeoServer label lay-outing tools to build pleasant, informative maps on both point, polygon and line layers, including adding road plates around labels, leverage the labelling subsystem conflict resolution engine to avoid overlaps in stand alone point symbology, blending charts into a map, dynamically transform data during rendering to get more explicative maps without the need to pre-process a large amount of views. The presentation aims to provide the attendees with enough information to master SLD/CSS documents and most of GeoServer extensions to generate appealing, informative, readable maps that can be quickly rendered on screen._

Friday: September 18th

Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Developments - 14:00 Room 9m Andrea Aime, Simone Giannecchini

_The purpose of this presentation is, on a side, to dissect the developments performed during last year as far as raster data support in GeoTools and GeoServer is concerned, while on the other side to introduce and discuss the future development directions._ _Advancements and improvements for the management of multidimensional raster data (NetCDF, GRIB, HDF) and mosaic thereof will be introduced, as well as the available ways to manage sliding windows of data via the REST API and importer._ _Extensive details will be provided on the latest updates for the management of multidimensional raster data used in the Remote Sensing and MetOc fields, including support for WCS EO and WMS EO, and some considerations on the WCS MetOc extensions._ _The presentation will also introduce and provide updates on jai-ext, imageio-ext, and JAITools. jai-ext provides extended JAI operators that correctly handle NODATA and regione of interests (masks), JAITools provides a number of new raster data analysis operators, including powerful and fast raster algebra support, while ImageIO-Ext bridges the gap across the Java world and native raster data access libraries providing high performance access to GDAL, Kakadu and other libraries._ _The presentation will wrap up providing an overview of unresolved issues and challenges that still need to be addressed, suggesting tips and workarounds allowing to leverage the full potential of the systems._

Advanced Security with GeoServer and GeoFence - 14:30 Room 13, Andrea Aime, Simone Giannecchini

_The presentation will provide an introduction to GeoServer own authentication and authorization subsystems. We’ll cover the supported authentication protocols, such as from basic/digest authentication and CAS support, check through the various identity providers, such as local config files, database tables and LDAP servers, and how it’s possible to combine the various bits in a single comprehensive authentication tool, as well as providing examples of custom authentication plugins for GeoServer, integrating it in a home grown security architecture._ _We’ll then move on to authorization, describing the GeoServer pluggable authorization mechanism and comparing it with proxy based solution, and check the built in service and data security system, reviewing its benefits and limitations._ _Finally we’ll explore the advanced authentication provider, GeoFence, explore the levels on integration with GeoSErver, from the simple and seamless direct integration to the more sophisticated external setup, and see how it can provide GeoServer with complex authorization rules over data and OGC services, taking into account the current user, OGC request and requested layers to enforce spatial filters and alphanumeric filters, attribute selection as well as cropping raster data to areas of interest._

Everybody wants (someone else to do) it: Writing documentation for open source software - 13:25 Ballroom B, Jody Garnett

_Many people will cite how their adoption of software was based on the quality of documentation, and yet documentation can be one of the largest gaps in quality with an open source project._ _This talk will discuss why that is, what you (yes you) can do about it, and how the author has managed to avoid burnout (so far) by learning to accept less-than-perfect grammar._** **

Saturday: September 20th

GeoServer GeoTools Code Sprint - 9:00 Biz Gangnam Education & Training Center

_See [wiki](http://wiki.osgeo.org/wiki/FOSS4G_2015_Code_Sprint#GeoTools.2FGeoServer) page for details, and to note your attendance._
Read More

GeoServer 2.6.5 Released

The GeoServer team is pleased to announce the release of GeoServer 2.6.5. Download bundles are provided (binwardmg and exe) along with documentation and extensions.

GeoServer 2.6.5 is a maintenance release of GeoServer recommended for production deployment.

This is the last release of the GeoServer 2.6 series. Migrate to GeoServer 2.7 series for the latest stable release.

Thanks to everyone who took part by contributing fixes, new functionality, and documentation. Notable changes:

  • Update the 2.6.4 XXE Security fix to allow OWS POST in JBOSS

  • Can now seed layers with styles assigned to workspaces

  • Raster to vector transformation with re-projection using NetCDF as data store

  • Improvements to the GeoServer GDAL documentation for Windows

  • Fix LDAP Example in the documentation

  • Check the release notes for more details

  • This release is made in conjunction with GeoTools 12.5 and GeoWebCache 1.6.3

Thanks to Torben Barsballe (Boundless) or this release. Thanks also to Kevin Smith (Boundless) for releasing GeoWebCache 1.6.3 and to Dave Kelsey (Boundless) for fixing the GeoServer OS X build.

About GeoServer 2.6

Articles and resources for GeoServer 2.6 series:

Read More