State of GeoServer 2013 (FOSS4G)

69
geoserver.org State of GeoServer Andrea Aime, GeoSolutions Jody Garnett, Boundless Justin Deoliveira, Boundless

description

Presentation from FOSS4G 2013 in Nottingham

Transcript of State of GeoServer 2013 (FOSS4G)

Page 1: State of GeoServer 2013 (FOSS4G)

geoserver.org

State of GeoServer

Andrea Aime, GeoSolutions Jody Garnett, Boundless

Justin Deoliveira, Boundless

Page 2: State of GeoServer 2013 (FOSS4G)

geoserver.org

Presentation Guide

•  It has been two years since FOSS4G 2011 o GeoServer is a very active project o We do not have time to cover everything

• For each new feature in this presentation o Sponsor or organisation funding the work is on the left o Version number the feature is available is on the right

2.4.x 2.3.x 2.2.x

Community

Extension

Release

Page 3: State of GeoServer 2013 (FOSS4G)

geoserver.org

Presentation Guide

• GeoServer – project updates and news • Web Map Service • Web Feature Service • Web Coverage Service • Tile Services • Web Process Service • Catalogue Service Web – new! • Extensions • Community

Page 4: State of GeoServer 2013 (FOSS4G)

geoserver.org

GeoServer Project Updates and News

Page 5: State of GeoServer 2013 (FOSS4G)

geoserver.org

OSGeo Incubation

+ 2.2.x

Page 6: State of GeoServer 2013 (FOSS4G)

geoserver.org

Time Boxed Release Model

• A long gap before 2.2 was released o Something had to change for our customers

• One bug fix release every month o Bug fixes o Some minor new features backported from the

development branch, selected by the PSC

• One major release every six months o  new features

• Q: GeoServer 3.x? o When we’ll break backwards compatibility J

2.2.x

Page 7: State of GeoServer 2013 (FOSS4G)

geoserver.org

2012 2013

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Dev

elop

men

t St

able

Time Boxed Release Model

2.2.5

2.2.4

2.2.3

2.2.2

2.2.1

2.2

2.3.5

2.3.4

2.3.3

2.3.2

2.3.1

2.3

2.4-RC2

2.4-RC1

2.4-beta

2.1.4

2.3-RC2

2.3-RC1

2.3-beta

2.4

Page 8: State of GeoServer 2013 (FOSS4G)

geoserver.org

Security Framework

• See geoserver.org for Christian's Master Thesis o  Flexible authentication for stateless web services

• Why use GeoServer Security? o Don't list layers in GetCapabilities that cannot be used o  Layer name/description may be sensitive information

• Core Feature of GeoServer Web Services o Deep Integration with Web Services o  Fine grain control of Services and REST API access

2.2.x

Page 9: State of GeoServer 2013 (FOSS4G)

geoserver.org

Security – Authentication

• Plugins Provide Many Integration Options

2.2.x

Page 10: State of GeoServer 2013 (FOSS4G)

geoserver.org

Security – Password Storage / Policy

2.2.x

Page 11: State of GeoServer 2013 (FOSS4G)

geoserver.org

Security – Authorisation

• User / Group / Role • Define "Service Chains" for Services and REST

2.2.x

Page 12: State of GeoServer 2013 (FOSS4G)

geoserver.org

Security –LDAP Authorisation

2.2.x

Say something about Active Directory too

here

Page 13: State of GeoServer 2013 (FOSS4G)

geoserver.org

REST Configuration • Continues to be Wildly Popular • REST Configuration Improvements

o Manage Web Services o Check Installation Information

§  Installed version of GeoServer and GeoTools § List available Extensions and community modules

• Create and manage image mosaics o Describe internal structure (attributes) o Harvest new granules o Remove existing ones

2.3.0

Page 14: State of GeoServer 2013 (FOSS4G)

geoserver.org

Virtual Service per Workspace

2.2.x

GeoServer WMS WFS WCS

nurc

configuration

web services

tiger sf cite

cite WMS WFS WCS

WMS http://localhost:8080/geoserver/wms?request=GetCapabilities WMS CITE http://localhost:8080/geoserver/cite/wms?request=GetCapabilities

