Top Banner
GeoServer an introduction for beginners Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions GWF 2015, Lisbon 27 th May 2015
54
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GeoServer beginners gwf_2015

GeoServeran introduction for beginners

Ing. Andrea Aime, GeoSolutionsIng. Simone Giannecchini, GeoSolutions

GWF 2015, Lisbon27th May 2015

Page 2: GeoServer beginners gwf_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

Page 3: GeoServer beginners gwf_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

Page 4: GeoServer beginners gwf_2015

Outline

Quick intro to GeoServer

Basic concepts, administration GUI and REST

WMS / WFS / WCS / WPS

Security

GWF 2015, Lisbon27th May 2015

Page 5: GeoServer beginners gwf_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

Page 6: GeoServer beginners gwf_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

Page 7: GeoServer beginners gwf_2015

Administering GeoServer

Page 8: GeoServer beginners gwf_2015

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

Page 9: GeoServer beginners gwf_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

Page 10: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 11: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 12: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 13: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 14: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 15: GeoServer beginners gwf_2015

Administration GUI

GWF 2015, Lisbon27th May 2015

Page 16: GeoServer beginners gwf_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

Page 17: GeoServer beginners gwf_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

Page 18: GeoServer beginners gwf_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

Page 19: GeoServer beginners gwf_2015

Many Rendering Options

GWF 2015, Lisbon27th May 2015

Page 20: GeoServer beginners gwf_2015

Some examples from IGN

GWF 2015, Lisbon27th May 2015

Page 21: GeoServer beginners gwf_2015

Many Supported Projections

Dateline crossing management

GWF 2015, Lisbon27th May 2015

Page 22: GeoServer beginners gwf_2015

WMS: TIME and ELEVATION

TIME = 20100512T0000000ZELEVATION = 0.0

FeatureType Editor

GWF 2015, Lisbon27th May 2015

Page 23: GeoServer beginners gwf_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

Page 24: GeoServer beginners gwf_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

Page 25: GeoServer beginners gwf_2015

KML/KMZ

TEMPORAL SERIES

KML EXTRUDE KML SUPEROVERLAY

GWF 2015, Lisbon27th May 2015

Page 26: GeoServer beginners gwf_2015

Publishing Vector Data

Page 27: GeoServer beginners gwf_2015

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

Page 28: GeoServer beginners gwf_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

Page 29: GeoServer beginners gwf_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

Page 30: GeoServer beginners gwf_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

Page 31: GeoServer beginners gwf_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

Page 32: GeoServer beginners gwf_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

Page 33: GeoServer beginners gwf_2015

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

Page 34: GeoServer beginners gwf_2015

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

Page 35: GeoServer beginners gwf_2015

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

Page 36: GeoServer beginners gwf_2015

Publishing Raster Data

Page 37: GeoServer beginners gwf_2015

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

Page 38: GeoServer beginners gwf_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

Page 39: GeoServer beginners gwf_2015

N-dimensional mosaic/NetCDF support

GWF 2015, Lisbon27th May 2015

Page 40: GeoServer beginners gwf_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

Page 41: GeoServer beginners gwf_2015

Analyzing & Processing data

Page 42: GeoServer beginners gwf_2015

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

Page 43: GeoServer beginners gwf_2015

An example

Buffer a L shaped geometry with distance “2”

Get the result back as GML

GWF 2015, Lisbon27th May 2015

Page 44: GeoServer beginners gwf_2015

A chaining example

GWF 2015, Lisbon27th May 2015

Page 45: GeoServer beginners gwf_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

Page 46: GeoServer beginners gwf_2015

Tight integration

WPS

RemoteWCS

RemoteWFS

HTTP server

WPSclient

All GeoServer Layers

WMSclientWMS

GeoServer UI

GWF 2015, Lisbon27th May 2015

Page 47: GeoServer beginners gwf_2015

Writing processes

Python Groovy

JavaScript Ruby

JSR-223

http://geoscript.org

GWF 2015, Lisbon27th May 2015

Page 48: GeoServer beginners gwf_2015

Securing Data

Page 49: GeoServer beginners gwf_2015

Security: Authentication

Pluggable authentication mechanisms

GWF 2015, Lisbon27th May 2015

Page 50: GeoServer beginners gwf_2015

Authentication mechanism mix per URL

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

GWF 2015, Lisbon27th May 2015

Page 51: GeoServer beginners gwf_2015

Basic data access security

Simple built-in role and layer based data access:

GWF 2015, Lisbon27th May 2015

Page 52: GeoServer beginners gwf_2015

Basic service access security

Simple built-in role and service based data access:

GWF 2015, Lisbon27th May 2015

Page 53: GeoServer beginners gwf_2015

Advanced security via external tools

https://github.com/geoserver/geofence

GWF 2015, Lisbon27th May 2015

Page 54: GeoServer beginners gwf_2015

The End

[email protected]

GWF 2015, Lisbon27th May 2015