SlideShare a Scribd company logo
The status of GeoServer WPS



     Ing. Andrea Aime, GeoSolutions
Ing. Simone Giannecchini, GeoSolutions




           FOSS4G 2011, Denver
          12th-16th September 2011
Overview

   Who we are
   WPS introduction
   Vector processes
   Raster processes
   Conversion processes
   Accessing local data sources
   Chaining
   Examples
   Rendering transformations
   Limitations and wish list
   Question time
                        FOSS4G 2011, Denver
                       12th-16th September 2011
GeoSolutions
   Founded in Italy in 2006
   Expertise
    •   Image Processing, GeoSpatial Data Fusion
    •   Java, Java Enterprise, C++, Python
    •   JPEG2000, JPIP, Advanced 2D visualization
   Supporting/Developing FOSS4G projects
       GeoTools, GeoServer
       GeoBatch, GeoNetwork

   Clients
       Public Agencies
       Private Companies

   http://www.geo-solutions.it
                               FOSS4G 2011, Denver
                              12th-16th September 2011
WPS Quick introduction




     FOSS4G 2011, Denver
    12th-16th September 2011
WPS

   Wikipedia introduces OGC WPS as:
         [A service] designed to standardize the
          way that GIS calculations are made
          available to the Internet.
         WPS can describe any calculation
          including all of its inputs and outputs,
          and trigger its execution
         The specific processes served up by a WPS
          implementation are defined by the owner of that
          implementation.
         Although WPS was designed to work with spatially
          referenced data, it can be used with any kind of
          data.
                        FOSS4G 2011, Denver
                       12th-16th September 2011
Capabilities document

                              Some metadata
                               about the server
                               and its owner
                              The list of available
                               processes, with a
                               description
                              Let’s say we’re
                               interested in the
                               JTS:buffer process




     FOSS4G 2011, Denver
    12th-16th September 2011
Process description

                                 List of inputs
                                  and outputs
                                 Descriptions
                                 List of accepted
                                  formats (not
                                  shown in the
                                  xml)




    FOSS4G 2011, Denver
   12th-16th September 2011
Process execution

                            Buffer a L shaped
                             geometry with
                             distance “2”
                            Get the result back
                             as GML




   FOSS4G 2011, Denver
  12th-16th September 2011
GeoServer Specifics




   FOSS4G 2011, Denver
  12th-16th September 2011
GeoServer WPS history

   Started by Refractions in 2008, with limited capabilities
    (only single geometry and single feature support)
   First overhaul attempt end of 2008 by the community,
    added testing, support for vector collections
   New development since mid 2010, mostly new
    processes and input/output formats


       Refractions      GS community                  Current activity


2008                    2009               2010               2011




                            FOSS4G 2011, Denver
                           12th-16th September 2011
WPS: demo builder




                 List processes
                 Describe
                 Set parameters and
                  execute
                 All in one form




   FOSS4G 2011, Denver
  12th-16th September 2011
Inputs and outputs




   FOSS4G 2011, Denver
  12th-16th September 2011
IO setup

   Processes parameters
    defined in terms of Java
    objects
   Pluggable converters trade
    between the java object
    and the serialized
    representation
   If a input is internal straight
    read from the source
          Leveraging on all the
           available optimizations!




                           FOSS4G 2011, Denver
                          12th-16th September 2011
“Primitives” IO Parameters

   Numbers: byte, short, int, long, float, double, any Number
    subclass, properly mapped in XML types
   Strings and CharSequence in general
   Date, Time, Timestamp
   CoordinateReferenceSystem       (EPSG:xxx and urn:… forms)

   URLs
   Range (min -> max)
   Interpolation method




                       FOSS4G 2011, Denver
                      12th-16th September 2011
Complexes IO Parameters

   Geometries                      Vectors
         GML 2                           WFS 1.0 collection
         GML 3                           WFS 1.1 collection
         WKT                             GeoJSON
   Rasters                               Zipped shapefile
         ArcGrid                   Others
         GeoTiff                         SLD 1.0
         Unreferenced                    OGC Filter (1.0, 1.1)
          PNG/JPEG
                                          CQL Filter


                      FOSS4G 2011, Denver
                     12th-16th September 2011