Page 15: State of GeoServer 2013 (FOSS4G)

geoserver.org

Enable Services per Workspace

2.2.x

Page 16: State of GeoServer 2013 (FOSS4G)

geoserver.org

Custom Settings per Workspace

2.2.x

Page 17: State of GeoServer 2013 (FOSS4G)

geoserver.org

Styles and Groups per Workspace

2.2.x

Page 18: State of GeoServer 2013 (FOSS4G)

geoserver.org

Translations

• Thanks to Frank Gasdorf – and Friends! o  https://www.transifex.com/projects/p/geoserver_stable

2.4.0

Page 19: State of GeoServer 2013 (FOSS4G)

geoserver.org

• New KML o Now for WFS too! o New Implementation o  Faster o KML Schema Compliant o High fidelity output for Marks

(icon service)

• New Shapefile o WFS SortBy support o Code clean up o Share significant portion

of code with database backends

New Implementations

2.4.0

Page 20: State of GeoServer 2013 (FOSS4G)

geoserver.org

WMS Web Map Service

Page 21: State of GeoServer 2013 (FOSS4G)

geoserver.org

Time and Elevation

• support for both raster and vector • custom dimensions

2.2.x

Page 22: State of GeoServer 2013 (FOSS4G)

geoserver.org

Time and Elevation ...&request=GetMap &time=2001-08-01/2001-09-01

...&request=GetMap &time=2003-08-01/2003-09-01

2.2.x

Page 23: State of GeoServer 2013 (FOSS4G)

geoserver.org

Custom Dimensions

2.3.x

Page 24: State of GeoServer 2013 (FOSS4G)

geoserver.org

Rendering Transforms - Contour

<FeatureTypeStyle> <Transformation> <Function name="contour"> <Function name="parameter"> <Literal>levels</Literals> <Literal>1000</Literal> <Literal>1250</Literal> <Literal>1500</Literal> ...

2.2.x

Page 25: State of GeoServer 2013 (FOSS4G)

geoserver.org

Rendering Transforms – Heat Maps

2.2.x

Page 26: State of GeoServer 2013 (FOSS4G)

geoserver.org

Rendering Transforms Surface interpolation

2.2.x

Page 27: State of GeoServer 2013 (FOSS4G)

geoserver.org

Rendering Transforms Point clustering

2.2.x

Page 28: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSS – Compact Styling for Humans

2.4.x

Page 29: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSS – SLD Generation

2.4.x

Page 30: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSS

2.4.x

Page 31: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSS – Reference, Tutorial, Cookbook

http://docs.geoserver.org/latest/en/user/extensions/css/index.html 2.4.x

Page 32: State of GeoServer 2013 (FOSS4G)

geoserver.org

WMS Layer Group Publishing (Finally!)

Nesting

Capabilities tree

2.3.x

Page 33: State of GeoServer 2013 (FOSS4G)

geoserver.org

WMS - Advertised Layers

2.3.x

Page 34: State of GeoServer 2013 (FOSS4G)

geoserver.org

WMS – TurboJPEG encoder

• Faster JPEG encoder • Supported also on Win 64

Com

Page 35: State of GeoServer 2013 (FOSS4G)

geoserver.org

WFS Web Feature Service

Page 36: State of GeoServer 2013 (FOSS4G)

geoserver.org

WFS 2.0 - Paging

...&request=GetFeature&startIndex=5&count=6

2.2.x

Page 37: State of GeoServer 2013 (FOSS4G)

geoserver.org

WFS 2.0 – Stored Queries <wfs:CreateStoredQuery> <wfs:StoredQueryDefinition id='bbox'> <wfs:Parameter name='AreaOfInterest' type='gml:Polygon'/> <wfs:QueryExpressionText returnFeatureTypes='topp:states'> <wfs:Query typeNames='topp:states'> <fes:Filter> <fes:BBOX> <fes:ValueReference>the_geom</fes:ValueReference> <gml:Envelope> <gml:lowerCorner>${x1} ${y1}</gml:lowerCorner> <gml:upperCorner>${x2} ${y2}</gml:upperCorner> </gml:Envelope> </fes:BBOX> </fes:Within> </fes:Filter> </wfs:Query> </wfs:QueryExpressionText> </wfs:StoredQueryDefinition> </wfs:CreateStoredQuery>

