geoserver beginners gwf_2015

54
GeoServer an introduction for beginners Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions GWF 2015, Lisbon 27 th May 2015

Upload: osgeo

Post on 28-Jul-2015

420 views

Category:

Software


1 download

TRANSCRIPT

GeoServeran introduction for beginners

Ing. Andrea Aime, GeoSolutionsIng. Simone Giannecchini, GeoSolutions

GWF 2015, Lisbon27th May 2015

GeoSolutions

Founded in Italy in late 2006

Expertise

• Image Processing, GeoSpatial Data Fusion

• Java, Java Enterprise, C++, Python

• JPEG2000, JPIP, Advanced 2D visualization

Supporting/Developing FOSS4G projects MapStore, GeoServer

GeoNetwork, GeoTools, GeoNode,

ImageIO-Ext and more: https://github.com/geosolutions-it

Focus on Consultancy PAs, NGOs, private companies, etc…

GWF 2015, Lisbon27th May 2015

GeoSolutions

GWF 2015, Lisbon27th May 2015

Enterprise Support Services Bug Fixing Support Customizations & New Features 5 packages different types of needs

Professional Training End-To-End Projects (Integration)

Tell me what you need, I’ll put it together for you We take our core products and

Bend them, twist them, embed them Hammer them to make clients happy

FOSS4G Software is core for us Not simply use but develop and support

Outline

Quick intro to GeoServer

Basic concepts, administration GUI and REST

WMS / WFS / WCS / WPS

Security

GWF 2015, Lisbon27th May 2015

GeoServer

GeoSpatial enterprise gateway Java Enterprise Management and Dissemination of

raster and vector data Standards compliant

OGC WCS 1.0, 1.1.1 (RI), 2.0 OGC WFS 1.0, 1.1 (RI), 2.0 OGC WMS 1.1.1, 1.3.0 OGC WPS 1.0.0 OGC CSW 2.0.1 (ebRIM)

Google Earth/Maps support KML, GeoSearch, etc..

GWF 2015, Lisbon27th May 2015

Fo

rmat

s an

d P

roto

cols

Ge

oS

erv

er WFS

WMS

PostGISOracleH2DB2SQL ServerMySqlSpatialiteGeoCouchMongoDB

Shapefile

---------------------------------------

---------------------------------------

---------------------------------------

ArcSDEWFS

PNG, GIFJPEGTIFF, GeoTIFFSVG, PDFKML/KMZ

ShapefileGML2GML3GeoRSSGeoJSONCSV/XLS

Raw vectordata

Servers

Styled maps

DBMS

Vector files

WCSGeoTIFFWMSArcGridGTopo30Img+worldMosaicMrSIDJPEG 2000ECW,Pyramid, Oracle GeoRaster, PostGis Raster, NetCDF

Raster files

Raw rasterdata

GeoTIFFArcGridGTopo30Img+World

WMTS,TMS,

WMS-CKML superoverlaysGoogle maps tilesOGC tilesOSGEO tiles

Google

WPS

CSW

GWF 2015, Lisbon27th May 2015

Administering GeoServer

Workspaces: organizational structure/folder/virtual services

Stores: connections to data sources Layers: the data and its configuration Styles: how to draw it LayerGroups: ready to use maps Processes Services: per service config details Security

Key Concepts

GWF 2015, Lisbon27th May 2015

Virtual Services

Expose different OGC services per workspace Styles and layer groups per workspace

Have different administrators per workspace multi-tenancy

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Administration GUI

GWF 2015, Lisbon27th May 2015

RESTful Configuration

Programmatic configuration of layers via REST calls

Workspaces, Data stores / coverage stores Layers and Styles, Service configurations Freemarker templates

Exposing internal configuration to remote clients Ajax - JavaScript friendly

Various client libraries available in different languages (Java, Python, Ruby, …).

Example, geoserver-manager: https://github.com/geosolutions-it/geoserver-manager

GWF 2015, Lisbon27th May 2015

RESTful Configuration example

Automate management of layers and their configuration

FTP

ETL

Get and process data

Publish new layers

via REST config

GWF 2015, Lisbon27th May 2015

WMS

Dissemination of Maps Fusing raster and vector data seamlessly