Open API

   Easy to plug your own custom process parameter I/O




                     FOSS4G 2011, Denver
                    12th-16th September 2011
Available Vector processes




       FOSS4G 2011, Denver
      12th-16th September 2011
JTS processes




  FOSS4G 2011, Denver
 12th-16th September 2011
Example JTS process
    Intersection




POLYGON ((5 10, 10 10, 10 5, 5 5, 5 10))

         FOSS4G 2011, Denver
        12th-16th September 2011
Query oriented processes

   AKA “All you wanted WFS to do for you but he never
    wanted to”
   gs:Aggregate: count/avg/max/median/min/stddev/sum on
    a feature collection
   gs:Count: like WFS Hits, but on whatever source
   gs:Bounds: bounds of whatever source, missing from
    WFS
   gs:Query: query any source like WFS
   gs:Unique: unique values of an attribute
   gs:Nearest: find the nearest features


                         FOSS4G 2011, Denver
                        12th-16th September 2011
Aggregation example

                          Get the min, max and
                           sum of the PERSONS
                           attribute in the
                           topp:states layer




    FOSS4G 2011, Denver
   12th-16th September 2011
Other Vector processes

   gs:BufferFeatureCollection: buffer all features
   gs:Clip: cookie cut featuresgs:Reproject: reproject any
    vector source
   gs:Simplify: DouglasPeucker simplifier, retain attributes
   gs:Snap: snap to grid
   gs:InclusionFeatureCollection: overlay and get all
    features contained
   gs:IntersectionFeatureCollection: overlay and intersect,
    retain attributes from both
   gs:UnionFeatureCollection: merge two collections in one
   gs:Import: save the features as a new GeoServer layer
                         FOSS4G 2011, Denver
                        12th-16th September 2011
Buffer example




  FOSS4G 2011, Denver
 12th-16th September 2011
Geometry <=> Feature

   gs:collectGeometries: lump up all feature geometries into
    a geometry collection
   gs:feature: turn a single geometry into a feature collection




                                 MULTIPOINT (
                                 (-74.01046109936333 40.707587626256554),
                                 (-74.0108375113659 40.70754683896324),
                                 (-74.01053023879955 40.70938711687079),
                                 (-74.00857344353275 40.711945649065406),
                                 (-74.0118315772888 40.708529961953786),
                                 (-74.00153046439813 40.719885123828675))


                        FOSS4G 2011, Denver
                       12th-16th September 2011
Raster processes




  FOSS4G 2011, Denver
 12th-16th September 2011
Raster processes

   AKA “All you wanted WCS to do for you but it never
    wanted to”
   Add/Multiply: add and multiply two rasters (waiting for full
    algebra to be implemented)
   Crop: crop a coverage based on the specified cutting
    geometry
   RangeLookup: classify raster image based on a set of
    ranges ([min,max] -> value)
   ScaleCoverage: rescale and translate a given raster
   StyleCoverage: apply a SLD style to a raster, getting back a
    styled (but still georeferenced) one
   Georectify: turn a non geo-referenced coverage into one
    based on ground control points
                        FOSS4G 2011, Denver
                       12th-16th September 2011
Crop example
Conversion processes




    FOSS4G 2011, Denver
   12th-16th September 2011
Conversion processes
   Bridging the raster and the vector world
   Contour: extracts isolines given a set of levels or a interval
   RasterAsPointCollection: extracts one point for each cell,
    with band contents as attributes
   PolygonExtraction: extracts uniform polygons from raster,
    eventually given a set of value ranges
   RasterZonalStatistics: given a raster and a polygonal
    compute min/max/sum/avg/stddev of the cells falling in
    each polygon, return an augmented polygonal
   VectorToRaster: rasterizes vectors keeping a chosen
    attribute (a CQL expression eventually) as the band value
Contour example
Chaining




 FOSS4G 2011, Denver
