SlideShare a Scribd company logo
1 of 69
Download to read offline
State of
GeoServer 2016
FOSS4G Bonn
Andrea Aime
Technical Lead
andrea.aime@geo-solutions.it
@geowolf
GeoSolutions
Innovative, robust and cost-effective solutions
leveraging best-of-breed Open Source products.
Welcome
Open Source Projects
GeoTools
GeoServer
ImageIO-Ext
JAI-Ext
JAI Tools
OSGeo Foundation
Charter Member
Jody Garnett
Community Lead
jgarnett@boundlessgeo.com
@jodygarnett
Boundless
Provides geospatial tools and services for
managing data and building applications.
Welcome
Open Source Projects
GeoTools
GeoServer
uDig
OSGeo Foundation
Board Member
OSGeo Incubation Chair
GeoTools Project Officer
Eclipse Foundation
LocationTech Steering Committee
LocationTech Technology Project
GeoServer 2016
GeoServer at a Glance
Java Web Application to share and
edit geospatial data.
Publish data from any major spatial
data source using open standards.
Core Protocols
WMS – maps
WFS – vector
WFS-T – editing
WCS – coverage
WPS – process
Tile Protocols
WMTS – tiles
TileService – tiles
WMS-C – tiles
28 → 37 members of team geoserver
624 → 619 members on geoserver-devel
500+ → 525 pull requests
New contributors being added
(others stepping back)
Smaller base of active contributors this year.
Pull requests still going strong, very active
codebase.
Simone replaces Andrea as OSGeo Officer.
13 releases this year
Health Checkup
How about team user-list?
1983 → 2005 geoserver-users
Also geoserver-italia, espanol and opengeo.cn
mailing lists
August 2.8.5 2.9.1
July
June 2.8.4
May 2.9.0
April 2.9-beta2
March 2.7.6 2.8.3
February
January 2.8.2
December 2.7.5
November 2.7.4 2.8.1
October 2.7.3
September 2.8.0
Releases stable maintenance
} delay
Q: “Update the headers” was the most common
feedback on incoming pull requests. Was it
needed?
A: Checked with OSGeo legal (thanks board):
- headers are an historical artifact from
before the Berne Convention
- no longer needed, now just informative.
Header Maintenance
/* (c) 2016 Open Source Geospatial Foundation - all rights reserved
* This code is licensed under the GPL 2.0 license, available at the
* root application directory.
*/
package org.geoserver.main;
New Headers Policy
The new copyright header management policy is
as simple as:
● Add a copyright header, with the current
year, to each new file
● Add a copyright header to each modified
file without one (using the current year)
● Otherwise do not change the copyright
header when an existing file is modified
Configuration and management
● Allows GeoServer to store resources
(icons, fonts, config files) in either file
system or database “blobs”.
● Run without a “Data Directory”
(Helpful in clustered/cloud environment)
● All instances of file access were converted
to resource api
● Backwards compatible - file will be
unpacked on disk if required
● Manage via REST API
● GUI available as community module
Resource API
2.8 2.9 2.10
Scitus
Development
Boundless
Web Services
Configuration
Data
Directory
ResourceCatalog
Web Services
Configuration
JDBCConfig
ResourceCatalog
● Management of icons, fonts, configuration
via REST API only?
● Community module provides a wicket user
interface
Resource browser community module
2.10
Scitus
Development
Boundless
Module “status” REST API (and GUI)
● Automated testing of GeoServer is a
challenge
● REST API access to the “status page”
● Easy to add additional entries
● Used to check environment for difficult to
configure modules that use native code
2.9 2.10BoundlessBoundless QA
Module name: Rendering Engine
● Module : jvm
● Component : java2d
● Version : 1.8.0_66
● Enabled : true
● Available : true
● Message : Java 2D configured with
DuctusRenderingEngine.
● Provider: OracleJDK
geoserver/rest/about/status
In development!
Parametric configuration
● Switching data directories between
integration/beta/production environments can
be a pain
● GeoServer 2.10 allows to stick parameters in
the configuration, and read them from the
environment
● Look ma, switching environments without
grep/sed on the data dir :-)
● Store params in property file, system or
environment variables
2.9 2.10GeoSolutions
Eumetsat
World Bank
Backup/restore community module
● Save the configuration to a zip file (not the
data!)
● Restore later, in the same or different
environment
● UI to run backup and restore
● Asynch operations
○ During backup the configuration is forced read only
○ During restore it’s fully locked
2.9 2.10GeoSolutions
Eumetsat
World Bank
Backup/restore community module (cont'd)
● Can do a “dry run”
to check if there is
any error prior to
restore
2.9 2.10GeoSolutions
Eumetsat
World Bank
Backup/restore
community module
(cont'd)
● REST API to run, control,
eventually cancel backups and
restores
2.9 2.10GeoSolutions
Eumetsat
World Bank
Raster data sources
Improved masking support
● Raster masking available for both image mosaic and GDAL data sources
● Both in vector (polygon footprint) and raster (binary mask) for
2.8 2.9 2.10GeoSolutionsLiguria digitale
Heterogeneous mosaics - color models
● Support for mosaics with sources in multiple color models
(RGB, gray, indexed), since 2.8.x
2.8 2.9 2.10GeoSolutions
Heterogeneous mosaics - resolution / projections
2.10BoundlessSOCOM
● Support for mosaics in multiple coordinate reference systems
(Coming in 2.10.x)
Excess granule removal
● Optimization for deep z-order mosaic stacks
● E.g., time series of scattered data
● Do not load imagery that is not contributing to the output
2.9 2.10GeoSolutionsBEV
In development!
Multiple coverages for mosaic and pyramid (2.10)
● Already available for multidimensional data (NetCDF, Grib)
● Now available also for “flat” data sources
● Meaningful if the sources are normally managed and used together (e.g.,
multispectral satellite data and its derived products)
2.9 2.10ImplementorBEV
Coverage view optimizations (2.10)
● A coverage view allows to bind together bands from different coverages
coming from the same source (e.g., NetCDF)
● Optimization to avoid reading all sources if the style is only using a subset of
the bands
A
B
C
Combiner
SLD Style
selecting only
A
Map
Hint about which bands
are actually going to be
used
GeoSolutionsBEV 2.9 2.10
In development!
GeoServer support for RAP native grid GRIB2 files
2.9
GRIB2/NetCDF rotated pole projections
Publish the native GRIB2 file format of
NOAA's latest RAPv3 North American
weather forecast model.
2.10TransientBoundless
Maintenance &
Technical Debt
● Relying on volunteer time to keep an eye
on the codebase was not working out
○ team busy on customer work?
○ backlog of bugs piling up
● Trying an experiment
○ Once a month meeting
○ Distributed, on-line code sprint
● When:
○ First edition in July
○ Second at the end of FOSS4G
Monthly bug fixing code sprints
Monthly bug fixing code sprints
● Actions
○ Vet existing tickets
○ close invalid/non reproducible ones
○ close feature requests that failed to gather
resourcing in a long time...
○ Fix bugs
● Nice side effects:
○ Gets more developers familiar with the
contents of the issue tracker
○ Opportunity to get proficient with new parts
of the code base
○ Predictable, scheduled activity
Wicket 7
Held sprint in victoria to clear up
this long standing technical debt!
Thanks to OSGeo, Boundless,
Vivid Solutions, How 2 Map, San
Jose Water Company, Transient,
GeoBeyond, Scitus,
GeoSolutions, CCRi, Astun
Technology, and Voyager
Search for sponsoring this work.
2.9 2.10
Victoria Code
Sprint
Java 8
GeoServer now requires Java 8.
Why? What changed ...
- Traditionally GeoServer takes forever to support the latest Java
- Oracle now charges for Java 7 security updates
2.9 2.10Joint EffortCommunity
Required to upgrade the “Spring Framework”
used to wire GeoServer together:
- We needed a newer version of “Spring” for
Java 8 compatibility
- Upgraded to Spring 4 → 2 month delay to
GeoServer 2.9 release
Check that your application server supports:
- Servlet 3.0 was released in 2009
- Supported by Tomcat 7 and Tomcat 8
Spring 4
2.9 2.10Joint-EffortCommunity
Styling
Perpendicular Offset for Lines and Polygons
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#AAAAAA</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
<PerpendicularOffset>-2</PerpendicularOffset>
</LineSymbolizer>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#FF0000</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
<CssParameter name="stroke-dasharray">5 2</CssParameter>
</Stroke>
<PerpendicularOffset>3</PerpendicularOffset>
</LineSymbolizer>
2.8 2.9 2.10GeoSolutionsDLR
ncWMS like extensions to GetMap (community)
● A new styling language designed for dynamic colormaps
● Applies to all rasters based on their statistics
● Use can control min/max, log scale, animation
2.10GeoSolutions
Style Page
2.10BoundlessCommunity
Refactored CSS Style
Page into the main
application.
Works with
SLD, CSS, YSLD.
Improved experience for
everybody!
In development!
New features for CSS (2.10)
● Rendering transformations supported (feature parity with SLD!)
● Rule nesting, helps with selector duplication and makes styles more readable
/* @title Levels */
* {
transform: ras:Contour(levels: 1100 1200 1300 1400 1500 1600 1700);
stroke: black;
z-index: 0;
}
/* @title Values */
[@scale < 3000] {
transform: ras:RasterAsPointCollection();
mark: symbol('square');
:mark {
size: 2;
fill: black;
}
label: [GRAY_INDEX];
label-anchor: 0 0.5;
label-offset: 5 0;
font-family: Arial;
font-fill: black;
z-index: 1;
}
Extract contours at the desired levels
When zoomed-in enough, extract point
values, display center with a mark, and
value on top of it
2.10Andrea Aime
In development!
YSLD community module
● Style Layer Descriptor represented in
YAML
○ Uses indentation rather than XML
○ Easier to read
○ More compact
○ More flexible syntax
○ Contains variables for reusable code
○ Compatible with SLD
● REST API can convert formats
○ Preview your existing styles as YSLD
using REST API
○ View the SLD representation of YSLD
2.9 2.10ImplementorCustomer
symbolizers:
- polygon:
stroke-color: 'blue'
stroke-width: 1
fill-color: '#7EB5D3'
- text:
label: ${name}
fill-color: 'black'
anchor: [0.5, 0.5]
x-maxDisplacement: 40
x-autoWrap: 70
Custom Legend Graphic
Take control of the legend graphic
(Advertised in WMS GetCapapabilities).
Legend shown in compatible clients
when listing your layer.
2.9 2.10BoundlessBoundless
WMS
image/vnd.jpeg-png
● Smart format, chooses
between JPEG and PNG
depending on image
contents
● JPEG for max
compression on fully
opaque images
● PNG when transparency is
needed
● Supported both in WMS
and WMTS
PNG PNG PNG
PNG JPEG JPEG
2.9 2.10GeoSolutions
UTFGrid (format=application/json;type=utfgrid)
● MapBox style UTFGrid
output for WMS and
WMTS
● More flexibility
○ Non square tiles
○ Available in all projections
● Of course you can limit
yourself to simple tiles
2.9 2.10GeoSolutionsCianad
Vector tiles
Community module for
publishing vector tiles
- Great solution for
modern High Definition
Screens
- Use for GeoWebCache
for “MapBox without
MapBox”
- (see talk tomorrow)
2.8 2.9 2.10ImplementorCustomer
GetLegendGraphic layout control
● Vendor parameters to control layout of generated legend:
layout, rows, cols, rowwidth, columnheight
● Horizontal or vertical, possibility to control number of columns
● Handy for printing maps
horizontal
horizontal, 2 rows
horizontal, max row len
vertical, 2 cols
vertical, max col height
2.8 2.9 2.10GeoSolutionsUNEP
WFS
Breaking the limits of shapefile size (paging)
● A WFS shapefile extraction could go beyond the limits of shapefile max size
● If this happens, shapefiles are now paged out
● The dumping engine, including the ability to fan out different geometry types
to separate shapefiles, is now available as a utility class in GeoTools
2.8 2.9 2.10GeoSolutions
Swedish University of
Agricultural Sciences
Easier setup for complex features with Hale
● Desktop tool to map a
flat data source to a
complex schema
● Visual
● Support for exporting
the mapping as an
app-schema mapping
● Still needs some work to
improve workflow
efficiency
2.8 2.9 2.10GeoSolutionsLAMMA
Speed up that complex feature
query
● Filters on primary table fields already sent
down to the DBMS as SQL
● Filters on joined fields were evaluated in
memory
● Optimizations to send those down,
leverage indexes and reduce network i/o
2.8 2.9 2.10GeoSolutionsCSI Piemonte
In memory
filtering
DBMS
filtering
In development!
Tiling
MBTiles like storage
● Store tiles in MBTiles database
● Possibility to use many databases, following a pattern, e.g.,
○ /path/to/{grid}/{dim}/{tileset}/{z}/{x}-{y}.sqlite (x and y are actually groups of values)
○ Helps with scalability, especially if not fully seeded
● Allows to store non Google Mercator projections (extension)
● Allows to store formats other than png or jpeg (extension)
● Stores in lookup table creation date for expiration support
● REST API to replace single files (automate migration from seeding
machine to serving ones)
● Not compatible with disk quota!
https://github.com/GeoWebCache/geowebcache/wiki/MBTiles-BlobStore
2.9 2.10GeoSolutionsCapgemini
WMTS config page
● Allows WMTS to have
its own service
metadata configured
from the UI
● Adds a point where the
INSPIRE module can
plug into for extra
configuration
2.9 2.10GeoSolutionsBEV
WMTS workspace specific and INSPIRE
compatibility
● WMTS now works also as a
workspace specific service (finally
multitenancy and tile caching)
● Allows to setup INSPIRE
harmonized layer names
● INSPIRE module extended to inject
INSPIRE minimum metadata in
WMTS GetCapabilities output
Workspace
1
Workspace
2
INSPIRE
compliant
Generic
tiles
2.9 2.10GeoSolutionsBEV
WMS/WMTS ND discovery extensions
● Data with N dimensions (time, elevation, custom ones)
● Dimensions can be related (forecasts, time and run time), the data can be
scattered (remote sensing)
● Add extra calls to query the domains. Like, if I fix a given time and bbox, what
residual ranges of elevations and run-times are available?
● Add extra calls to list specific items in a small domain (full enumeration of
possible combinations
2.9 2.10GeoSolutionsBEV
WPS
Aggregation with group-by (2.9)
● The aggregation
process has been
extended with group-by
capabilities
● Quick way to power
custom charts on your
client side
{
"GroupByAttributes": [ "groupingAttribute" ],
"AggregationResults": [
[ "Class1", 18 ],
[ "Class2", 1 ],
[ "Class3", 3 ],
[ "Class4", 3 ]
],
"AggregationFunctions": [ "Count" ],
"AggregationAttribute": "countingAttribute"
}
2.8 2.9 2.10GeoSolutionsLiguria Digitale
Improved WPS resource control (2.10)
● Processes are run in thread pools, they
can wait for their execution slot in queue
● Separate control for total time, and pure
execution time
2.10utas.edu.au
Download process improvements (community
module)
● Community module for clip and
ship support
● Asynch requests allow for large
extractions
● Can have maximum extraction
limits configured
● Added ability to also select
bands, and improved output size
estimation
WPS
2.9 2.10GeoSolutionsBEV
Large raster extraction optimizations
● Optimizing many concurrent large masked raster
extractions via Download process (e.g. 128
concurrent requests at the bigtiff threshold)
● Improved both scalability and reliability under
sustained load on a “big iron” (40 cores, 128GB
memory)
2.9 2.10GeoSolutions 2.8
Security
LDAP User Group Service
● We previously only had an “authentication
provider”, meaning, it used the
username/pw provided and tried to open
a LDAP connection with them
● We now also have a “user group
service”,it opens a LDAP connection
using fixed credentials, and searches the
user in the LDAP database, matching the
password
● E.g., similar to storing users in a DBMS
2.10Niels Charlier?
Integrated GeoFence community module
● Allows to define complex rules without running
a separate GeoFence server
● UI to edit rules
● REST API to automate rule editing
2.8 2.9 2.10Niels Charlier?
Integrated GeoFence community module (cnt’d)
● Separate page for “admin” rules, that is, rules
controlling administration level access
● Used to setup workspace specific admins and
the like
2.8 2.9 2.10GeosolutionsCamp2Camp
Research, Development
and other news
GeoPackage module moving to supported land
● Currently a “community module”, not officially supported
● Increasing test coverage
● More compatibility testing with OGR and friends
● OGC compliance tests
● Moving towards supported status
2.10
Ian Turton
GeoSolutions
Swedish University of
Agricultural Sciences
GeoGig GUI
Manage repositories and publish via
WFS and WFS-T for web client
access.
2.9 2.10BoundlessGeoGig
GeoGig Web API
curl -X PUT -H "Content-Type: application/json" -d '{
"parentDirectory": "/opt/geogig/repos",
"authorName": "geogig",
"authorEmail": "geogig@geogig.org"
}'
"http://localhost:8080/geoserver/geogig/repos/myrepo/init"
REST API for managing repositories,
when combined with GeoServer REST
API a wide range of scripts are
possible.
2.9 2.10BoundlessGeoGig
Looking Ahead
Java 9 Compatibility
Java 9 has been delayed until 2017, but we
would like to ensure GeoServer will function.
Oracle will stop shipping free security updates to
Java 8 on
We have a couple incompatibilities with the
GeoTools “service provider interface” plugin
system that we will look at resolving during the
code sprint!
The Java Advanced Imaging library enables
GeoServer to do all kinds of great image
processing! The JAI-EXT project extends this
library with replacement no-data / footprint
aware operations.
Sadly Oracle has not maintained the project,
and has not released it as open source.
(see Replace-JAI on GeoTools wiki)
Raster Processing Engine
Joint OSGeo / LocationTech game plan:
● Raster Processing Engine API
definition of raster-processing-api
● Raster Processing Engine
reference pure-java implementation
● Raster Processing Wrapper
benchmark jai-wrapper implementation
● GeoTools Replace JAI
migrate to raster processing engine api
and coordinate transition affected projects
(GeoServer, GeoNode, uDig, GeoScript,
etc...)
Thanks!

More Related Content

What's hot

Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...GeoSolutions
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...GeoSolutions
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZYGeoSolutions
 
GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoSolutions
 
GeoServer Orientation
GeoServer OrientationGeoServer Orientation
GeoServer OrientationJody Garnett
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationGeoSolutions
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...GeoSolutions
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014Jody Garnett
 
State of GeoServer 2015
State of GeoServer 2015State of GeoServer 2015
State of GeoServer 2015Jody Garnett
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...GeoSolutions
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13Jody Garnett
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...GeoSolutions
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14Jody Garnett
 
MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactGeoSolutions
 
GeoServer Feature Frenzy
GeoServer Feature FrenzyGeoServer Feature Frenzy
GeoServer Feature FrenzyJody Garnett
 
GeoServer on steroids
GeoServer on steroidsGeoServer on steroids
GeoServer on steroidsGeoSolutions
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...GeoSolutions
 
GeoServer Ecosystem 2018
GeoServer Ecosystem 2018GeoServer Ecosystem 2018
GeoServer Ecosystem 2018Jody Garnett
 
WMS Performance Shootout 2010
WMS Performance Shootout 2010WMS Performance Shootout 2010
WMS Performance Shootout 2010Jeff McKenna
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJody Garnett
 

What's hot (20)

Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZY
 
GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!
 
GeoServer Orientation
GeoServer OrientationGeoServer Orientation
GeoServer Orientation
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer Presentation
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014
 
State of GeoServer 2015
State of GeoServer 2015State of GeoServer 2015
State of GeoServer 2015
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14
 
MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and React
 
GeoServer Feature Frenzy
GeoServer Feature FrenzyGeoServer Feature Frenzy
GeoServer Feature Frenzy
 
GeoServer on steroids
GeoServer on steroidsGeoServer on steroids
GeoServer on steroids
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
 
GeoServer Ecosystem 2018
GeoServer Ecosystem 2018GeoServer Ecosystem 2018
GeoServer Ecosystem 2018
 
WMS Performance Shootout 2010
WMS Performance Shootout 2010WMS Performance Shootout 2010
WMS Performance Shootout 2010
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial Community
 

Viewers also liked

Getting it Done at LocationTech
Getting it Done at LocationTechGetting it Done at LocationTech
Getting it Done at LocationTechJody Garnett
 
Shifted Maps presentation at Maptime Berlin, November 2015
Shifted Maps presentation at Maptime Berlin, November 2015Shifted Maps presentation at Maptime Berlin, November 2015
Shifted Maps presentation at Maptime Berlin, November 2015Heike Otten
 
Open Source - 5 myths
Open Source - 5 mythsOpen Source - 5 myths
Open Source - 5 mythspiers_higgs
 
Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver鸣 饶
 
All the New Cool Stuff in QGIS 2.0
All the New Cool Stuff in QGIS 2.0All the New Cool Stuff in QGIS 2.0
All the New Cool Stuff in QGIS 2.0Nathan Woodrow
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습HaNJiN Lee
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGISmleslie
 
Understanding Open Source
Understanding Open SourceUnderstanding Open Source
Understanding Open SourceJody Garnett
 
Integrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsIntegrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsCommand Prompt., Inc
 
The 4 Levels of Open Source Risk Management
The 4 Levels of Open Source Risk ManagementThe 4 Levels of Open Source Risk Management
The 4 Levels of Open Source Risk ManagementBlack Duck by Synopsys
 
PostGIS and Spatial SQL
PostGIS and Spatial SQLPostGIS and Spatial SQL
PostGIS and Spatial SQLTodd Barr
 
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017Massimiliano Cannata keynote @ FOSS4G-ASIA 2017
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017Massimiliano Cannata
 
2016 Future of Open Source Survey Results
2016 Future of Open Source Survey Results2016 Future of Open Source Survey Results
2016 Future of Open Source Survey ResultsBlack Duck by Synopsys
 

Viewers also liked (13)

Getting it Done at LocationTech
Getting it Done at LocationTechGetting it Done at LocationTech
Getting it Done at LocationTech
 
Shifted Maps presentation at Maptime Berlin, November 2015
Shifted Maps presentation at Maptime Berlin, November 2015Shifted Maps presentation at Maptime Berlin, November 2015
Shifted Maps presentation at Maptime Berlin, November 2015
 
Open Source - 5 myths
Open Source - 5 mythsOpen Source - 5 myths
Open Source - 5 myths
 
Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver
 
All the New Cool Stuff in QGIS 2.0
All the New Cool Stuff in QGIS 2.0All the New Cool Stuff in QGIS 2.0
All the New Cool Stuff in QGIS 2.0
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGIS
 
Understanding Open Source
Understanding Open SourceUnderstanding Open Source
Understanding Open Source
 
Integrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsIntegrating PostGIS in Web Applications
Integrating PostGIS in Web Applications
 
The 4 Levels of Open Source Risk Management
The 4 Levels of Open Source Risk ManagementThe 4 Levels of Open Source Risk Management
The 4 Levels of Open Source Risk Management
 
PostGIS and Spatial SQL
PostGIS and Spatial SQLPostGIS and Spatial SQL
PostGIS and Spatial SQL
 
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017Massimiliano Cannata keynote @ FOSS4G-ASIA 2017
Massimiliano Cannata keynote @ FOSS4G-ASIA 2017
 
2016 Future of Open Source Survey Results
2016 Future of Open Source Survey Results2016 Future of Open Source Survey Results
2016 Future of Open Source Survey Results
 

Similar to GeoServer 2016 State and Advances

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening OverviewJody Garnett
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GISJoe Larson
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]Leonardo Zanivan
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...NETWAYS
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody Garnett
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding HadoopAhmed Ossama
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
Db2 analytics accelerator on ibm integrated analytics system technical over...
Db2 analytics accelerator on ibm integrated analytics system   technical over...Db2 analytics accelerator on ibm integrated analytics system   technical over...
Db2 analytics accelerator on ibm integrated analytics system technical over...Daniel Martin
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornMichel Graciano
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Neo4j
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Pravasini Sahoo
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolThierry Badard
 
JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?JBossArchitectForum
 
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYApache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYWangda Tan
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveSebastian Vieira
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemHaNJiN Lee
 

Similar to GeoServer 2016 State and Advances (20)

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding Hadoop
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Db2 analytics accelerator on ibm integrated analytics system technical over...
Db2 analytics accelerator on ibm integrated analytics system   technical over...Db2 analytics accelerator on ibm integrated analytics system   technical over...
Db2 analytics accelerator on ibm integrated analytics system technical over...
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL tool
 
JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?
 
Fuji Overview
Fuji OverviewFuji Overview
Fuji Overview
 
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYApache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystem
 

More from Jody Garnett

Open Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoOpen Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoJody Garnett
 
Introduction to OSGeo
Introduction to OSGeoIntroduction to OSGeo
Introduction to OSGeoJody Garnett
 
Open Source Procurement
Open Source ProcurementOpen Source Procurement
Open Source ProcurementJody Garnett
 
Open Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoOpen Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoJody Garnett
 
Open Source is hard, we are here to help!
Open Source is hard, we are here to help!Open Source is hard, we are here to help!
Open Source is hard, we are here to help!Jody Garnett
 
Working with the OSGeo Community
Working with the OSGeo CommunityWorking with the OSGeo Community
Working with the OSGeo CommunityJody Garnett
 
Open Data and Open Software Geospatial Applications
Open Data and Open Software Geospatial ApplicationsOpen Data and Open Software Geospatial Applications
Open Data and Open Software Geospatial ApplicationsJody Garnett
 
Map box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersMap box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersJody Garnett
 
Quick and easy web maps
Quick and easy web mapsQuick and easy web maps
Quick and easy web mapsJody Garnett
 
Incubation Orientation
Incubation OrientationIncubation Orientation
Incubation OrientationJody Garnett
 
Understanding the Flexibility of Open Source
Understanding the Flexibility of Open SourceUnderstanding the Flexibility of Open Source
Understanding the Flexibility of Open SourceJody Garnett
 
Understanding Open Source
Understanding Open SourceUnderstanding Open Source
Understanding Open SourceJody Garnett
 
A New Vision for OSGeo
A New Vision for OSGeoA New Vision for OSGeo
A New Vision for OSGeoJody Garnett
 
Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for JavaJody Garnett
 
Welcome to the FOSS4G Community
Welcome to the FOSS4G CommunityWelcome to the FOSS4G Community
Welcome to the FOSS4G CommunityJody Garnett
 

More from Jody Garnett (20)

Open Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoOpen Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeo
 
Introduction to OSGeo
Introduction to OSGeoIntroduction to OSGeo
Introduction to OSGeo
 
Open Source Procurement
Open Source ProcurementOpen Source Procurement
Open Source Procurement
 
State of JTS 2018
State of JTS 2018State of JTS 2018
State of JTS 2018
 
Open Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeoOpen Source Practice and Passion at OSGeo
Open Source Practice and Passion at OSGeo
 
Open Source is hard, we are here to help!
Open Source is hard, we are here to help!Open Source is hard, we are here to help!
Open Source is hard, we are here to help!
 
OSGeo AGM 2018
OSGeo AGM 2018OSGeo AGM 2018
OSGeo AGM 2018
 
Working with the OSGeo Community
Working with the OSGeo CommunityWorking with the OSGeo Community
Working with the OSGeo Community
 
Open Data and Open Software Geospatial Applications
Open Data and Open Software Geospatial ApplicationsOpen Data and Open Software Geospatial Applications
Open Data and Open Software Geospatial Applications
 
Map box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersMap box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayers
 
Quick and easy web maps
Quick and easy web mapsQuick and easy web maps
Quick and easy web maps
 
State of GeoGig
State of GeoGigState of GeoGig
State of GeoGig
 
State of JTS 2017
State of JTS 2017State of JTS 2017
State of JTS 2017
 
OSGeo AGM 2017
OSGeo AGM 2017OSGeo AGM 2017
OSGeo AGM 2017
 
Incubation Orientation
Incubation OrientationIncubation Orientation
Incubation Orientation
 
Understanding the Flexibility of Open Source
Understanding the Flexibility of Open SourceUnderstanding the Flexibility of Open Source
Understanding the Flexibility of Open Source
 
Understanding Open Source
Understanding Open SourceUnderstanding Open Source
Understanding Open Source
 
A New Vision for OSGeo
A New Vision for OSGeoA New Vision for OSGeo
A New Vision for OSGeo
 
Geospatial for Java
Geospatial for JavaGeospatial for Java
Geospatial for Java
 
Welcome to the FOSS4G Community
Welcome to the FOSS4G CommunityWelcome to the FOSS4G Community
Welcome to the FOSS4G Community
 

Recently uploaded

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Recently uploaded (20)

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

GeoServer 2016 State and Advances

  • 2. Andrea Aime Technical Lead andrea.aime@geo-solutions.it @geowolf GeoSolutions Innovative, robust and cost-effective solutions leveraging best-of-breed Open Source products. Welcome Open Source Projects GeoTools GeoServer ImageIO-Ext JAI-Ext JAI Tools OSGeo Foundation Charter Member
  • 3. Jody Garnett Community Lead jgarnett@boundlessgeo.com @jodygarnett Boundless Provides geospatial tools and services for managing data and building applications. Welcome Open Source Projects GeoTools GeoServer uDig OSGeo Foundation Board Member OSGeo Incubation Chair GeoTools Project Officer Eclipse Foundation LocationTech Steering Committee LocationTech Technology Project
  • 5. GeoServer at a Glance Java Web Application to share and edit geospatial data. Publish data from any major spatial data source using open standards. Core Protocols WMS – maps WFS – vector WFS-T – editing WCS – coverage WPS – process Tile Protocols WMTS – tiles TileService – tiles WMS-C – tiles
  • 6. 28 → 37 members of team geoserver 624 → 619 members on geoserver-devel 500+ → 525 pull requests New contributors being added (others stepping back) Smaller base of active contributors this year. Pull requests still going strong, very active codebase. Simone replaces Andrea as OSGeo Officer. 13 releases this year Health Checkup How about team user-list? 1983 → 2005 geoserver-users Also geoserver-italia, espanol and opengeo.cn mailing lists
  • 7. August 2.8.5 2.9.1 July June 2.8.4 May 2.9.0 April 2.9-beta2 March 2.7.6 2.8.3 February January 2.8.2 December 2.7.5 November 2.7.4 2.8.1 October 2.7.3 September 2.8.0 Releases stable maintenance } delay
  • 8. Q: “Update the headers” was the most common feedback on incoming pull requests. Was it needed? A: Checked with OSGeo legal (thanks board): - headers are an historical artifact from before the Berne Convention - no longer needed, now just informative. Header Maintenance
  • 9. /* (c) 2016 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the * root application directory. */ package org.geoserver.main; New Headers Policy The new copyright header management policy is as simple as: ● Add a copyright header, with the current year, to each new file ● Add a copyright header to each modified file without one (using the current year) ● Otherwise do not change the copyright header when an existing file is modified
  • 11. ● Allows GeoServer to store resources (icons, fonts, config files) in either file system or database “blobs”. ● Run without a “Data Directory” (Helpful in clustered/cloud environment) ● All instances of file access were converted to resource api ● Backwards compatible - file will be unpacked on disk if required ● Manage via REST API ● GUI available as community module Resource API 2.8 2.9 2.10 Scitus Development Boundless Web Services Configuration Data Directory ResourceCatalog Web Services Configuration JDBCConfig ResourceCatalog
  • 12. ● Management of icons, fonts, configuration via REST API only? ● Community module provides a wicket user interface Resource browser community module 2.10 Scitus Development Boundless
  • 13. Module “status” REST API (and GUI) ● Automated testing of GeoServer is a challenge ● REST API access to the “status page” ● Easy to add additional entries ● Used to check environment for difficult to configure modules that use native code 2.9 2.10BoundlessBoundless QA Module name: Rendering Engine ● Module : jvm ● Component : java2d ● Version : 1.8.0_66 ● Enabled : true ● Available : true ● Message : Java 2D configured with DuctusRenderingEngine. ● Provider: OracleJDK geoserver/rest/about/status In development!
  • 14. Parametric configuration ● Switching data directories between integration/beta/production environments can be a pain ● GeoServer 2.10 allows to stick parameters in the configuration, and read them from the environment ● Look ma, switching environments without grep/sed on the data dir :-) ● Store params in property file, system or environment variables 2.9 2.10GeoSolutions Eumetsat World Bank
  • 15. Backup/restore community module ● Save the configuration to a zip file (not the data!) ● Restore later, in the same or different environment ● UI to run backup and restore ● Asynch operations ○ During backup the configuration is forced read only ○ During restore it’s fully locked 2.9 2.10GeoSolutions Eumetsat World Bank
  • 16. Backup/restore community module (cont'd) ● Can do a “dry run” to check if there is any error prior to restore 2.9 2.10GeoSolutions Eumetsat World Bank
  • 17. Backup/restore community module (cont'd) ● REST API to run, control, eventually cancel backups and restores 2.9 2.10GeoSolutions Eumetsat World Bank
  • 19. Improved masking support ● Raster masking available for both image mosaic and GDAL data sources ● Both in vector (polygon footprint) and raster (binary mask) for 2.8 2.9 2.10GeoSolutionsLiguria digitale
  • 20. Heterogeneous mosaics - color models ● Support for mosaics with sources in multiple color models (RGB, gray, indexed), since 2.8.x 2.8 2.9 2.10GeoSolutions
  • 21. Heterogeneous mosaics - resolution / projections 2.10BoundlessSOCOM ● Support for mosaics in multiple coordinate reference systems (Coming in 2.10.x)
  • 22. Excess granule removal ● Optimization for deep z-order mosaic stacks ● E.g., time series of scattered data ● Do not load imagery that is not contributing to the output 2.9 2.10GeoSolutionsBEV In development!
  • 23. Multiple coverages for mosaic and pyramid (2.10) ● Already available for multidimensional data (NetCDF, Grib) ● Now available also for “flat” data sources ● Meaningful if the sources are normally managed and used together (e.g., multispectral satellite data and its derived products) 2.9 2.10ImplementorBEV
  • 24. Coverage view optimizations (2.10) ● A coverage view allows to bind together bands from different coverages coming from the same source (e.g., NetCDF) ● Optimization to avoid reading all sources if the style is only using a subset of the bands A B C Combiner SLD Style selecting only A Map Hint about which bands are actually going to be used GeoSolutionsBEV 2.9 2.10 In development!
  • 25. GeoServer support for RAP native grid GRIB2 files 2.9 GRIB2/NetCDF rotated pole projections Publish the native GRIB2 file format of NOAA's latest RAPv3 North American weather forecast model. 2.10TransientBoundless
  • 27. ● Relying on volunteer time to keep an eye on the codebase was not working out ○ team busy on customer work? ○ backlog of bugs piling up ● Trying an experiment ○ Once a month meeting ○ Distributed, on-line code sprint ● When: ○ First edition in July ○ Second at the end of FOSS4G Monthly bug fixing code sprints
  • 28. Monthly bug fixing code sprints ● Actions ○ Vet existing tickets ○ close invalid/non reproducible ones ○ close feature requests that failed to gather resourcing in a long time... ○ Fix bugs ● Nice side effects: ○ Gets more developers familiar with the contents of the issue tracker ○ Opportunity to get proficient with new parts of the code base ○ Predictable, scheduled activity
  • 29. Wicket 7 Held sprint in victoria to clear up this long standing technical debt! Thanks to OSGeo, Boundless, Vivid Solutions, How 2 Map, San Jose Water Company, Transient, GeoBeyond, Scitus, GeoSolutions, CCRi, Astun Technology, and Voyager Search for sponsoring this work. 2.9 2.10 Victoria Code Sprint
  • 30. Java 8 GeoServer now requires Java 8. Why? What changed ... - Traditionally GeoServer takes forever to support the latest Java - Oracle now charges for Java 7 security updates 2.9 2.10Joint EffortCommunity
  • 31. Required to upgrade the “Spring Framework” used to wire GeoServer together: - We needed a newer version of “Spring” for Java 8 compatibility - Upgraded to Spring 4 → 2 month delay to GeoServer 2.9 release Check that your application server supports: - Servlet 3.0 was released in 2009 - Supported by Tomcat 7 and Tomcat 8 Spring 4 2.9 2.10Joint-EffortCommunity
  • 33. Perpendicular Offset for Lines and Polygons <LineSymbolizer> <Stroke> <CssParameter name="stroke">#AAAAAA</CssParameter> <CssParameter name="stroke-width">3</CssParameter> </Stroke> <PerpendicularOffset>-2</PerpendicularOffset> </LineSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#FF0000</CssParameter> <CssParameter name="stroke-width">3</CssParameter> <CssParameter name="stroke-dasharray">5 2</CssParameter> </Stroke> <PerpendicularOffset>3</PerpendicularOffset> </LineSymbolizer> 2.8 2.9 2.10GeoSolutionsDLR
  • 34. ncWMS like extensions to GetMap (community) ● A new styling language designed for dynamic colormaps ● Applies to all rasters based on their statistics ● Use can control min/max, log scale, animation 2.10GeoSolutions
  • 35. Style Page 2.10BoundlessCommunity Refactored CSS Style Page into the main application. Works with SLD, CSS, YSLD. Improved experience for everybody! In development!
  • 36. New features for CSS (2.10) ● Rendering transformations supported (feature parity with SLD!) ● Rule nesting, helps with selector duplication and makes styles more readable /* @title Levels */ * { transform: ras:Contour(levels: 1100 1200 1300 1400 1500 1600 1700); stroke: black; z-index: 0; } /* @title Values */ [@scale < 3000] { transform: ras:RasterAsPointCollection(); mark: symbol('square'); :mark { size: 2; fill: black; } label: [GRAY_INDEX]; label-anchor: 0 0.5; label-offset: 5 0; font-family: Arial; font-fill: black; z-index: 1; } Extract contours at the desired levels When zoomed-in enough, extract point values, display center with a mark, and value on top of it 2.10Andrea Aime In development!
  • 37. YSLD community module ● Style Layer Descriptor represented in YAML ○ Uses indentation rather than XML ○ Easier to read ○ More compact ○ More flexible syntax ○ Contains variables for reusable code ○ Compatible with SLD ● REST API can convert formats ○ Preview your existing styles as YSLD using REST API ○ View the SLD representation of YSLD 2.9 2.10ImplementorCustomer symbolizers: - polygon: stroke-color: 'blue' stroke-width: 1 fill-color: '#7EB5D3' - text: label: ${name} fill-color: 'black' anchor: [0.5, 0.5] x-maxDisplacement: 40 x-autoWrap: 70
  • 38. Custom Legend Graphic Take control of the legend graphic (Advertised in WMS GetCapapabilities). Legend shown in compatible clients when listing your layer. 2.9 2.10BoundlessBoundless
  • 39. WMS
  • 40. image/vnd.jpeg-png ● Smart format, chooses between JPEG and PNG depending on image contents ● JPEG for max compression on fully opaque images ● PNG when transparency is needed ● Supported both in WMS and WMTS PNG PNG PNG PNG JPEG JPEG 2.9 2.10GeoSolutions
  • 41. UTFGrid (format=application/json;type=utfgrid) ● MapBox style UTFGrid output for WMS and WMTS ● More flexibility ○ Non square tiles ○ Available in all projections ● Of course you can limit yourself to simple tiles 2.9 2.10GeoSolutionsCianad
  • 42. Vector tiles Community module for publishing vector tiles - Great solution for modern High Definition Screens - Use for GeoWebCache for “MapBox without MapBox” - (see talk tomorrow) 2.8 2.9 2.10ImplementorCustomer
  • 43. GetLegendGraphic layout control ● Vendor parameters to control layout of generated legend: layout, rows, cols, rowwidth, columnheight ● Horizontal or vertical, possibility to control number of columns ● Handy for printing maps horizontal horizontal, 2 rows horizontal, max row len vertical, 2 cols vertical, max col height 2.8 2.9 2.10GeoSolutionsUNEP
  • 44. WFS
  • 45. Breaking the limits of shapefile size (paging) ● A WFS shapefile extraction could go beyond the limits of shapefile max size ● If this happens, shapefiles are now paged out ● The dumping engine, including the ability to fan out different geometry types to separate shapefiles, is now available as a utility class in GeoTools 2.8 2.9 2.10GeoSolutions Swedish University of Agricultural Sciences
  • 46. Easier setup for complex features with Hale ● Desktop tool to map a flat data source to a complex schema ● Visual ● Support for exporting the mapping as an app-schema mapping ● Still needs some work to improve workflow efficiency 2.8 2.9 2.10GeoSolutionsLAMMA
  • 47. Speed up that complex feature query ● Filters on primary table fields already sent down to the DBMS as SQL ● Filters on joined fields were evaluated in memory ● Optimizations to send those down, leverage indexes and reduce network i/o 2.8 2.9 2.10GeoSolutionsCSI Piemonte In memory filtering DBMS filtering In development!
  • 49. MBTiles like storage ● Store tiles in MBTiles database ● Possibility to use many databases, following a pattern, e.g., ○ /path/to/{grid}/{dim}/{tileset}/{z}/{x}-{y}.sqlite (x and y are actually groups of values) ○ Helps with scalability, especially if not fully seeded ● Allows to store non Google Mercator projections (extension) ● Allows to store formats other than png or jpeg (extension) ● Stores in lookup table creation date for expiration support ● REST API to replace single files (automate migration from seeding machine to serving ones) ● Not compatible with disk quota! https://github.com/GeoWebCache/geowebcache/wiki/MBTiles-BlobStore 2.9 2.10GeoSolutionsCapgemini
  • 50. WMTS config page ● Allows WMTS to have its own service metadata configured from the UI ● Adds a point where the INSPIRE module can plug into for extra configuration 2.9 2.10GeoSolutionsBEV
  • 51. WMTS workspace specific and INSPIRE compatibility ● WMTS now works also as a workspace specific service (finally multitenancy and tile caching) ● Allows to setup INSPIRE harmonized layer names ● INSPIRE module extended to inject INSPIRE minimum metadata in WMTS GetCapabilities output Workspace 1 Workspace 2 INSPIRE compliant Generic tiles 2.9 2.10GeoSolutionsBEV
  • 52. WMS/WMTS ND discovery extensions ● Data with N dimensions (time, elevation, custom ones) ● Dimensions can be related (forecasts, time and run time), the data can be scattered (remote sensing) ● Add extra calls to query the domains. Like, if I fix a given time and bbox, what residual ranges of elevations and run-times are available? ● Add extra calls to list specific items in a small domain (full enumeration of possible combinations 2.9 2.10GeoSolutionsBEV
  • 53. WPS
  • 54. Aggregation with group-by (2.9) ● The aggregation process has been extended with group-by capabilities ● Quick way to power custom charts on your client side { "GroupByAttributes": [ "groupingAttribute" ], "AggregationResults": [ [ "Class1", 18 ], [ "Class2", 1 ], [ "Class3", 3 ], [ "Class4", 3 ] ], "AggregationFunctions": [ "Count" ], "AggregationAttribute": "countingAttribute" } 2.8 2.9 2.10GeoSolutionsLiguria Digitale
  • 55. Improved WPS resource control (2.10) ● Processes are run in thread pools, they can wait for their execution slot in queue ● Separate control for total time, and pure execution time 2.10utas.edu.au
  • 56. Download process improvements (community module) ● Community module for clip and ship support ● Asynch requests allow for large extractions ● Can have maximum extraction limits configured ● Added ability to also select bands, and improved output size estimation WPS 2.9 2.10GeoSolutionsBEV
  • 57. Large raster extraction optimizations ● Optimizing many concurrent large masked raster extractions via Download process (e.g. 128 concurrent requests at the bigtiff threshold) ● Improved both scalability and reliability under sustained load on a “big iron” (40 cores, 128GB memory) 2.9 2.10GeoSolutions 2.8
  • 59. LDAP User Group Service ● We previously only had an “authentication provider”, meaning, it used the username/pw provided and tried to open a LDAP connection with them ● We now also have a “user group service”,it opens a LDAP connection using fixed credentials, and searches the user in the LDAP database, matching the password ● E.g., similar to storing users in a DBMS 2.10Niels Charlier?
  • 60. Integrated GeoFence community module ● Allows to define complex rules without running a separate GeoFence server ● UI to edit rules ● REST API to automate rule editing 2.8 2.9 2.10Niels Charlier?
  • 61. Integrated GeoFence community module (cnt’d) ● Separate page for “admin” rules, that is, rules controlling administration level access ● Used to setup workspace specific admins and the like 2.8 2.9 2.10GeosolutionsCamp2Camp
  • 63. GeoPackage module moving to supported land ● Currently a “community module”, not officially supported ● Increasing test coverage ● More compatibility testing with OGR and friends ● OGC compliance tests ● Moving towards supported status 2.10 Ian Turton GeoSolutions Swedish University of Agricultural Sciences
  • 64. GeoGig GUI Manage repositories and publish via WFS and WFS-T for web client access. 2.9 2.10BoundlessGeoGig
  • 65. GeoGig Web API curl -X PUT -H "Content-Type: application/json" -d '{ "parentDirectory": "/opt/geogig/repos", "authorName": "geogig", "authorEmail": "geogig@geogig.org" }' "http://localhost:8080/geoserver/geogig/repos/myrepo/init" REST API for managing repositories, when combined with GeoServer REST API a wide range of scripts are possible. 2.9 2.10BoundlessGeoGig
  • 67. Java 9 Compatibility Java 9 has been delayed until 2017, but we would like to ensure GeoServer will function. Oracle will stop shipping free security updates to Java 8 on We have a couple incompatibilities with the GeoTools “service provider interface” plugin system that we will look at resolving during the code sprint!
  • 68. The Java Advanced Imaging library enables GeoServer to do all kinds of great image processing! The JAI-EXT project extends this library with replacement no-data / footprint aware operations. Sadly Oracle has not maintained the project, and has not released it as open source. (see Replace-JAI on GeoTools wiki) Raster Processing Engine Joint OSGeo / LocationTech game plan: ● Raster Processing Engine API definition of raster-processing-api ● Raster Processing Engine reference pure-java implementation ● Raster Processing Wrapper benchmark jai-wrapper implementation ● GeoTools Replace JAI migrate to raster processing engine api and coordinate transition affected projects (GeoServer, GeoNode, uDig, GeoScript, etc...)