Rule/scale driven rendering

WMS 1.1.1 and 1.3 support Time/elevation/custom dimension support SLD

Basic support for SLD 1.1 and SE 1.1

Full support for SLD 1.0

CSS extension for compact styling

Many rendering extensions available

GWF 2015, Lisbon27th May 2015

Many Rendering Options

GWF 2015, Lisbon27th May 2015

Some examples from IGN

GWF 2015, Lisbon27th May 2015

Many Supported Projections

Dateline crossing management

GWF 2015, Lisbon27th May 2015

WMS: TIME and ELEVATION

TIME = 20100512T0000000ZELEVATION = 0.0

FeatureType Editor

GWF 2015, Lisbon27th May 2015

WMS: Rendering Transformations

On-the-fly data transformations Calling spatial analysis processes from SLD docs Optimized for performance Examples: on the fly contour lines, heat maps,

point clustering, point interpolation, GCP based image rectification

GWF 2015, Lisbon27th May 2015

GeoWebCache Integration

GeoServer

GeoWebCache

Persistent raster/KMLtile cache

Direct calls to GeoServer rendering engine

Support for layers modified through WFS-T

Support for various tile protocols

GMap, Gearth OpenLayers, VEarth,

Bing Speed-up factor 10/100

Disk quota support

GWF 2015, Lisbon27th May 2015

KML/KMZ

TEMPORAL SERIES

KML EXTRUDE KML SUPEROVERLAY

GWF 2015, Lisbon27th May 2015

Publishing Vector Data

WFS

Dissemination and filtering of vector data WFS 1.0, 1.1 and 2.0 (since 2.2.0) Transaction and paging available in all versions Simplified filtering via CQL Formats:

GML 2, 3.1 and 3.2 CSV, Excel spreadsheet, GeoRSS, GeoJSON Shapefile (zipped) Any other format supported by ogr2ogr (configurable)

GWF 2015, Lisbon27th May 2015

Rich Filtering Support

Full standard filter support Scalar (<, <=, >, >=, =, !=, like) Temporal Spatial (intersections, touch, dwithin, dbeyond, …)

Filters directly translated into native data source filtering (e.g., SQL for spatial databases, OGC Filter for WFS cascading, SDE filters, ….)

Rich set of filter functions for advanced filtering (do math and string manipuation in your filters):http://docs.geoserver.org/stable/en/user/filter/function_reference.html

GWF 2015, Lisbon27th May 2015

More data access options

Paging (native in WFS 2.0, back-ported to other versions as a vendor extension)

Joins (scalar, temporal, spatial) between feature types (WFS 2.0)

Stored queries (WFS 2.0) Reprojection Various built-in output formats (GML2/3.1/3.2,

shapefile, geojson, csv, excel) More can be added via ogr2ogr or by programming

GWF 2015, Lisbon27th May 2015

WFS-Transactional

Modify your data from your remote client (desktop, web or mobile)

WFS-T WMS

Edit with desktop clientand commit changes

All protocols will Immediately see

the updates

GWF 2015, Lisbon27th May 2015

Complex Features Support

Application/community schemas

Complex Features

Attributes as sub-features

Attributes as list of features

Tree-like structure

Mixing in a single tree heterogeneous data sources Optimizations if everything is in the same DBMS

GWF 2015, Lisbon27th May 2015

Complex Features Support – The Good

GWF 2015, Lisbon27th May 2015

Official GeoServer extension Complex Features

Multi valued attributes Collection of related objects in one XML Nesting of features (also Complex Features) Required by many Inspire schemas

• Mapping of SimpleFeatures to build Complex Features, that are compliant to a

given XSD Transformations through CQL Feature linking

Complex Features support

GWF 2015, Lisbon27th May 2015

Difficult to configure no UI Manually create XML configuration files Reload Catalog for any change (trial and

error) Need for a graphical mapping tool

Performance Getting good performance can be

difficult Data needs to be preprocessed

(denormalized) Optimized join on JDBC based sources

can help

The Bad

The Ugly

Complex Features – HALE at rescue

GWF 2015, Lisbon27th May 2015