12th-16th September 2011
WPS Chaining
   Feed the output of a process into another process
   Allows for tree-like composition
   Let’s see a typical “clip and ship” example, both raster and
    vector:
         Extract the rivers into the “restricted areas” polygons
         Extract from Blumarble any pixel in the USA




                        FOSS4G 2011, Denver
                       12th-16th September 2011
Raster clip and ship




    FOSS4G 2011, Denver
   12th-16th September 2011
Raster clip and ship




    FOSS4G 2011, Denver
   12th-16th September 2011
Vector clip and ship




    FOSS4G 2011, Denver
   12th-16th September 2011
GeoServer Integration 1: local data access




               FOSS4G 2011, Denver
              12th-16th September 2011
Direct data integration
   WPS normally reads from remote WFS/WCS, parsing
    GML/GeoJSON or GeoTiff/ArcGrid
   When the source is local we can dodge it though, read
    directly from the source (shapefile, DBMS, geotiff)
   Hit the fictious http://geoserver/wfs url for local WFS
   Hit the fictious http://geoserver/wcs url for local WCS
Store back results (only vector)

   gs:Import: saves the
    vector results into a
    store of choice, and
    publish as a layer
   Use right away the
    new layer from
    WMS/WFS/WCS/WPS
   Still missing the
    equivalent for rasters




                        FOSS4G 2011, Denver
                       12th-16th September 2011
GeoServer Integration 2:
rendering transformations




      FOSS4G 2011, Denver
     12th-16th September 2011
Rendering transformations

   On-the-fly data transformations inside rendering
    chain
   Calling WPS processes from SLD docs
   Optimized for performance




                     FOSS4G 2011, Denver
                    12th-16th September 2011
Rendering transformations
   Point feature extraction from two band raster data (e.g.
    Wind(u,v))
   Computation of direction and module from SLD
   Full SLD
         Call gs:RasterAsPointCollection
         Magnitude and direction of the arrow are computed on
          the fly by using filter functions
         <WellKnownName>shape://carrow</WellKnownName>
   Working at visual resolution
         Use overviews and
          decimation
         Fast with large datasets


                       FOSS4G 2011, Denver
                      12th-16th September 2011
Evolution and closing remarks




        FOSS4G 2011, Denver
       12th-16th September 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
          New layers as dynamic WPS processes (computing
           data on the fly as people do WMS/WCS/WFS requests)

                          FOSS4G 2011, Denver
                         12th-16th September 2011
The End




        Questions?
   andrea.aime@geo-solutions.it
simone.giannecchini@geo-solutions.it
            FOSS4G 2011, Denver
           12th-16th September 2011

More Related Content

What's hot

OpenStreetMap pour les géomaticiens
OpenStreetMap pour les géomaticiensOpenStreetMap pour les géomaticiens
OpenStreetMap pour les géomaticiens
Antoine Riche
 
Getting Started with PostGIS
Getting Started with PostGISGetting Started with PostGIS
Getting Started with PostGIS
EDB
 
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
MinPa Lee
 
MongoDB + GeoServer
MongoDB + GeoServerMongoDB + GeoServer
MongoDB + GeoServer
MongoDB
 
Apache PIG
Apache PIGApache PIG
Apache PIG
Prashant Gupta
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGIS
mleslie
 
01GIS概論
01GIS概論01GIS概論
01GIS概論
Junpei Ishii
 
Polyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4jPolyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4j
Corie Pollock
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
Byeong-Hyeok Yu
 
喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化
Joe Wu
 
GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!
GeoSolutions
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
slhead1
 
Frontera-Open Source Large Scale Web Crawling Framework
Frontera-Open Source Large Scale Web Crawling FrameworkFrontera-Open Source Large Scale Web Crawling Framework
Frontera-Open Source Large Scale Web Crawling Frameworksixtyone
 
Lazy java
Lazy javaLazy java
Lazy java
Mario Fusco
 
GIS As A Platform for Special Forces
GIS As A Platform for Special ForcesGIS As A Platform for Special Forces
GIS As A Platform for Special Forces
Esri India
 
HDFS Design Principles
HDFS Design PrinciplesHDFS Design Principles
HDFS Design Principles
Konstantin V. Shvachko
 
