SlideShare a Scribd company logo
GeoServer for Spatio-temporal
Data Handling
With Examples For MetOc
And Remote Sensing
Ing. Simone Giannecchini
Ing. Daniele Romagnoli
Ing. Andrea Aime
GeoSolutions
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.it
FOSS4G 2015, Seoul
14th-19th September 2015
Reference scenario
FOSS4G 2015, Seoul
14th-19th September 2015
ImageMosaic – the basics
FOSS4G 2015, Seoul
14th-19th September 2015
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 2015, Seoul
14th-19th September 2015
GraNules Assumptions
 Granules must share the same Coordinate
Reference System
 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 2015, Seoul
14th-19th September 2015
The mosaic 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!
 H2
 Shapefile
 Can be customized to support custom
granule indexes (e.g. legacy catalog)
FOSS4G 2015, Seoul
14th-19th September 2015
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
 Map to DIM_XXX in WMS
 They can be dynamically discovered
FOSS4G 2015, Seoul
14th-19th September 2015
Parsing dimensions from file names
FOSS4G 2015, Seoul
14th-19th September 2015
 indexer.properties file
TimeAttribute=ingestion
ElevationAttribute=elevation
Schema=*the_geom:Polygon,location:String,ingestion:java.
util.Date,elevation:Double
PropertyCollectors=TimestampFileNameExtractorSPI[timereg
ex](ingestion),DoubleFileNameExtractorSPI[elevationregex
](elevation)
 elevationregex.properties file
regex=(?<=_)(d{3})(?=_)
 elevationregex.properties file
regex=[0-9]{8}T[0-9]{9}Z(?!.*[0-9]{8}T[0-9]{9}Z.*)
NCOM_wattemp_020_20081031T0000000_12.tiff
Publishing dimensions
FOSS4G 2015, Seoul
14th-19th September 2015
NetCDF
FOSS4G 2015, Seoul
14th-19th September 2015
NetCDF format support
FOSS4G 2015, Seoul
14th-19th September 2015
 NetCDF support
 Support COARDS/CF* conventions loosely
 Expose NetCDF internal data as a set of 2D slices
 Fast 2D (time, elevation) slice extraction
NetCDF index support files
FOSS4G 2015, Seoul
14th-19th September 2015
 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
One or more variables
FOSS4G 2015, Seoul
14th-19th September 2015
 Polyphemus Sample Dataset
 1 File  Multiple Coverages!
NetCDF indexing configuration
FOSS4G 2015, Seoul
14th-19th September 2015
NetCDF indexing configuration
FOSS4G 2015, Seoul
14th-19th September 2015
 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>
NetCDF GridMapping to EPSG codes
FOSS4G 2015, Seoul
14th-19th September 2015
Assumptions/Limitations
FOSS4G 2015, Seoul
14th-19th September 2015
 Only WGS84 is supported  in GeoServer 2.8.x also custom
CRS are supported (GridMapping to EPSG properties)
 Only NetCDF following COARDS/CF convention are
supported
 NetCDF WCS output is only available for multidimensional
data sources (ImageMosaic and NetCDF)
ImageMosaic – NetCDF integration
FOSS4G 2015, Seoul
14th-19th September 2015
NetCDF/Mosaic integration
FOSS4G 2015, Seoul
14th-19th September 2015
 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
…
XML based indexer file
FOSS4G 2015, Seoul
14th-19th September 2015
 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
XML indexer: domains/dimensions
FOSS4G 2015, Seoul
14th-19th September 2015
<?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>
XML indexer : schemas and coverages
FOSS4G 2015, Seoul
14th-19th September 2015
<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>
XML indexer : collectors and params
FOSS4G 2015, Seoul
14th-19th September 2015
<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>
Multiple coverages per mosaic
FOSS4G 2015, Seoul
14th-19th September 2015
REST configuration of mosaic contents
FOSS4G 2015, Seoul
14th-19th September 2015
 Granule Index CRUD Operations via REST
 CREATE
curl -u admin:Geos -XPUT -H "Content-
type:application/zip" --data-binary
@http://localhost:8080/geoserver/rest/workspaces/geosolu
tions/coveragestores/temperature/file.imagemosaic
 READ index schema
curl -v -u admin:Geos -XGET
http://localhost:8080/geoserver/rest/workspaces/geosolut
ions/coveragestores/polyphemus/coverages/NO2/index.xml
 READ WFS like with CQL filtering and paging
