geoserver, the open source solution for the interoperable...

Post on 09-Nov-2018

240 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GeoServer, The Open Source Solution

for the interoperable management of geospatial data

Ing. Andrea Aime, GeoSolutions

Ing. Simone Giannecchini, GeoSolutions

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

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

GeoTools, GeoServer

GeoNetwork, GeoBatch

ImageIO-Ext

Focus on Consultancy

agencies, large private companies, etc…

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Outline

GeoSolutions

GeoServer

Quick introduction

OGC services

Data access news

Security

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GeoServer quick intro

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GeoServer

GeoSpatial enterprise gateway

Java Enterprise

Management of raster and vector data

Standards compliant

OGC WCS 1.0 - 1.1.1 (RI)

OGC WFS 1.0 - 1.1 (RI), 2.0

OGC WMS 1.1.1, 1.3.0

OGC WPS 1.0.0

Google Earth/Maps support

KML, GeoSearch, etc..

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Fo

rma

ts a

nd

Pro

toc

ols

Ge

oS

erv

er

WFS 1.0, 1.1,

2.0

WMS 1.1.1 1.3.0

PostGIS Oracle H2 DB2 SQL Server MySql Spatialite GeoCouch

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 1.0

1.1.1 GeoTIFF WMS ArcGrid GTopo30 Img+world Mosaic MrSID JPEG 2000 ECW,Pyramid, Oracle GeoRaster, …

Raster files

Raw raster data

GeoTIFF ArcGrid GTopo30 Img+World

GWC (WMTS,

TMS, WMS-C)

KML superoverlays Google maps tiles OGC tiles OSGEO tiles

WFSv*

Google*

WPS 1.0.0

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Architecture

GeoTools

JTS ImageIO

GDAL

WCS

JAI

WMS WFS WPS REST Google

Vector Raster

GWC

Style

Kakadu JAITools

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Administration GUI

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

RESTful Configuration

Programmatic configuration of layers via REST service calls

Workspaces

DataStores/CoverageStores

Layers and Styles

Exposing internal configuration to remote clients

Integrated Security

Admin credentials required for modifications

Client libraries: GeoServer Manager (Java), gsconfig.py (Python)

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

RESTful Configuration

GeoServer

Javascript client

Desktop app

GeoBatch

Server side scripts

Styles

Layers Publishing

Automatic Configuration of recurring flows of data

Mass publishing of Layers

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Virtual Services

Expose multiple OGC service endpoints per installation

One virtual service per workspace

Expose only layers defined in such workspace

Configure service metadata (point of contacts and the like) per workspace (only on 2.2.x)

Use cases:

Provide clients with focused/theme centered data sets

Provide each department of a single organization with its own set of services

Limitations:

Single administrator for the whole server

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

OGC Protocols

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WMS

Dissemination of Maps

Fusing raster and vector data seamlessly

With styling!

WMS 1.1.1 and 1.3 support

SLD

Basic support for SLD 1.1 and SE 1.1

Full support for SLD 1.0

Geo-CSS (community module)

Many rendering extensions available!

Integration with GeoWebCache

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

KML/KMZ

TEMPORAL SERIES

KML EXTRUDE KML SUPEROVERLAY

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

New projections

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Advanced Projection Handling

Management of dateline Change and map-wrapping

Cutting un-reprojectable geometries

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Advanced Styling

Filter Functions Geometry

Transformations

Drop Shadow Number

Formatting

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Rendering transformations

On-the-fly data transformations

Calling WPS processes from SLD docs

Optimized for performance

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Rendering transformations

Point feature extraction from two band raster data (e.g. Wind(u,v))

Computation of direction and module from SLD

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Time and elevation support

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Available on 2.2.x

Supports both vector (fields) and rasters (mosaics with time/elevation associated to tiles)

…GetMap&time=2001-08-01T18:00:00Z/ 2001-09-01T00:00:00Z

…GetMap&time=2003-08-01T18:00:00Z/ 2003-10-01T00:00:00Z

WMS Animator

Animations for WMS requests across custom GetMap params

Controlled via aparam/avalues couples

Generates multiple frames through multiple GetMap requests