DATABASE & WEBGIS - GIS BOOTCAMP
DATABASE & WEBGIS - GIS BOOTCAMPDATABASE & WEBGIS - GIS BOOTCAMP
DATABASE & WEBGIS - GIS BOOTCAMPKevin Ng'eno
 
Augmented Reality Children's Book Project
Augmented Reality Children's Book ProjectAugmented Reality Children's Book Project
Augmented Reality Children's Book Project
Maxie Tran
 

What's hot (20)

OpenStreetMap pour les géomaticiens
OpenStreetMap pour les géomaticiensOpenStreetMap pour les géomaticiens
OpenStreetMap pour les géomaticiens
 
Getting Started with PostGIS
Getting Started with PostGISGetting Started with PostGIS
Getting Started with PostGIS
 
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
 
MongoDB + GeoServer
MongoDB + GeoServerMongoDB + GeoServer
MongoDB + GeoServer
 
Apache PIG
Apache PIGApache PIG
Apache PIG
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGIS
 
01GIS概論
01GIS概論01GIS概論
01GIS概論
 
Polyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4jPolyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4j
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
 
喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化
 
GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
Frontera-Open Source Large Scale Web Crawling Framework
Frontera-Open Source Large Scale Web Crawling FrameworkFrontera-Open Source Large Scale Web Crawling Framework
Frontera-Open Source Large Scale Web Crawling Framework
 
Lazy java
Lazy javaLazy java
Lazy java
 
GIS As A Platform for Special Forces
GIS As A Platform for Special ForcesGIS As A Platform for Special Forces
GIS As A Platform for Special Forces
 
70.mobile gis
70.mobile gis70.mobile gis
70.mobile gis
 
HDFS Design Principles
HDFS Design PrinciplesHDFS Design Principles
HDFS Design Principles
 
DATABASE & WEBGIS - GIS BOOTCAMP
DATABASE & WEBGIS - GIS BOOTCAMPDATABASE & WEBGIS - GIS BOOTCAMP
DATABASE & WEBGIS - GIS BOOTCAMP
 
Augmented Reality Children's Book Project
Augmented Reality Children's Book ProjectAugmented Reality Children's Book Project
Augmented Reality Children's Book Project
 

Similar to The status of the GeoServer WPS

Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
GeoSolutions
 
Advanced cartographic map rendering in GeoServer
Advanced cartographic map rendering in GeoServerAdvanced cartographic map rendering in GeoServer
Advanced cartographic map rendering in GeoServer
GeoSolutions
 
GeoServer on Steroids
GeoServer on SteroidsGeoServer on Steroids
GeoServer on Steroids
GeoSolutions
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer Presentation
GeoSolutions
 
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoSolutions
 
GFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork PresentationGFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork Presentation
GeoSolutions
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
GeoSolutions
 
GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginners
GeoSolutions
 
Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010GeoSolutions
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...
GeoSolutions
 
Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010
djayzen
 
Geoprocessing with Neo4j-Spatial and OSM
Geoprocessing with Neo4j-Spatial and OSMGeoprocessing with Neo4j-Spatial and OSM
Geoprocessing with Neo4j-Spatial and OSM
Craig Taverner
 
Spatiotemporal Raster Improvements in GeoServer
Spatiotemporal Raster Improvements in GeoServerSpatiotemporal Raster Improvements in GeoServer
Spatiotemporal Raster Improvements in GeoServer
GeoSolutions
 
Advanced Security With GeoServer
Advanced Security With GeoServerAdvanced Security With GeoServer
Advanced Security With GeoServer
GeoSolutions
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDX
Luis Bermudez
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids
GeoSolutions
 
The Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environmentThe Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environment
Rutger Vos
 
Ekon bestof rtl_delphi
Ekon bestof rtl_delphiEkon bestof rtl_delphi
Ekon bestof rtl_delphiMax Kleiner
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015
GeoSolutions
 
ODF Mashups
ODF MashupsODF Mashups
ODF Mashups
Alexandro Colorado
 

Similar to The status of the GeoServer WPS (20)

Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
 
