GeoServer, The Open Source Solution
for the interoperable management of geospatial data
Ing. Andrea Aime, GeoSolutions
Ing. Simone Giannecchini, GeoSolutions
OSGIS 2011, Nottingham 22nd June, 2011
Outline
GeoSolutions
GeoServer 2.1
User Interface
Security
Administration
OGC Services
Extensions and Additional Modules
OSGIS 2011, Nottingham 22nd June, 2011
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…
OSGIS 2011, Nottingham 22nd June, 2011
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 ongoing
OGC WMS 1.1.1, 1.3
OGC WPS 1.0.0
Google Earth/Maps support
KML, GeoSearch, etc..
OSGIS 2011, Nottingham 22nd June, 2011
Fo
rmats
an
d P
roto
co
ls
Geo
Serv
er
WFS 1.0 e 1.1
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
OSGIS 2011, Nottingham 22nd June, 2011
Architecture
GeoTools
JTS ImageIO
GDAL
WCS
JAI
WMS WFS WFSv REST Google
Vector Raster
GWC
Style
Kakadu
OSGIS 2011, Nottingham 22nd June, 2011
JAITools
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
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
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, open source implementation needed!
OSGIS 2011, Nottingham 22nd June, 2011
Security Developments in 2.1
GeoRepository
OSGIS 2011, Nottingham 22nd June, 2011
RESTful Configuration
Programmatic configuration of layers via REST calls
Workspaces
DataStores/CoverageStores
Layers and Styles
Exposing internal configuration to remote clients
Ajax-JavaScript friendly
“Core” Module since 2.1
Integrated Security
Admin credentials required for modifications
OSGIS 2011, Nottingham 22nd June, 2011
WFS
Dissemination and filtering of vector data
WFS 1.0 and 1.1 support with transactions
Formats:
GML 2, 3.1 e 3.2
GeoRSS, GeoJSON
Shapefile (zipped)
OGR (configurable)
Extensions
CQL
WFS 1.0 with on-the-fly reprojection
WFS 2.0 Ongoing!
OSGIS 2011, Nottingham 22nd June, 2011
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
Output formats
GeoTiff, ArcGrid
GDAL based formats*
Extensions
ELEVATION as band management*
Refactor Ongoing!
OSGIS 2011, Nottingham
22nd June, 2011
WMS
Dissemination of Maps
Fusing raster and vector data seamlessly
With styling!
WMS 1.1.1 and 1.3 support
INSPIRE!
SLD
Basic support for SLD 1.1 and SE 1.1
Full support for SLD 1.0
Many rendering extensions available!
Integration with GeoWebCache
OSGIS 2011, Nottingham 22nd June, 2011
KML/KMZ
TEMPORAL SERIES
KML EXTRUDE KML SUPEROVERLAY
OSGIS 2011, Nottingham 22nd June, 2011
Advanced Projection Handling
Management of dateline Change and map-wrapping
Cutting un-reprojectable geometries
OSGIS 2011, Nottingham 22nd June, 2011
Raster Symbolizer
65536 Colors
256 Colors
Raw Data
OSGIS 2011, Nottingham 22nd June, 2011
Rendering transformations
On-the-fly data transformations
Calling WPS processes from SLD docs
Optimized for performance
OSGIS 2011, Nottingham 22nd June, 2011
Rendering transformations
Point feature extraction from two band raster data (e.g. Wind(u,v))
Computation of direction and module from SLD
OSGIS 2011, Nottingham 22nd June, 2011
ImageIO-Ext Support
JAI ImageIO Extension
Plugins:
BigTiff
netCDF-CF, GriB1
MatFile 5
HDF4
JP2000 (Kakadu)
GDAL 1.7.3
GDAL integration via ImageIO-ext
JPEG2000,MrSID, ECW
BigTIFF, ERDAS Image, HDF4
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
Improved Clustering
New parameters to allow multiple GeoServers to work against the same network shared data directory
Per server log file location
Disabling GWC meta store
Disabling GWC disk quota management
GeoWebCache Enhancements
disable the embedded GWC completely,
hide the embedded GWC to the public
keep the embedded GWC only for fast layer seeding
only one GWC at a time is allowed to write on disk
OSGIS 2011, Nottingham 22nd June, 2011
Virtual Services
Expose multiple OGC service endpoints per installation
One virtual service per workspace
Expose only layers defined in such workspace
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
Service metadata (point of contacts and the like) still configured centrally
OSGIS 2011, Nottingham 22nd June, 2011
WMS* Cascading
GetMap and GetFeatureInfo Cascading
Support for reprojection on-the-fly
GUI based mass import of remote layers
TODO: Securing unsecure WMS Services
OSGIS 2011, Nottingham 22nd June, 2011
WPS*
WPS 1.0
Official Extension
Raster and Vector data support
High performance processes development (raster/vector statistics, raster/vector format conversions and more)
Integrated WPS
Automatic publishing of results
Embedding processes into SLD styles
Reuse processes as rendering transformations
OSGIS 2011, Nottingham 22nd June, 2011
WPS*
Deficiencies
No support for asynchronous requests
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)
OSGIS 2011, Nottingham
22nd June, 2011
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!
OSGIS 2011, Nottingham 22nd June, 2011
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!
OSGIS 2011, Nottingham 22nd June, 2011
The End
Questions? [email protected]
http://demo.geo-solutions.it/share/osgis2011/
OSGIS 2011, Nottingham 22nd June, 2011
Administration GUI
OSGIS 2011, Nottingham 22nd June, 2011
GUI: security configuration
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham 22nd June, 2011
Complex Feature*
Application/community schemas
Complex Features
Attributes as sub-features
Attributes as list of features
Tree-like structure
Heterogeneous data sources
INSPIRE!
OSGIS 2011, Nottingham 22nd June, 2011
Dynamic symbolizers
OSGIS 2011, Nottingham 22nd June, 2011
Advanced Styling
Advanced Labeling
OSGIS 2011, Nottingham 22nd June, 2011
Advanced Styling
Filter Functions Geometry
Transformations
Drop Shadow Number
Formatting
OSGIS 2011, Nottingham 22nd June, 2011
Advanced Styling
Continuous Maps
CSS Styling
<PolygonSymbolizer> <Fill> <!-- CssParameters allowed are fill (the color) and fill-opacity --> <CssParameter name="fill">#4DFF4D</CssParameter> <CssParameter name="fill-opacity">0.7</CssParameter> </Fill> </PolygonSymbolizer>
OSGIS 2011, Nottingham 22nd June, 2011
WMS - CQL
GeoServer WMS – CQL Examples
STATE_NAME = 'Montana'
MALE > FEMALE
LAND_KM > 300000
OSGIS 2011, Nottingham 22nd June, 2011
WMS TIME and ELEVATION
TIME = 20100512T0000000Z ELEVATION = 0.0
WMS GetCapabilities
FeatureType Editor
OSGIS 2011, Nottingham 22nd June, 2011
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
OSGIS 2011, Nottingham
22nd June, 2011
WMS TIME and ELEVATION
TIME = 20100512T0000000Z ELEVATION = 0.0
WMS GetCapabilities
FeatureType Editor
OSGIS 2011, Nottingham 22nd June, 2011
WPS: demo builder
OSGIS 2011, Nottingham 22nd June, 2011
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)
OSGIS 2011, Nottingham 22nd June, 2011