http://localhost:8080/geoserver/wms/animate?LAYERS=topp%3Aworld&aparam=time&avalues=2004-01-01T00:00:00.000Z,,2004-07-01T00:00:00.000Z&format=image/gif;subtype=animated&format_options=gif_loop_continuosly:true

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Cross-Layer filtering

“querylayer” community module

“Find all sites within 100 meters from roads”

Single CQL filter with WMS:

DWITHIN( the_geom, collectGeometries( queryCollection('roads', 'the_geom', 'INCLUDE') ), 200, meters)

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

INSPIRE

INSPIRE community module

Adds new layer metadata fields

Integrate the WMS capabilities documents to support the INSPIRE requirements

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WMS Cascading

Cascade WMS 1.1 and WMS 1.3

Auto-fill metadata based on caps document

GetMap and GetFeatureInfo Cascading

Support for reprojection on-the-fly

GUI based mass import of remote layers

Support for secured remote WMS services

GRASS e GFOSS Meeting 2012, Trieste

16 Febbraio 2012

WFS

Dissemination and filtering of vector data

WFS 1.0 and 1.1 support with transactions

WFS 2.0 on the 2.2.x series

Formats:

GML 2, 3.1 e 3.2, CSV, GeoRSS, GeoJSON

Shapefile (zipped), OGR (via ogr2ogr, configurable)

Extensions

CQL

WFS 1.0 with on-the-fly reprojection

Paging and sorting in WFS 1.0 and 1.1

GRASS e GFOSS Meeting 2012, Trieste

16 Febbraio 2012

WFS paging

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

http://myserver/geoserver/topp/ows? service=WFS&version=1.0.0&request=GetFeature &typeName=topp:states&outputFormat=csv &propertyName=STATE_NAME,PERSONS

&maxFeatures=10&startIndex=10 #FID,STATE_NAME,PERSONS states.11,Arizona,3665228 states.12,Oklahoma,3145585 states.13,North Carolina,6628629 states.14,Tennessee,4829958 states.15,Texas,17122020 states.16,New Mexico,1379559 states.17,Alabama,4040587 states.18,Mississippi,2573216 states.19,Georgia,6457339 states.20,South Carolina,3486703

WCS*

Raster data dissemination

Raw raster data useful for analysis, no maps!

Support for TIME and ELEVATION (via ImageMosaic plugin)

WCS 1.0 e 1.1.1

Output formats

GeoTiff, ArcGrid

GDAL based formats*

Extensions

ELEVATION as band management*

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WCS: request builder and limits

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WPS

WPS 1.0

Official Extension

Raster and Vector data support

High performance processes development (raster/vector statistics, raster/vector format conversions and more)

Supports asynchronous requests

Integrated WPS

Automatic publishing of results

Embedding processes into SLD styles

Reuse processes as rendering transformations

GRASS e GFOSS Meeting 2012, Trieste

16 Febbraio 2012

WPS: news

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WPS*

Deficiencies

Missing request limits enforcements (e.g. input/output maximum dimensions)

Wish list:

Scripting (Jython, GeoScript)

Sextante, IDL, JGrass (Grass?) integration

Improved robustness

Jiffle (jai-tools) based raster algebra

Create new layers as dynamic WPS processes (computing data on the fly as requested)

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Data

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

New/improved vector stores

Teradata (large databases + analytics/business intelligence)

SQL Server: improved performance, added support for SQL Azure

GeoCouch* (couch db)

GeoGit* (distributed versioning)

Simple Feature Service* client (aka MapFish++ protocol)

New OGR data store*

Aggregating data store*

*: new/experimental

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Aggregating data store

N layers, remote or local, sharing the same structure

Aggregating store puts them together dynamically, the client will think there is just one layer

Parallel data fetching

Can be configured to tolerate temporarily unreachable data sources

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

SQL Parametric Views

SQL View as a GeoServer Layer

No need to actually creating a view in the database

View can be parametric

WMS and WFS allow parameter substitution

….&request=GetMap&viewparams=low:2000000;high:5000000

Default values for parameters

Validation with regular expressions

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

ImageIO-Ext Support

JAI ImageIO Extension

Plugins:

BigTiff

netCDF-CF, GriB1

MatFile 5

HDF4

JP2000 (Kakadu)