Advanced cartographic map rendering in GeoServer
Advanced cartographic map rendering in GeoServerAdvanced cartographic map rendering in GeoServer
Advanced cartographic map rendering in GeoServer
 
GeoServer on Steroids
GeoServer on SteroidsGeoServer on Steroids
GeoServer on Steroids
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer Presentation
 
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
 
GFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork PresentationGFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork Presentation
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
 
GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginners
 
Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...
 
Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010
 
Geoprocessing with Neo4j-Spatial and OSM
Geoprocessing with Neo4j-Spatial and OSMGeoprocessing with Neo4j-Spatial and OSM
Geoprocessing with Neo4j-Spatial and OSM
 
Spatiotemporal Raster Improvements in GeoServer
Spatiotemporal Raster Improvements in GeoServerSpatiotemporal Raster Improvements in GeoServer
Spatiotemporal Raster Improvements in GeoServer
 
Advanced Security With GeoServer
Advanced Security With GeoServerAdvanced Security With GeoServer
Advanced Security With GeoServer
 
Geo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDXGeo Package and OWS Context at FOSS4G PDX
Geo Package and OWS Context at FOSS4G PDX
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids
 
The Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environmentThe Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environment
 
Ekon bestof rtl_delphi
Ekon bestof rtl_delphiEkon bestof rtl_delphi
Ekon bestof rtl_delphi
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015
 
ODF Mashups
ODF MashupsODF Mashups
ODF Mashups
 

More from GeoSolutions

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The Story
GeoSolutions
 
One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodes
GeoSolutions
 
Introduction to GeoNode
Introduction to GeoNodeIntroduction to GeoNode
Introduction to GeoNode
GeoSolutions
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZY
GeoSolutions
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12
GeoSolutions
 
MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and React
GeoSolutions
 
State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016
GeoSolutions
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
GeoSolutions
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
GeoSolutions
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015
GeoSolutions
 
Advanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerAdvanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServer
GeoSolutions
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingSpatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
GeoSolutions
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
GeoSolutions
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015
GeoSolutions
 
Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04
GeoSolutions
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015
GeoSolutions
 

More from GeoSolutions (20)

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The Story
 
One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodes
 
Introduction to GeoNode
Introduction to GeoNodeIntroduction to GeoNode
Introduction to GeoNode
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZY
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12
 
MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and React
 
State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
 
Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015
 
Advanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerAdvanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServer
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingSpatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015
 
Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

