GeoServer,
The Open Source Server for the interoperable
management of geospatial data
Ing. Simone Giannecchini, GeoSolutions
Ing. Andrea Aime, GeoSolutions
GFOSS 2010, Foligno
19th November 2010
Outline
 GeoSolutions Facts
 GeoServer Overview
 User Interface
 Security
 Administration
 OGC Services
 Extensions and additional modules
GFOSS 2010, Foligno
19th November 2010
GeoSolutions - Facts
 Founded mid 2006 in Italy
 Expertise
• Image Processing, GeoSpatial Data Fusion
• Java, Java Enterprise, C++, Python
• JPEG2000, JPIP, Advanced 2D visualization
 Supporting/Developing FOSS4G projects
 GeoTools
 GeoServer
 GeoBatch
 ImageIO-Ext
 uDig
 Focus on
 Consultancy (agencies, large private companies, etc…)
GFOSS 2010, Foligno
19th November 2010
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)
OGC WMS 1.1.1
OGC WPS* 1.0.0
 Google Earth/Maps support
KML, GeoSearch, etc..
GFOSS 2010, Foligno
19th November 2010
GeoServer
Facts
GeoServer
WFS 1.0
WMS
1.1.1
PostGIS
DB2
Oracle
MySql
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
WFS 1.1
WCS
1.0
GeoTIFF
ArcGrid
GTopo30
Img+world
Mosaic
MrSID
JPEG 2000
ECW,Pyramid, Oracle GeoRaster
Raster files
Raw raster
data
GeoTIFF
ArcGrid
GTopo30
Img+World
WCS
1.1.1
GWC
KML superoverlays
Google maps tiles
WFSv*
Google*
WPS
1.0.0
GFOSS 2010, Foligno
19th November 2010
GeoServer User Interface
GFOSS 2010, Foligno
19th November 2010
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
 ACEGI framework (soon Spring Security)
 Per-layer/per-service rules support
 Simplified configuration with rules list
GFOSS 2010, Foligno
19th November 2010
Integrated Security: Web UI
GFOSS 2010, Foligno
19th November 2010
RESTFul Administration
 Programmatic Configuration
Remote (no UI)
Workspaces
DataStores/CoverageStores
Layers and Styles
 Exposes Internal configuration
Ajax-JavaScript friendly
 Stable Module
 Integrated Security
GFOSS 2010, Foligno
19th November 2010
WMS – Advanced Styling
Advanced Labeling
GFOSS 2010, Foligno
19th November 2010
WMS – Advanced Styling
Dynamic Symbolizers
GFOSS 2010, Foligno
19th November 2010
WMS – Advanced Styling
Raster Styling
65536
Colors
256
Colors
Raw
Data
GFOSS 2010, Foligno
19th November 2010
KML/KMZ
TEMPORAL SERIES
KML EXTRUDE KML SUPEROVERLAY
GFOSS 2010, Foligno
19th November 2010
ImageIO-Ext Support
 Extension of SUN ImageIO framework
 New plug-ins:
 BigTiff*, netCDF-CF,GriB1,MatFile 5, HDF4
 JP2000 based on kakadu
 Ongoing work on GDAL 1.7.3
 GDAL integration via ImageIO-ext
JPEG2000,MrSID, ECW
BigTIFF, ERDAS Image, HDF4
GFOSS 2010, Foligno
19th November 2010
WFS
 Serving raw vector data to the masses!
 Support for 1.0 and 1.1 (RI) with Transactions
 Output Formats
 GML 2 and 3
 GeoRSS, GeoJSON
 Complex Features*
 OGR-based extension
 Extensions
 CQL
 GetCapabilities Namespace filtering
 WFS 1.0 reprojection
GFOSS 2010, Foligno
19th November 2010
Complex Features*
 Community Schemas
 Complex Types
 Nested Features
 Multiple Geometries
 Crucial for INSPIRE
GFOSS 2010, Foligno
19th November 2010
WCS*
 Serving raw raster data to the masses!
 No maps please I want the real data!
 Support for TIME and ELEVATION
 Support for 1.0.0 and 1.1.1 (RI)
 Output Formats
 GeoTiff
 GDAL based formats*
 Vendor Parameters
 ELEVATION as band management*
 GetCapabilities Namespace filtering
GFOSS 2010, Foligno
19th November 2010
WPS*
 WPS 1.0 implementation as extension
 Current Implementation is a bit weak:
 No Asynchronous Status Hook
 Weak process control
 Ongoing efforts:
 Scripting-based processing
 Sextante, IDL, JGrass (Grass?) integration
 Improved robustness of infrastructure
 Raster Algebra and Statistics
GFOSS 2010, Foligno
19th November 2010
GeoWebCache Integration
GeoServer
GeoWebCache
Persistent raster/KML
tile cache
 Tile based caching for
WMS
 Mainly* static layers
 KML/raster tiles for:
GMap, Gearth
OpenLayers
VEarth, Bing
 Speed up factor 10/100
 REST admin interface
