GeoServer
an introduction for beginners
Ing. Andrea Aime, GeoSolutions
Ing. Simone Giannecchini, GeoSolutions
FOSS4G-Europ...
GeoSolutions
 Founded in Italy in late 2006
 Expertise
• Image Processing, GeoSpatial Data Fusion
• Java, Java Enterpris...
Outline
 Quick intro to GeoServer
 Basic concepts, administration GUI and
REST
 WMS / WFS / WCS / WPS
 Security
FOSS4G...
GeoServer
 GeoSpatial enterprise gateway
 Java Enterprise
 Management and Dissemination of
raster and vector data
 Sta...
FormatsandProtocols
GeoServer
WFS
WMS
PostGIS
Oracle
H2
DB2
SQL Server
MySql
Spatialite
GeoCouch
MongoDB
Shapefile
-------...
Administering GeoServer
 Workspaces: organizational structure/folder/
virtual services
 Stores: connections to data sources
 Layers: the data a...
Virtual Services
 Expose different OGC services per workspace
 Styles and layer groups per workspace
 Have different
ad...
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
 ...
RESTful Configuration example
 Automate management of layers and their
configuration
Get and
process data
Publish
new lay...
WMS
 Dissemination of Maps
 Fusing raster and vector data seamlessly
 Rule/scale driven rendering
 WMS 1.1.1 and 1.3 s...
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
14t...
WMS: TIME and ELEVATION
TIME = 20100512T0000000Z
ELEVATION = 0.0
FeatureType Editor
FOSS4G-Europe 2014, Bremen
14th-17th J...
WMS: Rendering Transformations
 On-the-fly data transformations
 Calling spatial analysis processes from SLD docs
 Opti...
GeoWebCache Integration
GeoServer
GeoWebCache
Persistent raster/KML
tile cache
 Direct calls to GeoServer
rendering engin...
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 i...
Rich Filtering Support
 Full standard filter support
 Scalar (<, <=, >, >=, =, !=, like)
 Temporal
 Spatial (intersect...
More data access options
 Paging (native in WFS 2.0, back-ported to other
versions as a vendor extension)
 Joins (scalar...
WFS-Transactional
 Modify your data from your remote client (desktop,
web or mobile)
WFS-T WMS
Edit with desktop client
a...
Complex Features support
 Application/community
schemas
 Complex Features
 Attributes as sub-
features
 Attributes as ...
Publishing Raster Data
WCS
 Raster data dissemination
 Raw raster data useful for analysis, no maps!
 Support for TIME and ELEVATION (via Imag...
WCS features
 Everything needed to support the WCS 2.0 Earth
Observation profile:
 Trimming (spatially , temporally, and...
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
 Dime...
Analyzing & Processing data
WPS
 WPS 1.0
 Official Extension
 Raster and Vector data support
 Many built-in processer (almost 100):
 Vector and g...
An example
 Buffer a L shaped
geometry with
distance “2”
 Get the result
back as GML
FOSS4G-Europe 2014, Bremen
14th-17t...
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
Synchronou...
Tight integration
WPS
Remote
WCS
Remote
WFS
HTTP
server
WPS
client
All GeoServer
Layers
WMS
clientWMS
GeoServer
UI
FOSS4G-...
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):...
Basic data access security
 Simple built-in role and layer based data access:
FOSS4G-Europe 2014, Bremen
14th-17th July 2...
Basic service access security
 Simple built-in role and service based data access:
FOSS4G-Europe 2014, Bremen
14th-17th J...
Advanced security via external tools
https://github.com/geosolutions-it/geofence
FOSS4G-Europe 2014, Bremen
14th-17th July...
Closing Up
FormatsandProtocols
GeoServer
WFS
WMS
PostGIS
Oracle
H2
DB2
SQL Server
MySql
Spatialite
GeoCouch
MongoDB
Shapefile
-------...
The End
Questions?
andrea.aime@geo-solutions.it
simone.giannecchini@geo-solutions.it
alessio.fabiani@geo-solutions.it
FOSS...
Upcoming SlideShare
Loading in...5
×

GeoServer, an introduction for beginners

1,181

Published on

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

Published in: Technology

GeoServer, an introduction for beginners

  1. 1. GeoServer an introduction for beginners Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  2. 2. 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
  3. 3. Outline  Quick intro to GeoServer  Basic concepts, administration GUI and REST  WMS / WFS / WCS / WPS  Security FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  4. 4. 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
  5. 5. FormatsandProtocols GeoServer 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 WCSGeoTIFF 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
  6. 6. Administering GeoServer
  7. 7.  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
  8. 8. 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
  9. 9. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  10. 10. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  11. 11. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  12. 12. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  13. 13. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  14. 14. Administration GUI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Many Rendering Options FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  19. 19. Some examples from IGN FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  20. 20. Many Supported Projections Dateline crossing management Cutting un-reprojectable geometries FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  21. 21. WMS: TIME and ELEVATION TIME = 20100512T0000000Z ELEVATION = 0.0 FeatureType Editor FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  22. 22. 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
  23. 23. 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
  24. 24. KML/KMZ TEMPORAL SERIES KML EXTRUDE KML SUPEROVERLAY FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  25. 25. Publishing Vector Data
  26. 26. 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
  27. 27. 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_refe rence.html FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31. Publishing Raster Data
  32. 32. 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
  33. 33. 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
  34. 34. N-dimensional mosaic/NetCDF support FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  35. 35. 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
  36. 36. Analyzing & Processing data
  37. 37. 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
  38. 38. An example  Buffer a L shaped geometry with distance “2”  Get the result back as GML FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  39. 39. A chaining example FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  40. 40. 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
  41. 41. Tight integration WPS Remote WCS Remote WFS HTTP server WPS client All GeoServer Layers WMS clientWMS GeoServer UI FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  42. 42. Writing processes Python Groovy JavaScript Ruby JSR-223 http://geoscript.org FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  43. 43. Securing Data
  44. 44. Security: Authentication  Pluggable authentication mechanisms FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  45. 45. 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
  46. 46. Basic data access security  Simple built-in role and layer based data access: FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  47. 47. Basic service access security  Simple built-in role and service based data access: FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  48. 48. Advanced security via external tools https://github.com/geosolutions-it/geofence FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  49. 49. Closing Up
  50. 50. FormatsandProtocols GeoServer 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 WCSGeoTIFF 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
  51. 51. The End Questions? andrea.aime@geo-solutions.it simone.giannecchini@geo-solutions.it alessio.fabiani@geo-solutions.it FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×