GDAL 1.8.1

GDAL 1.8.1 integration via ImageIO-ext

JPEG2000,MrSID, ECW

BigTIFF, ERDAS Image, HDF4

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Image Server*

Turning GeoServer into an Image Server

Serving pure Imagery

No geo-reference need/available/(would make sense!)

Special Coordinate Reference Systems defined

Interoperability with WMS clients

Respecting EPSG conventions

EPSG:404000

See here

Improved support for data with

bad/missing geo-reference!

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Security

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Integrated Security

namespace.layer.mode=role1,role2,...

A name, or * to mean “any”

r: read w: write

The roles that will be authorized to access the data under this rule

Spring Security

RBAC on layers and services

Built-in version with simplified rules

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Security Developments in 2.1

Security Management at the feature level (record in DBMS) read and write filtering

Hide sensible attributes

Discriminate visible areas on a per-user basis

Rules for services and layers

Server side framework available, but no integrated solution leveraging it.

External tools available: GeoRepository, GeoShield

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GeoRepository

GeoRepository

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Database level security

Some enterprises want to control security at the database level (instead of at the application level)

The connection pool user gets very limited rights

Pass down the current GeoServer user to the database via SQL script

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Security Developments in 2.2.x

Some new security advances are in the works on the unstable series, will be available in 2.2.0:

Pluggable authentication layer (use authentications others than HTTP BASIC ones)

Pluggable user/roles database

Password encryption in configuration files

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

The End

Questions? andrea.aime@geo-solutions.it

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Raster Symbolizer

65536 Colors

256 Colors

Raw Data

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Administration GUI

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GUI: security configuration

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Integrated Security

private.* topp.*

TRUSTED_ROLE r/w r r r

(no access) r r/w r

(no access) r r r

topp.

districts

Other

layers

LEGISLATORS 

(all other users) 

*.*.r=*

*.*.w=NO_ONE

private.*.r=TRUSTED_ROLE

private.*.w=TRUSTED_ROLE

topp.districts.w=LEGISLATORS

RDONLY lock down

Per-layer override

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Security Developments in 2.1

GSIP 57 extended authorization management

GeoRepository

Role Base Access Control

Services

Operations

Layers

Attributes (alphanumeric and geospatial)

External Web Application

Web Services + UI

Rule-based

IPTables-like

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Complex Feature*

Application/community schemas

Complex Features

Attributes as sub-features

Attributes as list of features

Tree-like structure

Heterogeneous data sources

INSPIRE!

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Dynamic symbolizers

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Advanced Styling

Advanced Labeling

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WMS - CQL

GeoServer WMS – CQL Examples

STATE_NAME = 'Montana'

MALE > FEMALE

LAND_KM > 300000

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

WMS TIME and ELEVATION

TIME = 20100512T0000000Z ELEVATION = 0.0

FeatureType Editor

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Raster Pyramids

Preprocessing raster data for performance

Multiple resolutions levels

Scale decide best resolution level

Multiple file (tiles) per resolutions level

File Based Pyramids Support

DBMS-based Pyramids

Postgis

DB2

Oracle (GeoRaster)

MySQL

GRASS e GFOSS Meeting 2012, Trieste

16 Febbraio 2012

WPS: demo builder

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

Improved Raster Reprojection

Raster reprojection complex process

Idea:

try to approximate the overall transformation with a simpler one, either a single affine transformation or a piecewise composition of them (grid warp)

Ability to specify threshold for error acceptance

Iterative approach (local optimization)

Trade off between speed and precision

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GeoWebCache Integration

GeoServer

GeoWebCache

Persistent raster/KML tile cache

Direct calls to GeoServer rendering engine

Support for layers modified through WFT-T

Support for various tile protocols

GMap, Gearth

OpenLayers, VEarth, Bing

Speed-up factor 10/100

Disk quota support

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

GeoServer in da Cloud

Standing Cloud

Admin-Free Cloud Infrastructure

Paas from Amazon, GoGrid, Linode, etc…

Pay per use

Elastic resources at hand

GeoServer SaaS

Deploy and admin with UI

No sysadmin skills

Shell available for braves!

GRASS e GFOSS Meeting 2012, Trieste 16 Febbraio 2012

top related