curl -v -u admin:Geos -XGET
"http://localhost:8080/geoserver/rest/workspaces/geosolu
tions/coveragestores/polyphemus/coverages/NO2/index/gran
ules.xml?limit=1&filter=time='2013-03-03T00:00:00Z
REST configuration of mosaic contents
FOSS4G 2015, Seoul
14th-19th September 2015
 READ (Retrieve specific granule by ID)
curl -v -u admin:geoserver -XGET
"http://localhost:8080/geoserver/rest/workspaces/topp/cove
ragestores/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/geosoluti
ons/coveragestores/polyphemus/external.imagemosaic"
 DELETE WFS like with CQL filtering and paging or by ID
curl -v -u admin:geoserver -XDELETE
"http://localhost:8080/geoserver/rest/workspaces/topp/cov
eragestores/polyphemus-
v1/coverages/NO2/index/granules.xml?filter=location='poly
phemus_20130301.nc'"
GRIB/GRIB2 Format Support
FOSS4G 2015, Seoul
14th-19th September 2015
 Based on same UCAR NetCDF Java libs used
by NetCDF Format
 Same capabilities of NetCDF Format
 Same indexing logic
 Same ImageMosaic support
The services - visualize
FOSS4G 2015, Seoul
14th-19th September 2015
WMS
FOSS4G 2015, Seoul
14th-19th September 2015
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
Rendering transformations
FOSS4G 2015, Seoul
14th-19th September 2015
 SLD Based transformations
 On-the-fly contouring
 On-the-fly poligonalization
 Current arrows
 Wind Barbs
 Pluggable: add your own
Rendering transformations
FOSS4G 2015, Seoul
14th-19th September 2015
windbarbs
currents
contouring
WMS-EO
FOSS4G 2015, Seoul
14th-19th September 2015
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
WMS-EO
FOSS4G 2015, Seoul
14th-19th September 2015
 Helper UI to build the tree
WMS-EO
FOSS4G 2015, Seoul
14th-19th September 2015
The services - download
FOSS4G 2015, Seoul
14th-19th September 2015
WCS 2.0
FOSS4G 2015, Seoul
14th-19th September 2015
 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
WCS 2.0 processing chain
FOSS4G 2015, Seoul
14th-19th September 2015
Crop
RangeSubset
Scale & Interpolate
Reproject & Interpolate
Encode
Core
Extension
Extension
Extension
Extension
WCS 2.0 DescribeCoverage
FOSS4G 2015, Seoul
14th-19th September 2015
BBOX
TIME
ELEVATION
CUSTOM
Download ND NetCDF
FOSS4G 2015, Seoul
14th-19th September 2015
http://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
WCS EO
FOSS4G 2015, Seoul
14th-19th September 2015
 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 file
 Describe the inner structure (granules listing) in
DescribeEODataSet
That’s all folks!
Questions?
info@geo-solutions.it
FOSS4G 2015, Seoul
14th-19th September 2015

More Related Content

PDF
Using GeoServer for spatio-temporal data management with examples for MetOc a...
GeoSolutions
 
PDF
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
GeoSolutions
 
PDF
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
PPTX
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
PDF
GeoServer on Steroids
GeoSolutions
 
PPTX
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
PDF
GeoServer on steroids
GeoSolutions
 
PDF
Fossgis 2013 GeoServer Presentation
GeoSolutions
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
GeoSolutions
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
GeoSolutions
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
GeoServer on Steroids
GeoSolutions
 
Serving earth observation data with GeoServer: addressing real world requirem...
GeoSolutions
 
GeoServer on steroids
GeoSolutions
 
Fossgis 2013 GeoServer Presentation
GeoSolutions
 

What's hot (20)

PPTX
GeoServer in Production: we do it, here is how!
GeoSolutions
 
PDF
Advanced Cartographic Map Rendering In GeoServer
GeoSolutions
 
PPTX
GeoServer beginners gwf_2015
GeoSolutions
 
PDF
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
GeoSolutions
 
PDF
GeoServer an introduction for beginners
GeoSolutions
 
PPTX
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
GeoSolutions
 
PPTX
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
GeoSolutions
 
PDF
State of GeoServer - FOSS4G 2016
GeoSolutions
 
PDF
GeoServer, an introduction for beginners
GeoSolutions
 
PPTX
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
GeoSolutions
 
PDF
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
PDF
State of GeoServer 2.12
GeoSolutions
 
PDF
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
GeoSolutions
 
PDF
Advanced Security with GeoServer - FOSS4G 2015
GeoSolutions
 
PDF
State of GeoServer
Jody Garnett
 
PPTX
Spatiotemporal Raster Improvements in GeoServer
GeoSolutions
 
PDF
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
GeoSolutions
 
PPTX
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
GeoSolutions
 