...&request=GetFeature&storedQueryId=bbox

&x1=-180&y1=-90&x2=180&y2=90

2.2.x

Page 38: State of GeoServer 2013 (FOSS4G)

geoserver.org

WFS 2.0 - Joining <wfs:GetFeature xmlns:wfs='http://www.opengis.net/wfs/2.0'

xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gs='http://geoserver.org'

version='2.0.0'>

<wfs:Query typeNames='gs:Forests gs:Roads' aliases='a b'>

<fes:Filter>

<fes:Intersects>

<fes:ValueReference>a/the_geom</fes:ValueReference>

<fes:ValueReference>b/the_geom</fes:ValueReference>

</fes:Intersects>

</fes:Filter>

</wfs:Query>

</wfs:GetFeature>

2.2.x

Page 39: State of GeoServer 2013 (FOSS4G)

geoserver.org

App schema • What is it? publish a specific data product

o  Data is "mapped" to fit your application schema § GeoSciML 3.1 GeoSciML 3.2 §  Complex INSPIRE services

•  Improved Functionality o  SortBy o  GML 3.2 "Complex" Features o  WMS

• Faster o  Makes use of "Joining" (for supported DataStores) o  Large non denormalised views/tables • New and Experimental

§  time series encoding § WFS 2.0 support (except paging)

2.2.x

2.3.x

2.4.x

Page 40: State of GeoServer 2013 (FOSS4G)

geoserver.org

XSLT output format generator

• Alternative for generating specific data product o Approach "only" transforms output o Query is against original dataset

XSLT Engine

Custom XSL Transform

GML 2.X/3.X

Plain text

Custom XML

HTML

KML

2.3.x

Page 41: State of GeoServer 2013 (FOSS4G)

geoserver.org

WCS Web Coverage Service

Page 42: State of GeoServer 2013 (FOSS4G)

geoserver.org

WCS 2.0

• Congrats OGC o Core protocol has been simplified o Additional Functionality Supplied by Profiles o  Finally a version of WCS users will love

• GeoServer Web Coverage Service o WCS 2.0 Implementation

• Community Modules o NetCDF Support o Earth Observation Profile o REST extension to manage mosaic

Com

Page 43: State of GeoServer 2013 (FOSS4G)

geoserver.org

NetCDF support

• NetCDF-CF support • Both input (WMS/WCS) • And output! (WCS)

• Tested on a number of sources o Polyphemus/Ascat/Gome/IASI/MSG2

Com

Page 44: State of GeoServer 2013 (FOSS4G)

geoserver.org

Tile Service WMTS, WMS-C, etc…

Page 45: State of GeoServer 2013 (FOSS4G)

geoserver.org

GeoWebCache Integration

2.2.x

Improved integration/UI

Page 46: State of GeoServer 2013 (FOSS4G)

geoserver.org

GeoWebCache Integration

2.2.x

Improved integration/UI

Page 47: State of GeoServer 2013 (FOSS4G)

geoserver.org

GeoWebCache

• Disk Quota and Disk Quota Clustering

2.3.x

GWC 1 GWC N

Quota DB

Tile storage

Load balancer

Page 48: State of GeoServer 2013 (FOSS4G)

geoserver.org

WPS Web Processing Service

Page 49: State of GeoServer 2013 (FOSS4G)

geoserver.org

Asynchronous WPS

2.2.x

Page 50: State of GeoServer 2013 (FOSS4G)

geoserver.org

Process Filtering

By group

Individual

2.3.x

Page 51: State of GeoServer 2013 (FOSS4G)

geoserver.org

Scripting (processes and more)

Python Groovy

JavaScript Ruby

JSR-223

Com

Page 52: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSW Catalog Service Web

Page 53: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSW Architecture

2.4.x

CSW MODULE

GetCapabilities

DescribeRecord

GetDomain

GetRecord

CatalogStore (Pluggable)

Internal GeoServer layers