GFOSS 2010, Foligno
19th November 2010
WMS* Cascading
GFOSS 2010, Foligno
19th November 2010
The End
Questions?
simone.giannecchini@geo-solutions.it
GFOSS 2010, Foligno
19th November 2010
Enterprise Spatial Data Infrastructure
ESB
PostGIS
GeoServer Buddata ebRIM
GeoWebCache
Data Collection
Agents
geoSDI-ERA
A&A&A
Net
Storage
GeoTools
Monitoring
GeoBI
GeoTools
OpenLayers
GeoBatch
GFOSS 2010, Foligno
19th November 2010
GeoServer Architecture
GeoTools
JTS
ImageIO
GDAL
WCS
JAI
WMS WFS WFSv REST Google
Raster Vector
GWC
Style
Kakadu
GFOSS 2010, Foligno
19th November 2010
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 2010, Foligno
19th November 2010
Google Search
GFOSS 2010, Foligno
19th November 2010
WMS – Advanced Styling
Filter Functions
Geometry
Transformations
Drop
Shadow
Number
Formatting
GFOSS 2010, Foligno
19th November 2010
WMS – 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 2010, Foligno
19th November 2010
WMS - CQL
 GeoServer WMS – CQL Examples
 STATE_NAME = 'Montana'
 MALE > FEMALE
 LAND_KM > 300000
GFOSS 2010, Foligno
19th November 2010
WMS TIME and ELEVATION*
TIME = 20100512T0000000Z
ELEVATION = 0.0
WMS GetCapabilities
FeatureType Editor
GFOSS 2010, Foligno
19th November 2010
WFSv
GFOSS 2010, Foligno
19th November 2010
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 2010, Foligno
19th November 2010
Pregeneralized Features
 Seving big geometries (complex polygons and linestrings)
 Multiple generalized version
 Fast WMS maps via scale-base selection
 Transparent to WFS (read-only)
GFOSS 2010, Foligno
19th November 2010
Hibernate Configuration*
Web REST WMS WFS WCS ...
DB
Hibernate Based Catalog
Catalog Interface
Hibernate
2 L cache
ServiceDAO CatalogDAO
 Configuration stored in DB
 Hibernate
 Spring based Dao
 Transactions via Spring/EJB3
 Caching with EhCache
 Same catalog interface, different
implementation
 Catalog interface needs tweaking
 GeoServer UI still needs tweaking
 Transaction demarcation needs
tweaking
Net
Storage
GFOSS 2010, Foligno
19th November 2010