PDF
GeoNetwork, The Open Source Solution for the interoperable management of ge...
GeoSolutions
 
PDF
Gfoss 2010
GeoSolutions
 
GeoServer in Production: we do it, here is how!
GeoSolutions
 
Advanced Cartographic Map Rendering In GeoServer
GeoSolutions
 
GeoServer beginners gwf_2015
GeoSolutions
 
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
GeoSolutions
 
GeoServer an introduction for beginners
GeoSolutions
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
GeoSolutions
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
GeoSolutions
 
State of GeoServer - FOSS4G 2016
GeoSolutions
 
GeoServer, an introduction for beginners
GeoSolutions
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
GeoSolutions
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
State of GeoServer 2.12
GeoSolutions
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
GeoSolutions
 
Advanced Security with GeoServer - FOSS4G 2015
GeoSolutions
 
State of GeoServer
Jody Garnett
 
Spatiotemporal Raster Improvements in GeoServer
GeoSolutions
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
GeoSolutions
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
GeoSolutions
 
GeoNetwork, The Open Source Solution for the interoperable management of ge...
GeoSolutions
 
Gfoss 2010
GeoSolutions
 
Ad

Similar to GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remote Sensing - FOSS4G 2015 (20)

PPTX
OM-JSON - a JSON implementation of O&M
Simon Cox
 
PDF
GeoServer intro for SDI Days 2013
GeoSolutions
 
PPTX
LocationTech Projects
Jody Garnett
 
PDF
Geosolutions FOSS4g 2009 Redux
GeoSolutions
 
PPTX
DEMETER at OGC Agriculture Session
H2020 DEMETER
 
PDF
Flagis linked open_data_stijn_goedertier
Flagis VZW
 
PDF
Dynamic viz in the IPython Notebook
Brianna Laugher
 
PPT
2006-01-11 Data Flow & Interoperability in DataFed Service-based AQ Analysis ...
Rudolf Husar
 
PPT
0603 Esip Fed Wash Dc Tech Pres 060103 Esip Aq Tech Track
Rudolf Husar
 
PPTX
Open layers
Janak Parajuli
 
PPTX
Cloud computing application for water resources based on open source software...
Blagoj Delipetrev
 
PDF
GFOSS DAY 2012 GeoNetwork Presentation
GeoSolutions
 
PDF
State of GeoServer 2.10
Jody Garnett
 
PPTX
Plone FSR
fulv
 
PDF
Data access and data extraction services within the Land Imagery Portal
Gasperi Jerome
 
PDF
GENIVI + OCF Cooperation
Samsung Open Source Group
 
PPTX
20181215 introduction to graph databases
Timothy Findlay
 
PPTX
GeoPackage, OWS Context and the OGC Interoperability Program
Raj Singh
 
PPT
060128 Galeon Rept
Rudolf Husar
 
PPTX
Nasdanika Foundation Server
Pavel Vlasov
 
OM-JSON - a JSON implementation of O&M
Simon Cox
 
GeoServer intro for SDI Days 2013
GeoSolutions
 
LocationTech Projects
Jody Garnett
 
Geosolutions FOSS4g 2009 Redux
GeoSolutions
 
DEMETER at OGC Agriculture Session
H2020 DEMETER
 
Flagis linked open_data_stijn_goedertier
Flagis VZW
 
Dynamic viz in the IPython Notebook
Brianna Laugher
 
2006-01-11 Data Flow & Interoperability in DataFed Service-based AQ Analysis ...
Rudolf Husar
 
0603 Esip Fed Wash Dc Tech Pres 060103 Esip Aq Tech Track
Rudolf Husar
 
Open layers
Janak Parajuli
 
Cloud computing application for water resources based on open source software...
Blagoj Delipetrev
 
GFOSS DAY 2012 GeoNetwork Presentation
GeoSolutions
 
State of GeoServer 2.10
Jody Garnett
 
Plone FSR
fulv
 
Data access and data extraction services within the Land Imagery Portal
Gasperi Jerome
 
GENIVI + OCF Cooperation
Samsung Open Source Group
 
20181215 introduction to graph databases
Timothy Findlay
 
GeoPackage, OWS Context and the OGC Interoperability Program
Raj Singh
 
060128 Galeon Rept
Rudolf Husar
 
Nasdanika Foundation Server
Pavel Vlasov
 
Ad

More from GeoSolutions (13)

PPTX
MapStore 2 - The Story
GeoSolutions
 
PDF
One GeoNode, many GeoNodes
GeoSolutions
 
PPTX
Introduction to GeoNode
GeoSolutions
 
PDF
GeoServer Feature FRENZY
GeoSolutions
 