Using HALE as a GUI editor for app-schema config No need to create a new GUI Seamless integration of HALE with GeoServer Implemented as a new type of Alignment Writer Needs to support most common HALE transformations

and translate them to app-schema mappings• Tough work

• Will be done in steps• Most common transformation firsts• Hopefully, no need to manually edit the final result

Complex Features – HALE at rescue

GWF 2015, Lisbon27th May 2015

In the process… Already Funded Improvements and bugfixes to HALE Improvements and bugfixes to GeoServer app-schema New schema/data formats for HALE Spatialite New type of transformations for HALE (e.g.

ReprojectGeometry) Improvements to the app-schema mapping engine to get

a better integration Bonus Track Funding Appreciated

Integrate HALE ETL Engine in GeoServer Batch exports (Predefined dataset) Periodic batch Preprocessing for efficient publishing

Publishing Raster Data

WCS

Raster data dissemination Raw raster data useful for analysis, no maps!

Support for TIME and ELEVATION (via ImageMosaic plugin)

WCS 1.0, 1.1.1 and 2.0 Output formats

GeoTiff, ArcGrid

NetCDF

Extensions ELEVATION as band management

GWF 2015, Lisbon27th May 2015

WCS features

Everything needed to support the WCS 2.0 Earth Observation profile:

Trimming (spatially , temporally, and on custom dimensions too as a vendor extension)

Band subsetting Reprojection GeoTiff output control (tiling, compression, …) Description of NetCDF/mosaics as EO datasets (list of

all the internal slices)

GWF 2015, Lisbon27th May 2015

N-dimensional mosaic/NetCDF support

GWF 2015, Lisbon27th May 2015

Spatiotemporal Raster Management

REST support to expose a image mosaic internal structure Dimensions Granules

Dimensions: list, edit, create, remove /workspaces/<ws>/coveragestores/<cs>/coverages/<mosaic>/dimensions /workspaces/<ws>/coveragestores/<cs>/coverages/<mosaic>/dimensions/<dimension>[.format] TODO paging and query of dimension domain

Granules: list, edit, create, remove /workspaces/<ws>/coveragestores/<cs>/coverages/<mosaic>/index /workspaces/<ws>/coveragestores/<cs>/coverages/<mosaic>/index/pageN /workspaces/<ws>/coveragestores/<cs>/coverages/<mosaic>/index/pageN/granuleM

GWF 2015, Lisbon27th May 2015

Analyzing & Processing data

WPS

WPS 1.0

Official Extension

Raster and Vector data support

Many built-in processer (almost 100):

Vector and geometric analysis

Raster based

Conversions processes (raster vector)

Tight integration with local data and map rendering

GWF 2015, Lisbon27th May 2015

An example

Buffer a L shaped geometry with distance “2”

Get the result back as GML

GWF 2015, Lisbon27th May 2015

A chaining example

GWF 2015, Lisbon27th May 2015

Synchronous vs asynchronous

WPS client WPS

Launch process

Send back results

SimpleSuitable for fast executions

Synchronous

WPS client WPS

Launch process

Status URL

Check progress

50%

Check progress

100%Results inlineLink to results

More complexSuitable for longer computations

Asynchronous

GWF 2015, Lisbon27th May 2015

Tight integration

WPS

RemoteWCS

RemoteWFS

HTTP server

WPSclient

All GeoServer Layers

WMSclientWMS

GeoServer UI

GWF 2015, Lisbon27th May 2015

Writing processes

Python Groovy

JavaScript Ruby

JSR-223

http://geoscript.org

GWF 2015, Lisbon27th May 2015

Securing Data

Security: Authentication

Pluggable authentication mechanisms

GWF 2015, Lisbon27th May 2015

Authentication mechanism mix per URL

Different access paths need different auth mechanisms (GUI vs REST vs OGC service):

GWF 2015, Lisbon27th May 2015

Basic data access security

Simple built-in role and layer based data access:

GWF 2015, Lisbon27th May 2015

Basic service access security

Simple built-in role and service based data access:

GWF 2015, Lisbon27th May 2015

Advanced security via external tools

https://github.com/geoserver/geofence

GWF 2015, Lisbon27th May 2015

The End

[email protected]

GWF 2015, Lisbon27th May 2015