GeoServer, The Open Source Solution
for the interoperable management of geospatial data
Ing. Andrea Aime, GeoSolutions
Ing. Simone Giannecchini, GeoSolutions
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Outline
GeoSolutions
GeoServer 2.1
User Interface
Security
Administration
OGC Services
Extensions and Additional Modules
GFOSS DAY 2011, Foggia 25 Novembre, 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…
GFOSS DAY 2011, Foggia 25 Novembre, 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..
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Fo
rmats
an
d P
roto
co
ls
Geo
Serv
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
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Architecture
GeoTools
JTS ImageIO
GDAL
WCS
JAI
WMS WFS WFSv REST Google
Vector Raster
GWC
Style
Kakadu JAITools
GFOSS DAY 2011, Foggia 25 Novembre, 2011
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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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!
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Security Developments in 2.1
GeoRepository
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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 on the unstable branch!
GFOSS DAY 2011, Foggia 25 Novembre, 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.1
Output formats
GeoTiff, ArcGrid
GDAL based formats*
Extensions
ELEVATION as band management*
Refactor Ongoing!
GFOSS DAY 2011, Foggia
25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 2011
KML/KMZ
TEMPORAL SERIES
KML EXTRUDE KML SUPEROVERLAY
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Advanced Projection Handling
Management of dateline Change and map-wrapping
Cutting un-reprojectable geometries
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Raster Symbolizer
65536 Colors
256 Colors
Raw Data
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Rendering transformations
On-the-fly data transformations
Calling WPS processes from SLD docs
Optimized for performance
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Rendering transformations
Point feature extraction from two band raster data (e.g. Wind(u,v))
Computation of direction and module from SLD
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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)
GFOSS DAY 2011, Foggia
25 Novembre, 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!
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Aggregating data store
GFOSS DAY 2011, Foggia 25 Novembre, 2011
N layers, remote or local, sharing the same structure
Aggregating store puts them together dynamically, the client wil think there is just one layer
Parallel data fetching
Can be configured to tolerates temporarily unreachable data sources
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!
GFOSS DAY 2011, Foggia 25 Novembre, 2011
The End
Questions? [email protected]
http://demo.geo-solutions.it/share/osgis2011/
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Administration GUI
GFOSS DAY 2011, Foggia 25 Novembre, 2011
GUI: security configuration
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Complex Feature*
Application/community schemas
Complex Features
Attributes as sub-features
Attributes as list of features
Tree-like structure
Heterogeneous data sources
INSPIRE!
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Dynamic symbolizers
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Advanced Styling
Advanced Labeling
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Advanced Styling
Filter Functions Geometry
Transformations
Drop Shadow Number
Formatting
GFOSS DAY 2011, Foggia 25 Novembre, 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>
GFOSS DAY 2011, Foggia 25 Novembre, 2011
WMS - CQL
GeoServer WMS – CQL Examples
STATE_NAME = 'Montana'
MALE > FEMALE
LAND_KM > 300000
GFOSS DAY 2011, Foggia 25 Novembre, 2011
WMS TIME and ELEVATION
TIME = 20100512T0000000Z ELEVATION = 0.0
FeatureType Editor
GFOSS DAY 2011, Foggia 25 Novembre, 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
GFOSS DAY 2011, Foggia
25 Novembre, 2011
WPS: demo builder
GFOSS DAY 2011, Foggia 25 Novembre, 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)
GFOSS DAY 2011, Foggia 25 Novembre, 2011
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
GFOSS DAY 2011, Foggia 25 Novembre, 2011
Top Related