Gfoss 2010

  • 1.
    GeoServer, The Open SourceServer for the interoperable management of geospatial data Ing. Simone Giannecchini, GeoSolutions Ing. Andrea Aime, GeoSolutions GFOSS 2010, Foligno 19th November 2010
  • 2.
    Outline  GeoSolutions Facts GeoServer Overview  User Interface  Security  Administration  OGC Services  Extensions and additional modules GFOSS 2010, Foligno 19th November 2010
  • 3.
    GeoSolutions - Facts Founded mid 2006 in Italy  Expertise • Image Processing, GeoSpatial Data Fusion • Java, Java Enterprise, C++, Python • JPEG2000, JPIP, Advanced 2D visualization  Supporting/Developing FOSS4G projects  GeoTools  GeoServer  GeoBatch  ImageIO-Ext  uDig  Focus on  Consultancy (agencies, large private companies, etc…) GFOSS 2010, Foligno 19th November 2010
  • 4.
    GeoServer  GeoSpatial enterprisegateway 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) OGC WMS 1.1.1 OGC WPS* 1.0.0  Google Earth/Maps support KML, GeoSearch, etc.. GFOSS 2010, Foligno 19th November 2010
  • 5.
    GeoServer Facts GeoServer WFS 1.0 WMS 1.1.1 PostGIS DB2 Oracle MySql 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 WFS 1.1 WCS 1.0 GeoTIFF ArcGrid GTopo30 Img+world Mosaic MrSID JPEG 2000 ECW,Pyramid, Oracle GeoRaster Raster files Raw raster data GeoTIFF ArcGrid GTopo30 Img+World WCS 1.1.1 GWC KML superoverlays Google maps tiles WFSv* Google* WPS 1.0.0 GFOSS 2010, Foligno 19th November 2010
  • 6.
    GeoServer User Interface GFOSS2010, Foligno 19th November 2010
  • 7.
    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  ACEGI framework (soon Spring Security)  Per-layer/per-service rules support  Simplified configuration with rules list GFOSS 2010, Foligno 19th November 2010
  • 8.
    Integrated Security: WebUI GFOSS 2010, Foligno 19th November 2010
  • 9.
    RESTFul Administration  ProgrammaticConfiguration Remote (no UI) Workspaces DataStores/CoverageStores Layers and Styles  Exposes Internal configuration Ajax-JavaScript friendly  Stable Module  Integrated Security GFOSS 2010, Foligno 19th November 2010
  • 10.
    WMS – AdvancedStyling Advanced Labeling GFOSS 2010, Foligno 19th November 2010
  • 11.
    WMS – AdvancedStyling Dynamic Symbolizers GFOSS 2010, Foligno 19th November 2010
  • 12.
    WMS – AdvancedStyling Raster Styling 65536 Colors 256 Colors Raw Data GFOSS 2010, Foligno 19th November 2010
  • 13.
    KML/KMZ TEMPORAL SERIES KML EXTRUDEKML SUPEROVERLAY GFOSS 2010, Foligno 19th November 2010
  • 14.
    ImageIO-Ext Support  Extensionof SUN ImageIO framework  New plug-ins:  BigTiff*, netCDF-CF,GriB1,MatFile 5, HDF4  JP2000 based on kakadu  Ongoing work on GDAL 1.7.3  GDAL integration via ImageIO-ext JPEG2000,MrSID, ECW BigTIFF, ERDAS Image, HDF4 GFOSS 2010, Foligno 19th November 2010
  • 15.
    WFS  Serving rawvector data to the masses!  Support for 1.0 and 1.1 (RI) with Transactions  Output Formats  GML 2 and 3  GeoRSS, GeoJSON  Complex Features*  OGR-based extension  Extensions  CQL  GetCapabilities Namespace filtering  WFS 1.0 reprojection GFOSS 2010, Foligno 19th November 2010
  • 16.
    Complex Features*  CommunitySchemas  Complex Types  Nested Features  Multiple Geometries  Crucial for INSPIRE GFOSS 2010, Foligno 19th November 2010
  • 17.
    WCS*  Serving rawraster data to the masses!  No maps please I want the real data!  Support for TIME and ELEVATION  Support for 1.0.0 and 1.1.1 (RI)  Output Formats  GeoTiff  GDAL based formats*  Vendor Parameters  ELEVATION as band management*  GetCapabilities Namespace filtering GFOSS 2010, Foligno 19th November 2010
  • 18.
    WPS*  WPS 1.0implementation as extension  Current Implementation is a bit weak:  No Asynchronous Status Hook  Weak process control  Ongoing efforts:  Scripting-based processing  Sextante, IDL, JGrass (Grass?) integration  Improved robustness of infrastructure  Raster Algebra and Statistics GFOSS 2010, Foligno 19th November 2010
  • 19.
    GeoWebCache Integration GeoServer GeoWebCache Persistent raster/KML tilecache  Tile based caching for WMS  Mainly* static layers  KML/raster tiles for: GMap, Gearth OpenLayers VEarth, Bing  Speed up factor 10/100  REST admin interface GFOSS 2010, Foligno 19th November 2010
  • 20.
    WMS* Cascading GFOSS 2010,Foligno 19th November 2010
  • 21.
  • 22.
    Enterprise Spatial DataInfrastructure ESB PostGIS GeoServer Buddata ebRIM GeoWebCache Data Collection Agents geoSDI-ERA A&A&A Net Storage GeoTools Monitoring GeoBI GeoTools OpenLayers GeoBatch GFOSS 2010, Foligno 19th November 2010
  • 23.
    GeoServer Architecture GeoTools JTS ImageIO GDAL WCS JAI WMS WFSWFSv REST Google Raster Vector GWC Style Kakadu GFOSS 2010, Foligno 19th November 2010
  • 24.
    Integrated Security private.* topp.* TRUSTED_ROLEr/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 2010, Foligno 19th November 2010
  • 25.
    Google Search GFOSS 2010,Foligno 19th November 2010
  • 26.
    WMS – AdvancedStyling Filter Functions Geometry Transformations Drop Shadow Number Formatting GFOSS 2010, Foligno 19th November 2010
  • 27.
    WMS – AdvancedStyling 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 2010, Foligno 19th November 2010
  • 28.
    WMS - CQL GeoServer WMS – CQL Examples  STATE_NAME = 'Montana'  MALE > FEMALE  LAND_KM > 300000 GFOSS 2010, Foligno 19th November 2010
  • 29.
    WMS TIME andELEVATION* TIME = 20100512T0000000Z ELEVATION = 0.0 WMS GetCapabilities FeatureType Editor GFOSS 2010, Foligno 19th November 2010
  • 30.
  • 31.
    Raster Pyramids  Preprocessingraster 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 2010, Foligno 19th November 2010
  • 32.
    Pregeneralized Features  Sevingbig geometries (complex polygons and linestrings)  Multiple generalized version  Fast WMS maps via scale-base selection  Transparent to WFS (read-only) GFOSS 2010, Foligno 19th November 2010
  • 33.
    Hibernate Configuration* Web RESTWMS WFS WCS ... DB Hibernate Based Catalog Catalog Interface Hibernate 2 L cache ServiceDAO CatalogDAO  Configuration stored in DB  Hibernate  Spring based Dao  Transactions via Spring/EJB3  Caching with EhCache  Same catalog interface, different implementation  Catalog interface needs tweaking  GeoServer UI still needs tweaking  Transaction demarcation needs tweaking Net Storage GFOSS 2010, Foligno 19th November 2010