PPTX
MapStore 2, modern mashups with OL3, Leaflet and React
GeoSolutions
 
PPTX
Mapping the world beyond web mercator - FOSS4G 2015
GeoSolutions
 
PDF
Advanced Cartographic Map Rendering in GeoServer
GeoSolutions
 
PDF
GeoSolutions Keynote at WebMGS 2015
GeoSolutions
 
PPTX
Geosolutions gwf-2015-v01.04
GeoSolutions
 
PPTX
Geoserver introduction, GeoBusiness 2015
GeoSolutions
 
PDF
Introduzione a GeoServer ed ai servizi OGC
GeoSolutions
 
PPTX
Advanced Security With GeoServer
GeoSolutions
 
PDF
GeoServer on Steroids at FOSS4G Europe 2014
GeoSolutions
 
MapStore 2 - The Story
GeoSolutions
 
One GeoNode, many GeoNodes
GeoSolutions
 
Introduction to GeoNode
GeoSolutions
 
GeoServer Feature FRENZY
GeoSolutions
 
MapStore 2, modern mashups with OL3, Leaflet and React
GeoSolutions
 
Mapping the world beyond web mercator - FOSS4G 2015
GeoSolutions
 
Advanced Cartographic Map Rendering in GeoServer
GeoSolutions
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions
 
Geosolutions gwf-2015-v01.04
GeoSolutions
 
Geoserver introduction, GeoBusiness 2015
GeoSolutions
 
Introduzione a GeoServer ed ai servizi OGC
GeoSolutions
 
Advanced Security With GeoServer
GeoSolutions
 
GeoServer on Steroids at FOSS4G Europe 2014
GeoSolutions
 

Recently uploaded (20)

PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
The Future of Artificial Intelligence (AI)
Mukul
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 

GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remote Sensing - FOSS4G 2015

  • 1. GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remote Sensing Ing. Simone Giannecchini Ing. Daniele Romagnoli Ing. Andrea Aime GeoSolutions
  • 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  GeoServer, MapStore  GeoNetwork, GeoNode, Ckan  Clients  Public Agencies  Private Companies  http://www.geo-solutions.it FOSS4G 2015, Seoul 14th-19th September 2015
  • 3. Reference scenario FOSS4G 2015, Seoul 14th-19th September 2015
  • 4. ImageMosaic – the basics FOSS4G 2015, Seoul 14th-19th September 2015
  • 5. 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 2015, Seoul 14th-19th September 2015
  • 6. GraNules Assumptions  Granules must share the same Coordinate Reference System  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 2015, Seoul 14th-19th September 2015
  • 7. The mosaic 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!  H2  Shapefile  Can be customized to support custom granule indexes (e.g. legacy catalog) FOSS4G 2015, Seoul 14th-19th September 2015
  • 8. 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  Map to DIM_XXX in WMS  They can be dynamically discovered FOSS4G 2015, Seoul 14th-19th September 2015
  • 9. Parsing dimensions from file names FOSS4G 2015, Seoul 14th-19th September 2015  indexer.properties file TimeAttribute=ingestion ElevationAttribute=elevation Schema=*the_geom:Polygon,location:String,ingestion:java. util.Date,elevation:Double PropertyCollectors=TimestampFileNameExtractorSPI[timereg ex](ingestion),DoubleFileNameExtractorSPI[elevationregex ](elevation)  elevationregex.properties file regex=(?<=_)(d{3})(?=_)  elevationregex.properties file regex=[0-9]{8}T[0-9]{9}Z(?!.*[0-9]{8}T[0-9]{9}Z.*) NCOM_wattemp_020_20081031T0000000_12.tiff
  • 10. Publishing dimensions FOSS4G 2015, Seoul 14th-19th September 2015
  • 12. NetCDF format support FOSS4G 2015, Seoul 14th-19th September 2015  NetCDF support  Support COARDS/CF* conventions loosely  Expose NetCDF internal data as a set of 2D slices  Fast 2D (time, elevation) slice extraction
  • 13. NetCDF index support files FOSS4G 2015, Seoul 14th-19th September 2015  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
  • 14. One or more variables FOSS4G 2015, Seoul 14th-19th September 2015  Polyphemus Sample Dataset  1 File  Multiple Coverages!
  • 15. NetCDF indexing configuration FOSS4G 2015, Seoul 14th-19th September 2015
  • 16. NetCDF indexing configuration FOSS4G 2015, Seoul 14th-19th September 2015  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>
  • 17. NetCDF GridMapping to EPSG codes FOSS4G 2015, Seoul 14th-19th September 2015
  • 18. Assumptions/Limitations FOSS4G 2015, Seoul 14th-19th September 2015  Only WGS84 is supported  in GeoServer 2.8.x also custom CRS are supported (GridMapping to EPSG properties)  Only NetCDF following COARDS/CF convention are supported  NetCDF WCS output is only available for multidimensional data sources (ImageMosaic and NetCDF)
  • 19. ImageMosaic – NetCDF integration FOSS4G 2015, Seoul 14th-19th September 2015
  • 20. NetCDF/Mosaic integration FOSS4G 2015, Seoul 14th-19th September 2015  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 …
  • 21. XML based indexer file FOSS4G 2015, Seoul 14th-19th September 2015  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
  • 22. XML indexer: domains/dimensions FOSS4G 2015, Seoul 14th-19th September 2015 <?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>
  • 23. XML indexer : schemas and coverages FOSS4G 2015, Seoul 14th-19th September 2015 <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>
  • 24. XML indexer : collectors and params FOSS4G 2015, Seoul 14th-19th September 2015 <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>
  • 25. Multiple coverages per mosaic FOSS4G 2015, Seoul 14th-19th September 2015
  • 26. REST configuration of mosaic contents FOSS4G 2015, Seoul 14th-19th September 2015  Granule Index CRUD Operations via REST  CREATE curl -u admin:Geos -XPUT -H "Content- type:application/zip" --data-binary @http://localhost:8080/geoserver/rest/workspaces/geosolu tions/coveragestores/temperature/file.imagemosaic  READ index schema curl -v -u admin:Geos -XGET http://localhost:8080/geoserver/rest/workspaces/geosolut ions/coveragestores/polyphemus/coverages/NO2/index.xml  READ WFS like with CQL filtering and paging curl -v -u admin:Geos -XGET "http://localhost:8080/geoserver/rest/workspaces/geosolu tions/coveragestores/polyphemus/coverages/NO2/index/gran ules.xml?limit=1&filter=time='2013-03-03T00:00:00Z
  • 27. REST configuration of mosaic contents FOSS4G 2015, Seoul 14th-19th September 2015  READ (Retrieve specific granule by ID) curl -v -u admin:geoserver -XGET "http://localhost:8080/geoserver/rest/workspaces/topp/cove ragestores/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/geosoluti ons/coveragestores/polyphemus/external.imagemosaic"  DELETE WFS like with CQL filtering and paging or by ID curl -v -u admin:geoserver -XDELETE "http://localhost:8080/geoserver/rest/workspaces/topp/cov eragestores/polyphemus- v1/coverages/NO2/index/granules.xml?filter=location='poly phemus_20130301.nc'"
  • 28. GRIB/GRIB2 Format Support FOSS4G 2015, Seoul 14th-19th September 2015  Based on same UCAR NetCDF Java libs used by NetCDF Format  Same capabilities of NetCDF Format  Same indexing logic  Same ImageMosaic support
  • 29. The services - visualize FOSS4G 2015, Seoul 14th-19th September 2015
  • 30. WMS FOSS4G 2015, Seoul 14th-19th September 2015 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
  • 31. Rendering transformations FOSS4G 2015, Seoul 14th-19th September 2015  SLD Based transformations  On-the-fly contouring  On-the-fly poligonalization  Current arrows  Wind Barbs  Pluggable: add your own
  • 32. Rendering transformations FOSS4G 2015, Seoul 14th-19th September 2015 windbarbs currents contouring
  • 33. WMS-EO FOSS4G 2015, Seoul 14th-19th September 2015 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
  • 34. WMS-EO FOSS4G 2015, Seoul 14th-19th September 2015  Helper UI to build the tree
  • 36. The services - download FOSS4G 2015, Seoul 14th-19th September 2015
  • 37. WCS 2.0 FOSS4G 2015, Seoul 14th-19th September 2015  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
  • 38. WCS 2.0 processing chain FOSS4G 2015, Seoul 14th-19th September 2015 Crop RangeSubset Scale & Interpolate Reproject & Interpolate Encode Core Extension Extension Extension Extension
  • 39. WCS 2.0 DescribeCoverage FOSS4G 2015, Seoul 14th-19th September 2015 BBOX TIME ELEVATION CUSTOM
  • 40. Download ND NetCDF FOSS4G 2015, Seoul 14th-19th September 2015 http://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
  • 41. WCS EO FOSS4G 2015, Seoul 14th-19th September 2015  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 file  Describe the inner structure (granules listing) in DescribeEODataSet
  • 42. That’s all folks! Questions? [email protected] FOSS4G 2015, Seoul 14th-19th September 2015