Read records from file system

Legacy catalog

Write your own!

Page 54: State of GeoServer 2013 (FOSS4G)

geoserver.org

Simple Store

• Dublin Core XML Files

2.4.x

Simple store Dublin core XML files with Dublin core records

Page 55: State of GeoServer 2013 (FOSS4G)

geoserver.org

Internal CatalogStore

• Configure Layers with minimal metadata

2.4.x

Configured layer: name, title, abstract, minimal metadata

Configured layer

Configured layer

GeoServerInternal CatalogStore

ISO 19115 ISO 19119 ISO 19139

Dublin core

Page 56: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSW Metadata Mapping

2.4.x

@fileIdentifier.CharacterString=id identificationInfo.AbstractMD_Identification.citation.CI_Citation.title.CharacterString=title identificationInfo.AbstractMD_Identification.descriptiveKeywords.MD_Keywords.keyword .CharacterString=keywords identificationInfo.AbstractMD_Identification.abstract.CharacterString=abstract

$dateStamp.Date= if_then_else ( isNull("metadata.date") , 'Unknown', "metadata.date") hierarchyLevel.MD_ScopeCode.@codeListValue='http://purl.org/dc/dcmitype/Dataset' $contact.CI_ResponsibleParty.individualName.CharacterString='GeoServer'

@identifier.value=id title.value=title creator.value='GeoServer Catalog' subject.value=keywords subject.scheme='http://www.digest.org/2.1'

abstract.value=abstract description.value=strConcat('description about ' , title) date.value="metadata.date" type.value='http://purl.org/dc/dcmitype/Dataset' publisher.value='GeoServer'

Configurable property mapping

ISO

Dublin Core

Page 57: State of GeoServer 2013 (FOSS4G)

geoserver.org

CSW

2.4.x

Sample DC record

Page 58: State of GeoServer 2013 (FOSS4G)

geoserver.org

2.4.x

Sample CSW record

Page 59: State of GeoServer 2013 (FOSS4G)

geoserver.org

Assorted Extensions

More Optional GeoServer functionality

Page 60: State of GeoServer 2013 (FOSS4G)

geoserver.org

Importer – Easy GeoServer Setup

2.4.x

Page 61: State of GeoServer 2013 (FOSS4G)

geoserver.org

Importer – Select Files

2.4.x

Page 62: State of GeoServer 2013 (FOSS4G)

geoserver.org

Importer – Publish

• Style is Generated for Each Layer

• Optional Actions for Common Tasks

2.4.x

Page 63: State of GeoServer 2013 (FOSS4G)

geoserver.org

INSPIRE

• WMS and WFS Extension

2.3.x

Page 64: State of GeoServer 2013 (FOSS4G)

geoserver.org

Monitor

• Collect Status on GeoServer use • Monitor Query API

o REST API producing Excel, CSV, ZIP

2.3.x

GeoServer

WMS WFS WCS

Monitor Core

Monitor Hibernate

Database

clients

web services

Monitor Query API

Page 65: State of GeoServer 2013 (FOSS4G)

geoserver.org

Community Ideas and Experiments

Page 66: State of GeoServer 2013 (FOSS4G)

geoserver.org

Earth Observation

• Web Coverage Service 2.0 Profile o Coverage datasets

group coverages, avoid large caps documents o DescribeEOCoverageSet

drill into contents o DescribeCoverage

Earth Observation metadata, time support, sensor description

• Web Map Service EO profile

Com

Page 67: State of GeoServer 2013 (FOSS4G)

geoserver.org

Earth Observation Wizard

• Quickly build WMS EO compliant groups o Browse/Footprints/Parameters/Flags

Com

Page 68: State of GeoServer 2013 (FOSS4G)

geoserver.org

GeoTools Improvements

• GeoTools raster API overhaul o  Improved Access to Rich Raster Content o NetCDF

• GeoTools Feature Collection / Bounds o Support 3D Coordinate Reference Systems via WMS o Straight Quality Assurance Run

• Native Geometry for SQL Server

2.4.x

Page 69: State of GeoServer 2013 (FOSS4G)

geoserver.org

Thanks! Questions?