geoserver, an introduction for beginners

Post on 08-Sep-2014

427 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

This presentation will provide an introduction to the GeoServer project and its abilities to publish data with a mix of well known OGC protocols and other pupolar protocol and data formats, including: * Setting up vector and raster data from the GeoServer administration control * Publishing data via WMS, WFS and WCS * Styling layers using desktop tools, with a carousel of GeoServer mapping abilities * Tile caching with WMTS * Moving to data processing with WPS * Brief introduction to security

TRANSCRIPT

GeoServer an introduction for beginners

Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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, GeoBatch,

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

Focus on Consultancy

PAs, NGOs, private companies, etc…

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Outline

Quick intro to GeoServer

Basic concepts, administration GUI and REST

WMS / WFS / WCS / WPS

Security

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

OGC WPS 1.0.0

Google Earth/Maps support

KML, GeoSearch, etc..

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Fo

rmats

an

d P

roto

co

ls

Ge

oS

erv

er

WFS

WMS

PostGIS Oracle H2 DB2 SQL Server MySql Spatialite GeoCouch MongoDB

Shapefile

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

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

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

ArcSDE WFS

PNG, GIF JPEG TIFF, GeoTIFF SVG, PDF KML/KMZ

Shapefile GML2 GML3 GeoRSS GeoJSON CSV/XLS

Raw vector data

Servers

Styled maps

DBMS

Vector files

WCS GeoTIFF WMS ArcGrid GTopo30 Img+world Mosaic MrSID JPEG 2000 ECW,Pyramid, Oracle GeoRaster, PostGis Raster, NetCDF

Raster files

Raw raster data

GeoTIFF ArcGrid GTopo30 Img+World

WMTS, TMS,

WMS-C KML superoverlays Google maps tiles OGC tiles OSGEO tiles

Google

WPS

CSW

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Virtual Services

Expose different OGC services per workspace

Styles and layer groups per workspace

Have different administrators per workspace multi-tenancy

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Administration GUI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

RESTful Configuration example

Automate management of layers and their configuration

Get and process data

Publish new layers

via REST config

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Many Rendering Options

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Some examples from IGN

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Many Supported Projections

Dateline crossing management

Cutting un-reprojectable geometries

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

WMS: TIME and ELEVATION

TIME = 20100512T0000000Z ELEVATION = 0.0

FeatureType Editor

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

GeoWebCache Integration

GeoServer

GeoWebCache

Persistent raster/KML tile 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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

KML/KMZ

TEMPORAL SERIES

KML EXTRUDE KML SUPEROVERLAY

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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)

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

WFS-Transactional

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

WFS-T WMS

Edit with desktop client and commit changes

All protocols will Immediately see

the updates

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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)

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

N-dimensional mosaic/NetCDF support

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

An example

Buffer a L shaped geometry with distance “2”

Get the result back as GML

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

A chaining example

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Synchronous vs asynchronous

WPS client

WPS

Launch process

Send back results

Simple Suitable for fast executions

Synchronous

WPS client

WPS

Launch process

Status URL

Check progress

50%

Check progress

100% Results inline Link to results

More complex Suitable for longer computations

Asynchronous

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Tight integration

WPS

Remote WCS

Remote WFS

HTTP server

WPS client

All GeoServer Layers

WMS client WMS

GeoServer UI

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Writing processes

Python Groovy

JavaScript Ruby

JSR-223

http://geoscript.org

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Securing Data

Security: Authentication

Pluggable authentication mechanisms

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Authentication mechanism mix per URL

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

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Basic data access security

Simple built-in role and layer based data access:

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Basic service access security

Simple built-in role and service based data access:

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Advanced security via external tools

https://github.com/geosolutions-it/geofence

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

Closing Up

Fo

rmats

an

d P

roto

co

ls

Ge

oS

erv

er

WFS

WMS

PostGIS Oracle H2 DB2 SQL Server MySql Spatialite GeoCouch MongoDB

Shapefile

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

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

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

ArcSDE WFS

PNG, GIF JPEG TIFF, GeoTIFF SVG, PDF KML/KMZ

Shapefile GML2 GML3 GeoRSS GeoJSON CSV/XLS

Raw vector data

Servers

Styled maps

DBMS

Vector files

WCS GeoTIFF WMS ArcGrid GTopo30 Img+world Mosaic MrSID JPEG 2000 ECW,Pyramid, Oracle GeoRaster, PostGis Raster, NetCDF

Raster files

Raw raster data

GeoTIFF ArcGrid GTopo30 Img+World

WMTS, TMS,

WMS-C KML superoverlays Google maps tiles OGC tiles OSGEO tiles

Google

WPS

CSW

FOSS4G-Europe 2014, Bremen 14th-17th July 2014

top related