The following presentation was held by GeoSolutions founder and managing director Simone Giannecchini at GeoSpatial World Forum INSPIRE Conference in Lisbon, 2015.
The workshop will provide a hands on introduction to the basic GeoServer concepts, as well as usage and configuration, with particular attention to the setup of INSPIRE compliant view services with a demonstration set of data in various formats, both raster and vector.
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
GeoServer beginners gwf_2015
1. GeoServer
an introduction for beginners
Ing. Andrea Aime, GeoSolutions
Ing. Simone Giannecchini, GeoSolutions
GWF 2015, Lisbon
27th May 2015
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, GeoNode,
ImageIO-Ext and more: https://github.com/geosolutions-it
Focus on Consultancy
PAs, NGOs, private companies, etc…
GWF 2015, Lisbon
27th May 2015
3. GeoSolutions
GWF 2015, Lisbon
27th May 2015
Enterprise Support Services
Bug Fixing
Support
Customizations & New Features
5 packages different types of needs
Professional Training
End-To-End Projects (Integration)
Tell me what you need, I’ll put it together for you
We take our core products and
Bend them, twist them, embed them
Hammer them to make clients happy
FOSS4G Software is core for us
Not simply use but develop and support
4. Outline
Quick intro to GeoServer
Basic concepts, administration GUI and
REST
WMS / WFS / WCS / WPS
Security
GWF 2015, Lisbon
27th May 2015
5. 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.0
OGC WPS 1.0.0
OGC CSW 2.0.1 (ebRIM)
Google Earth/Maps support
KML, GeoSearch, etc..
GWF 2015, Lisbon
27th May 2015
8. 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
GWF 2015, Lisbon
27th May 2015
9. Virtual Services
Expose different OGC services per workspace
Styles and layer groups per workspace
Have different
administrators per
workspace
multi-tenancy
GWF 2015, Lisbon
27th May 2015
16. 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
GWF 2015, Lisbon
27th May 2015
17. RESTful Configuration example
Automate management of layers and their
configuration
Get and
process data
Publish
new layers
via REST config
GWF 2015, Lisbon
27th May 2015
18. 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
GWF 2015, Lisbon
27th May 2015
22. WMS: TIME and ELEVATION
TIME = 20100512T0000000Z
ELEVATION = 0.0
FeatureType Editor
GWF 2015, Lisbon
27th May 2015
23. 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
GWF 2015, Lisbon
27th May 2015
24. 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
GWF 2015, Lisbon
27th May 2015
27. 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)
GWF 2015, Lisbon
27th May 2015
28. 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
GWF 2015, Lisbon
27th May 2015
29. 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
GWF 2015, Lisbon
27th May 2015
30. 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
GWF 2015, Lisbon
27th May 2015
31. 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
GWF 2015, Lisbon
27th May 2015
32. Complex Features Support – The Good
GWF 2015, Lisbon
27th May 2015
Official GeoServer extension
Complex Features
Multi valued attributes
Collection of related objects in one XML
Nesting of features (also Complex Features)
Required by many Inspire schemas
• Mapping of SimpleFeatures
to build Complex Features, that are compliant to a
given XSD
Transformations through CQL
Feature linking
33. Complex Features support
GWF 2015, Lisbon
27th May 2015
Difficult to configure no UI
Manually create XML configuration files
Reload Catalog for any change (trial and
error)
Need for a graphical mapping tool
Performance
Getting good performance can be
difficult
Data needs to be preprocessed
(denormalized)
Optimized join on JDBC based sources
can help
The Bad
The Ugly
34. Complex Features – HALE at rescue
GWF 2015, Lisbon
27th May 2015
Using HALE as a GUI editor for app-schema config
No need to create a new GUI
Seamless integration of HALE with GeoServer
Implemented as a new type of Alignment Writer
Needs to support most common HALE transformations
and translate them to app-schema mappings
• Tough work
• Will be done in steps
• Most common transformation firsts
• Hopefully, no need to manually edit the final result
35. Complex Features – HALE at rescue
GWF 2015, Lisbon
27th May 2015
In the process… Already Funded
Improvements and bugfixes to HALE
Improvements and bugfixes to GeoServer app-schema
New schema/data formats for HALE Spatialite
New type of transformations for HALE (e.g.
ReprojectGeometry)
Improvements to the app-schema mapping engine to get
a better integration
Bonus Track Funding Appreciated
Integrate HALE ETL Engine in GeoServer
Batch exports (Predefined dataset)
Periodic batch
Preprocessing for efficient publishing
37. 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
GWF 2015, Lisbon
27th May 2015
38. 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)
GWF 2015, Lisbon
27th May 2015
42. 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
GWF 2015, Lisbon
27th May 2015
43. An example
Buffer a L shaped
geometry with
distance “2”
Get the result
back as GML
GWF 2015, Lisbon
27th May 2015
45. 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
GWF 2015, Lisbon
27th May 2015
50. Authentication mechanism mix per URL
Different access paths need different auth
mechanisms (GUI vs REST vs OGC service):
GWF 2015, Lisbon
27th May 2015
51. Basic data access security
Simple built-in role and layer based data access:
GWF 2015, Lisbon
27th May 2015
52. Basic service access security
Simple built-in role and service based data access:
GWF 2015, Lisbon
27th May 2015
53. Advanced security via external tools
https://github.com/geoserver/geofence
GWF 2015, Lisbon
27th May 2015