serving earth observation data with geoserver: addressing real world requirements - foss4g 2016
TRANSCRIPT
![Page 1: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/1.jpg)
Serving EO Data with GeoServer
Addressing real-world EO requirementsWith GeoServer
Ing. Simone GiannecchiniIng. Daniele Romagnoli
Ing. Andrea AimeGeoSolutions
![Page 2: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/2.jpg)
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 GeoServer, MapStore GeoNetwork, GeoNode, Ckan
Clients Public Agencies Private Companies
http://www.geo-solutions.itFOSS4G 2016, Bonn
22nd – 26th August 2016
![Page 3: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/3.jpg)
Reference scenario
REP/COP
InSitu Obs
MetOc Models
Remote Sensing
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 4: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/4.jpg)
ImageMosaic – the basics
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 5: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/5.jpg)
Terminology Granule/Tile
The individual raster element composing the mosaic
(Granule) Index The collection of metadata records describing
the location, spatial coverage and other attributes of each single granule
Dimensions/Domains The dimensions besides the spatial ones used
to distinguish individual granules
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 6: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/6.jpg)
Assumptions Granules must share the same Coordinate
Reference System not anymore in GeoServer 2.10 (release Oct 2016)
Granules must share the same ColorModel and SampleModel not anymore in GeoServer 2.8.0, assuming you enable JAI-EXT
Granules can overlap as they please, can have different resolutions
Granules can be in different file formats (faster if the format is uniform)
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 7: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/7.jpg)
The Index Always present Drives the collection of granules for
mosaicking Implemented by default using GeoTools Vector
Sources Currently supported/tested sources
PostGIS (JNDI) Oracle (JNDI) it’s been a nightmare because of
naming! Shapefile (no attr indexing, no timestamp) H2 (local embedded db)
Can be customized to support custom granule indexes (e.g. legacy catalog)
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 8: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/8.jpg)
The Dimensions Maps to alphanumeric attributes in the index TIME and ELEVATION receive special
treatment for WMS and WCS Custom/Additional dimensions
Everything besides TIME & ELEVATION They can be dynamically discovered
from GetCapabilities/DescribeCoverage
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 9: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/9.jpg)
Parsing dimensions from file names indexer.properties file
TimeAttribute=ingestionElevationAttribute=elevationSchema=*the_geom:Polygon,location:String,ingestion:java.util.Date,elevation:DoublePropertyCollectors=TimestampFileNameExtractorSPI[timeregex](ingestion),DoubleFileNameExtractorSPI[elevationregex](elevation)
elevationregex.properties fileregex=(?<=_)(\\d{3})(?=_)
elevationregex.properties fileregex=[0-9]{8}T[0-9]{9}Z(\?!.\*[0-9]{8}T[0-9]{9}Z.\*)
NCOM_wattemp_020_20081031T0000000_12.tiff
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 10: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/10.jpg)
Publishing dimensions
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 11: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/11.jpg)
ImageMosaic – the fun stuff
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 12: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/12.jpg)
Masking Support Vector and raster masks supported Raster masks can be embedded (GDAL style) Vector ones can be WKB or shapefiles API to plug your own mask provider Available for image mosaic and GDAL based data
sources
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 13: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/13.jpg)
Coverage Views NetCDF/Grib/Mosaic: one reader, many coverages Sometimes the coverages are strictly related E.g., U and V components of wind/current vectors Merge them back into a single coverage as bands Allows rendering engine to work with them both as one
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 14: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/14.jpg)
Filtering with CQL The mosaic index can be filtered upon with CQL More possibilities than just Time and Elevation Just add &CQL_FILTER=… in your request
FOSS4G 2016, Bonn22nd – 26th August 2016
SENSOR = SAR AND SATELLITE=XYZ
![Page 15: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/15.jpg)
Pluggability Lots of extension points and pluggable bits
PropertyCollectors: extract index attributes from granules
CoverageNameCollector: when you have a hash of files from multiple coverages
GranuleHandler: pre-process granules before getting them in the mosaic
GranuleAcceptor: decide if the granule is actually part of the mosaic
SubMosaicProducer: custom way to mosaic granules GranuleCatalog: how you store the index
See more examples at the end of presentation
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 16: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/16.jpg)
NetCDF
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 17: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/17.jpg)
NetCDF format support NetCDF support
Support COARDS/CF* conventions loosely Expose NetCDF internal data as a set of 2D slices Fast 2D (time, elevation) slice extraction
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 18: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/18.jpg)
NetCDF index support files NetCDF Internal Index Speeds up 2D slice extraction H2/PostgreSQL + binary file Index location is configurable via
–DNETCDF_DATA_DIR Data in a non-writable location Granule Index in a DBMS Individual NetCDF Indexes on a separate directory
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 19: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/19.jpg)
One or more variables Polyphemus Sample Dataset 1 File Multiple Coverages!
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 20: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/20.jpg)
NetCDF indexing configuration
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 21: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/21.jpg)
NetCDF indexing configuration NetCDF Indexer drive the indexing Automatically created, can be hand edited to expose
some coverages only or parametrize the indexing
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Indexer> <schemas> <schema name="default" > <attributes>the_geom:Polygon,imageindex:Integer,time:java.util.Date, elevation:Double</attributes> </schema> </schemas> <coverages> <coverage> <name>O3</name> <schema ref="default"></schema> </coverage>… </coverages></Indexer>
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 22: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/22.jpg)
NetCDF GridMapping to EPSG codes
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 23: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/23.jpg)
Assumptions/Limitations Only NetCDF following COARDS/CF convention are
supported NetCDF WCS output is only available for multidimensional
data sources (ImageMosaic and NetCDF) Only WGS84 is supported starting GeoServer 2.8.x also
custom CRS are supported (GridMapping to EPSG properties)
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 24: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/24.jpg)
ImageMosaic – NetCDF integration
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 25: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/25.jpg)
NetCDF/Mosaic integration ImageMosaic NetCDF integration
Allow the ImageMosaic to handle multiple NetCDF files Expose NetCDF internal structure (times, elevations) Make ImageMosaic handle slices of the NetCDF file as granules
Mosaic
NetCDF 1 NetCDF 2 NetCDF … N
…
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 26: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/26.jpg)
XML based indexer file Definition of Dimensions/Domains Definition of table schema Definition of Coverage Mapping of dimensions and table schema to
Coverages PropertyCollector definition Additional Indexing Parameters:
Path Behaviour Indexing Directories Aux File
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 27: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/27.jpg)
XML indexer: domains/dimensions<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Indexer> <domains> <domain name="time"> <attributes><attribute>time</attribute></attributes> </domain> <domain name="elevation"> <attributes><attribute>elevation</attribute></attributes> </domain> <domain name="fileDate"> <attributes><attribute ref="fileDateCollector">fileDate</attribute></attributes> </domain> <domain name="updated"> <attributes><attribute ref="updatedCollector">updated</attribute></attributes> </domain> </domains>
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 28: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/28.jpg)
XML indexer : schemas and coverages
<schemas> <schema name="default" > <attributes>the_geom:Polygon,location:String,imageindex:Integer,time:java.util.Date, elevation:Double, fileDate:java.util.Date,updated:java.util.Date </attributes> </schema> </schemas> <coverages> <coverage> <name>V</name> <schema ref="default"></schema> <domains> <domain ref="time" /> <domain ref="elevation" /> <domain ref="fileDate" /> <domain ref="updated" /> </domains> </coverage> </coverages>
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 29: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/29.jpg)
XML indexer : collectors and params
<collectors> <collector name="fileDateCollector"> <value>[0-9]{8}</value> <spi>TimestampFileNameExtractorSPI</spi> <mapped>fileDate</mapped> </collector> <collector name="updatedCollector"> <value>MODIFY_TIME</value> <spi>RuntimeExtractorSPI</spi> <mapped>updated</mapped> </collector> </collectors> <parameters> <parameter name="AbsolutePath" value="true" /> <parameter name="AuxiliaryFile" value="polyphemus-test.xml" /> <parameter name="IndexingDirectories" value="D:/Training_2.4_multidim_Win64/source_data/polyphemus" /> </parameters>
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 30: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/30.jpg)
Multiple coverages per mosaic
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 31: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/31.jpg)
REST configuration of mosaic contents Granule Index CRUD Operations via REST CREATEcurl -u admin:Geos -XPUT -H "Content-type:application/zip" --data-binary @http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/temperature/file.imagemosaic
READ index schemacurl -v -u admin:Geos -XGET http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/polyphemus/coverages/NO2/index.xml
READ WFS like with CQL filtering and pagingcurl -v -u admin:Geos -XGET "http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/polyphemus/coverages/NO2/index/granules.xml?limit=1&filter=time='2013-03-03T00:00:00Z
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 32: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/32.jpg)
REST configuration of mosaic contents READ (Retrieve specific granule by ID)curl -v -u admin:geoserver -XGET "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemus-v1/coverages/NO2/index/granules/NO2.2689.xml"
UPDATE (harvest)curl -v -u admin:Geos -XPOST -H "Content-type: text/plain" -d "/polyphemus_20130303.nc" "http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/polyphemus/external.imagemosaic"
DELETE WFS like with CQL filtering and paging or by IDcurl -v -u admin:geoserver -XDELETE "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemus-v1/coverages/NO2/index/granules.xml?filter=location='polyphemus_20130301.nc'"
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 33: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/33.jpg)
GRIB/GRIB2 Format Support Based on same UCAR NetCDF Java libs used
by NetCDF Format Same capabilities of NetCDF Format Same indexing logic Same ImageMosaic support
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 34: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/34.jpg)
The services - visualize
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 35: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/35.jpg)
WMS
TIME, ELEVATION & Custom dimensions
http://localhost:8080/geoserver/geosolutions/wms?...&time=2013-03-1T00:00:00.000Z
&elevation=35.0&DIM_FILEDATE=2013-03-01T00:00:00.000Z&DIM_UPDATED=2013-04-08T08:18:41.597Z
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 36: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/36.jpg)
Rendering transformations
SLD Based transformations On-the-fly contouring On-the-fly poligonalization Current arrows Wind Barbs
Pluggable: add your own
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 37: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/37.jpg)
Rendering transformations
windbarbs
currents
contouring
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 38: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/38.jpg)
WMS-EO
Extending LayerGroup concept
Support same style on both raster and vector
data
Support custom dimensions
Alter map on the fly to support band combination
Wizard to configure EO layer groups
Product layer tree Mix of vector and raster info Raw data, flags (clouds,
snow), browse
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 39: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/39.jpg)
WMS-EO
Helper UI to build the treeFOSS4G 2016, Bonn
22nd – 26th August 2016
![Page 40: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/40.jpg)
WMS-EO
FOSS4G 2016, Bonn22nd – 26th September 2016
![Page 41: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/41.jpg)
The services - download
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 42: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/42.jpg)
WCS 2.0 Basics
Core service KVP binding XML binding
Common extensions CRS Scaling Interpolation Range subsetting GeoTiff GML NetCDF
Add the output format extensions GeoTIFF GML Grid NetCDF
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 43: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/43.jpg)
WCS 2.0 processing chain
Crop
RangeSubset
Scale & Interpolate
Reproject & Interpolate
Encode
Core
Extension
Extension
Extension
Extension
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 44: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/44.jpg)
WCS 2.0 DescribeCoverage
4D BBOX
TIME details as extension
ELEVATIONdetails as extension
CUSTOM
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 45: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/45.jpg)
Download ND NetCDFhttp://localhost:8080/geoserver/wcs?request=GetCoverage&service=WCS&version=2.0.1&coverageId=geosolutions__NO2&Format=application/x-netcdf&subset=http://www.opengis.net/def/axis/OGC/0/Long(5,20)&subset=http://www.opengis.net/def/axis/OGC/0/Lat(40,50)&subset=http://www.opengis.net/def/axis/OGC/0/elevation(300,1250)&subset=http://www.opengis.net/def/axis/OGC/0/time("2013-03-01T10:00:00.000Z","2013-03-01T22:00:00.000Z")
• Can also handle custom dimensions
• Described in DescribeCoverage in a vendor metadata section
FOSS4G 2016, Bonn22nd – 26th August 2016
4D
BBOX
![Page 46: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/46.jpg)
WCS EO Add support for WCS EO metadata in readers
Associate each file with EO metadata Include such information in
DescribeCoverage/DescribeEODataset
EODataset: multidimensional mosaic or NetCDF fileDescribe the inner structure (granules listing) in DescribeEODataSet
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 47: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/47.jpg)
Plug your data
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 48: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/48.jpg)
Use Case 1 – Light Integration
FOSS4G 2016, Bonn22nd – 26th August 2016
GeoServer + MapStore + Legacy Ingestion Maritime Data
SAR Time Series Oil Spill + other vectors
Single Mosaic + CQL + Custom Access Manager
Integrated SSO with MapStore Precooked Download of Scenes Fine grain control over data access
Download Visualization
Clever usage of Mosaic Indexes via WFS
![Page 49: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/49.jpg)
Use Case 1 – Light Integration
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 50: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/50.jpg)
Use Case 1 – Light Integration
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 51: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/51.jpg)
Use Case 1 – Light Integration
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 52: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/52.jpg)
Use Case 2 – Deep Integration High Res Imagery SSO with CAS Legacy Ingestion
FOSS4G 2016, Bonn22nd – 26th August 2016
![Page 53: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/53.jpg)
Use Case 2 Database of satellite imagery, one satellite collect
(strip) materialized as many files (granules) Access filtering based on current user roles (custom
data store implementation) Custom stacking order (SORT BY) also user based if
not already provided in the request
FOSS4G 2016, Bonn22nd – 26th August 2016
Mosaic
POSTGIS
Custom store wrapper
Postgis store
![Page 54: Serving earth observation data with GeoServer: addressing real world requirements - FOSS4G 2016](https://reader035.vdocument.in/reader035/viewer/2022081520/58832a1d1a28abe2758b7237/html5/thumbnails/54.jpg)
Use Case 3 – Let’s go Deeper! XXX
FOSS4G 2016, Bonn22nd – 26th August 2016