The status of the GeoServer WPS

  • 1. The status of GeoServer WPS Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions FOSS4G 2011, Denver 12th-16th September 2011
  • 2. Overview  Who we are  WPS introduction  Vector processes  Raster processes  Conversion processes  Accessing local data sources  Chaining  Examples  Rendering transformations  Limitations and wish list  Question time FOSS4G 2011, Denver 12th-16th September 2011
  • 3. GeoSolutions  Founded in Italy in 2006  Expertise • Image Processing, GeoSpatial Data Fusion • Java, Java Enterprise, C++, Python • JPEG2000, JPIP, Advanced 2D visualization  Supporting/Developing FOSS4G projects  GeoTools, GeoServer  GeoBatch, GeoNetwork  Clients  Public Agencies  Private Companies  http://www.geo-solutions.it FOSS4G 2011, Denver 12th-16th September 2011
  • 4. WPS Quick introduction FOSS4G 2011, Denver 12th-16th September 2011
  • 5. WPS  Wikipedia introduces OGC WPS as:  [A service] designed to standardize the way that GIS calculations are made available to the Internet.  WPS can describe any calculation including all of its inputs and outputs, and trigger its execution  The specific processes served up by a WPS implementation are defined by the owner of that implementation.  Although WPS was designed to work with spatially referenced data, it can be used with any kind of data. FOSS4G 2011, Denver 12th-16th September 2011
  • 6. Capabilities document  Some metadata about the server and its owner  The list of available processes, with a description  Let’s say we’re interested in the JTS:buffer process FOSS4G 2011, Denver 12th-16th September 2011
  • 7. Process description  List of inputs and outputs  Descriptions  List of accepted formats (not shown in the xml) FOSS4G 2011, Denver 12th-16th September 2011
  • 8. Process execution  Buffer a L shaped geometry with distance “2”  Get the result back as GML FOSS4G 2011, Denver 12th-16th September 2011
  • 9. GeoServer Specifics FOSS4G 2011, Denver 12th-16th September 2011
  • 10. GeoServer WPS history  Started by Refractions in 2008, with limited capabilities (only single geometry and single feature support)  First overhaul attempt end of 2008 by the community, added testing, support for vector collections  New development since mid 2010, mostly new processes and input/output formats Refractions GS community Current activity 2008 2009 2010 2011 FOSS4G 2011, Denver 12th-16th September 2011
  • 11. WPS: demo builder  List processes  Describe  Set parameters and execute  All in one form FOSS4G 2011, Denver 12th-16th September 2011
  • 12. Inputs and outputs FOSS4G 2011, Denver 12th-16th September 2011
  • 13. IO setup  Processes parameters defined in terms of Java objects  Pluggable converters trade between the java object and the serialized representation  If a input is internal straight read from the source  Leveraging on all the available optimizations! FOSS4G 2011, Denver 12th-16th September 2011
  • 14. “Primitives” IO Parameters  Numbers: byte, short, int, long, float, double, any Number subclass, properly mapped in XML types  Strings and CharSequence in general  Date, Time, Timestamp  CoordinateReferenceSystem (EPSG:xxx and urn:… forms)  URLs  Range (min -> max)  Interpolation method FOSS4G 2011, Denver 12th-16th September 2011
  • 15. Complexes IO Parameters  Geometries  Vectors  GML 2  WFS 1.0 collection  GML 3  WFS 1.1 collection  WKT  GeoJSON  Rasters  Zipped shapefile  ArcGrid  Others  GeoTiff  SLD 1.0  Unreferenced  OGC Filter (1.0, 1.1) PNG/JPEG  CQL Filter FOSS4G 2011, Denver 12th-16th September 2011
  • 16. Open API  Easy to plug your own custom process parameter I/O FOSS4G 2011, Denver 12th-16th September 2011
  • 17. Available Vector processes FOSS4G 2011, Denver 12th-16th September 2011
  • 18. JTS processes FOSS4G 2011, Denver 12th-16th September 2011
  • 19. Example JTS process Intersection POLYGON ((5 10, 10 10, 10 5, 5 5, 5 10)) FOSS4G 2011, Denver 12th-16th September 2011
  • 20. Query oriented processes  AKA “All you wanted WFS to do for you but he never wanted to”  gs:Aggregate: count/avg/max/median/min/stddev/sum on a feature collection  gs:Count: like WFS Hits, but on whatever source  gs:Bounds: bounds of whatever source, missing from WFS  gs:Query: query any source like WFS  gs:Unique: unique values of an attribute  gs:Nearest: find the nearest features FOSS4G 2011, Denver 12th-16th September 2011
  • 21. Aggregation example  Get the min, max and sum of the PERSONS attribute in the topp:states layer FOSS4G 2011, Denver 12th-16th September 2011
  • 22. Other Vector processes  gs:BufferFeatureCollection: buffer all features  gs:Clip: cookie cut featuresgs:Reproject: reproject any vector source  gs:Simplify: DouglasPeucker simplifier, retain attributes  gs:Snap: snap to grid  gs:InclusionFeatureCollection: overlay and get all features contained  gs:IntersectionFeatureCollection: overlay and intersect, retain attributes from both  gs:UnionFeatureCollection: merge two collections in one  gs:Import: save the features as a new GeoServer layer FOSS4G 2011, Denver 12th-16th September 2011
  • 23. Buffer example FOSS4G 2011, Denver 12th-16th September 2011
  • 24. Geometry <=> Feature  gs:collectGeometries: lump up all feature geometries into a geometry collection  gs:feature: turn a single geometry into a feature collection MULTIPOINT ( (-74.01046109936333 40.707587626256554), (-74.0108375113659 40.70754683896324), (-74.01053023879955 40.70938711687079), (-74.00857344353275 40.711945649065406), (-74.0118315772888 40.708529961953786), (-74.00153046439813 40.719885123828675)) FOSS4G 2011, Denver 12th-16th September 2011
  • 25. Raster processes FOSS4G 2011, Denver 12th-16th September 2011
  • 26. Raster processes  AKA “All you wanted WCS to do for you but it never wanted to”  Add/Multiply: add and multiply two rasters (waiting for full algebra to be implemented)  Crop: crop a coverage based on the specified cutting geometry  RangeLookup: classify raster image based on a set of ranges ([min,max] -> value)  ScaleCoverage: rescale and translate a given raster  StyleCoverage: apply a SLD style to a raster, getting back a styled (but still georeferenced) one  Georectify: turn a non geo-referenced coverage into one based on ground control points FOSS4G 2011, Denver 12th-16th September 2011
  • 28. Conversion processes FOSS4G 2011, Denver 12th-16th September 2011
  • 29. Conversion processes  Bridging the raster and the vector world  Contour: extracts isolines given a set of levels or a interval  RasterAsPointCollection: extracts one point for each cell, with band contents as attributes  PolygonExtraction: extracts uniform polygons from raster, eventually given a set of value ranges  RasterZonalStatistics: given a raster and a polygonal compute min/max/sum/avg/stddev of the cells falling in each polygon, return an augmented polygonal  VectorToRaster: rasterizes vectors keeping a chosen attribute (a CQL expression eventually) as the band value
  • 31. Chaining FOSS4G 2011, Denver 12th-16th September 2011
  • 32. WPS Chaining  Feed the output of a process into another process  Allows for tree-like composition  Let’s see a typical “clip and ship” example, both raster and vector:  Extract the rivers into the “restricted areas” polygons  Extract from Blumarble any pixel in the USA FOSS4G 2011, Denver 12th-16th September 2011
  • 33. Raster clip and ship FOSS4G 2011, Denver 12th-16th September 2011
  • 34. Raster clip and ship FOSS4G 2011, Denver 12th-16th September 2011
  • 35. Vector clip and ship FOSS4G 2011, Denver 12th-16th September 2011
  • 36. GeoServer Integration 1: local data access FOSS4G 2011, Denver 12th-16th September 2011
  • 37. Direct data integration  WPS normally reads from remote WFS/WCS, parsing GML/GeoJSON or GeoTiff/ArcGrid  When the source is local we can dodge it though, read directly from the source (shapefile, DBMS, geotiff)  Hit the fictious http://geoserver/wfs url for local WFS  Hit the fictious http://geoserver/wcs url for local WCS
  • 38. Store back results (only vector)  gs:Import: saves the vector results into a store of choice, and publish as a layer  Use right away the new layer from WMS/WFS/WCS/WPS  Still missing the equivalent for rasters FOSS4G 2011, Denver 12th-16th September 2011
  • 39. GeoServer Integration 2: rendering transformations FOSS4G 2011, Denver 12th-16th September 2011
  • 40. Rendering transformations  On-the-fly data transformations inside rendering chain  Calling WPS processes from SLD docs  Optimized for performance FOSS4G 2011, Denver 12th-16th September 2011
  • 41. Rendering transformations  Point feature extraction from two band raster data (e.g. Wind(u,v))  Computation of direction and module from SLD  Full SLD  Call gs:RasterAsPointCollection  Magnitude and direction of the arrow are computed on the fly by using filter functions  <WellKnownName>shape://carrow</WellKnownName>  Working at visual resolution  Use overviews and decimation  Fast with large datasets FOSS4G 2011, Denver 12th-16th September 2011
  • 42. Evolution and closing remarks FOSS4G 2011, Denver 12th-16th September 2011
  • 43. 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  New layers as dynamic WPS processes (computing data on the fly as people do WMS/WCS/WFS requests) FOSS4G 2011, Denver 12th-16th September 2011
  • 44. The End Questions? andrea.aime@geo-solutions.it simone.giannecchini@geo-solutions.it FOSS4G 2011, Denver 12th-16th September 2011