INSPIRE WCS: from Mystery to Mastery
Total Page:16
File Type:pdf, Size:1020Kb
INSPIRE WCS: From Mystery to Mastery Peter Baumann Jacobs University | rasdaman GmbH Jordi Escriu Institut Cartogràfic i Geològic de Catalunya, INSPIRE Thematic Cluster #3 Facilitator [gamingfeeds.com] INSPIRE WCS :: © 2017 Peter Baumann Datacube Research @ Jacobs U . Large-Scale Scientific Information Systems research group • focus: large-scale n-D raster services & beyond • www.jacobs-university.de/lsis . Spin-off: rasdaman GmbH . Main visible results: • pioneer Array DBMS, rasdaman • Big Data standards INSPIRE WCS :: © 2017 Peter Baumann INSPIRE WCS :: © 2017 Peter Baumann Learning Objectives . This seminar will explain: - The coverage data model shared by OGC and ISO - OGC’s coverage service model: WCS, WCPS - OGC, ISO, and INSPIRE . By the end of the day, you should be able to - Understand principles of coverage data, service, and clients - Understand differences between service functionality of WMS, WFS, WCS - Understand how coverage services provide analysis-ready data - Understand how common Annex II and III data can be modelled as coverage - Understand how coverages can be orchestrated in overall service ecosystem - Express core coverage retrieval tasks as WCS requests . Prerequisites - Basics of Web services & GIS INSPIRE WCS :: © 2017 Peter Baumann Overview . Introduction . The data: Coverages . The service: WCS . Conformance Testing . Selected Applications . Conclusion INSPIRE WCS :: © 2017 Peter Baumann6 Overview . Introduction . The data: Coverages . The service: WCS . Conformance Testing . Selected Applications . Conclusion INSPIRE WCS :: © 2017 Peter Baumann7 Why Standards? [www.jhchoppers.com] INSPIRE WCS :: © 2017 Peter Baumann Facing the Coverage Tsunami sensor feeds [OGC SWE] coverage server INSPIRE WCS :: © 2017 Peter Baumann9 Taming the Coverage Tsunami sensor feeds [OGC SWE] coverage server INSPIRE WCS :: © 2017 Peter Baumann10 Serving Coverages . SWE SOS: upstream . CIS & WCS: downstream data capturing access & analytics SOS WCS coverage server INSPIRE WCS :: © 2017 Peter Baumann EarthServer: Datacubes At Your Fingertips . Agile Analytics on x/y/t + x/y/z/t Earth & Planetary datacubes - Rigorously standards: OGC WMS + WCS + WCPS - EU rasdaman + US NASA WorldWind - 700+ TB 1+ PB . Intercontinental initiative, 3+3 years: EU + US + AUS . www.earthserver.eu, www.planetserver.eu INSPIRE WCS :: © 2017 Peter Baumann MEA: Daily Sentinel 2A Availability INSPIRE WCS :: © 2017 Peter Baumann MEA: Sample Datacubes Coverages INSPIRE WCS :: © 2017 Peter Baumann MEA: NDVI Timeseries Extraction INSPIRE WCS :: © 2017 Peter Baumann MEA: Daily Hydro Estimator INSPIRE WCS :: © 2017 Peter Baumann ECMWF: River Discharge INSPIRE WCS :: © 2017 Peter Baumann MEA: Land Surface Temperature, Cloudfree INSPIRE WCS :: © 2017 Peter Baumann Coverages in INSPIRE . Jordi Escriu, INSPIRE Thematic Cluster #3 Facilitator INSPIRE WCS :: © 2017 Peter Baumann Overview . Introduction . The data: Coverages . The service: WCS . Conformance Testing . Selected Applications . Conclusion INSPIRE WCS :: © 2017 Peter Baumann22 Features & Coverages . The basis of all: geographic feature . Special kind of feature: coverage - aka space-time varying phenomenon - regular & irregular grids, point clouds, meshes • Usually, coverages are Big Geo Data INSPIRE WCS :: © 2017 Peter Baumann Coverages - abstract: OGC Abstract Topic 6 = ISO 19123 - concrete, interoperable: Coverage Implementation Schema ISO 19123-2 • (CIS, aka GMLCOV) «FeatureType» Abstract Coverage MultiSolid Grid Coverage CIS 1.1 Coverage MultiSurface Rectified Coverage GeneralGridCoverage Grid Coverage MultiCurve Referenceable Coverage GridCoverage MultiPoint Coverage INSPIRE WCS :: © 2017 Peter Baumann Coverages - abstract: OGC Abstract Topic 6 = ISO 19123 - concrete, interoperable: Coverage Implementation Schema ISO 19123-2 • (CIS, aka GMLCOV) Abstract Coverage MultiSolid Coverage MultiSurface Coverage MultiCurve General Grid Coverage Coverage MultiPoint Coverage general meshes point clouds regular & irregular grids INSPIRE WCS :: © 2017 Peter Baumann Coverage Definition Coverage Implementation Schema «Feature Type» GML::Feature «Feature Type» Coverage 0..1 metadata domainSet rangeType rangeSet «Data Type» «Data Type» «Data Type» DomainSet SWE Common::DataRecord RangeSet from SWE Common [OGC 09-146r6] INSPIRE WCS :: © 2017 Peter Baumann INSPIRE WCS :: © 2017 Peter Baumann INSPIRE WCS :: © 2017 Peter Baumann The Integrated Geo Warehouse . Comprehensive geophysics data mgmt . Integrating 3D data + meta data +time 1D 2D nD 3D [GFZ Potsdam] INSPIRE WCS :: © 2017 Peter Baumann Coverage Coordinates and CRSs . Uniform handling of horizontal space, height, time, etc. Native CRS = CRS of coverage - srsName attribute in DomainSet, auxiliary attributes accordingly . Ex: <gmlcov:GridCoverage … gml:id="C0001"> <gml:boundedBy> <gml:Envelope srsName=" http://www.opengis.net/def/crs-compound? 1=http://www.opengis.net/def/crs/EPSG/0/4326& 2=http://www.opengis.net/def/crs/OGC/0/ansiDate“ axisLabels="Lat Long Time" uomLabels="deg deg day" srsDimension=“3"> <gml:lowerCorner>1 1 2012-03-10</gml:lowerCorner> <gml:upperCorner>3 10 2012-03-10 </gml:upperCorner> </gml:Envelope> </gml:boundedBy> … </gmlcov:GridCoverage > INSPIRE WCS :: © 2017 Peter Baumann Grid Types Axis Types . CIS 1.0 (from GML): coverage classification by grid type - GridCoverage, RectifiedGridCoverage, ReferenceableGridCoverage - non-intuitive, hard to describe, missing cases . CIS 1.1 approach: axis types - Index axis: not georeferenced, Index CRS - Regular axis: georeferenced, constant spacing - Irregular axis: georeferenced, variable spacing - Displacement axis nest: georeferenced, arbitrary grid point locations - Algorithmic coordinates: such as sensor model - All combinations possible . Further integrating GML 3.3 and SensorML grids INSPIRE WCS :: © 2017 Peter Baumann Interpolation . Often requested: coverage should inform about desirable/allowed interpolations . Approach: optional list of interpolation methods <interpolationRestriction> <allowedInterpolation> http://www.opengis.net/def/interpolation/OGC/0/nearest-neighbor </allowedInterpolation> <allowedInterpolation> http://www.opengis.net/def/interpolation/OGC/0/linear </allowedInterpolation> <interpolationRestriction> . Identifiers defined elsewhere, not hardwired into coverage model INSPIRE WCS :: © 2017 Peter Baumann Adding Metadata To Coverages . Slot „metadata“ for <any> kind of metadata - WCS will deliver without knowing contents . Inverse possible, too - metadata record contains (or links) coverage INSPIRE WCS :: © 2017 Peter Baumann A Simple Coverage, in GML INSPIRE WCS :: © 2017 Peter Baumann A Simple Coverage, in JSON { "type": "CoverageByDomainAndRangeType", "domainSet":{ "type": "DomainSetType", "generalGrid":{ "type": "GeneralGridCoverageType", "srsName": "http://www.opengis.net/def/crs/OGC/0/Index2D", "axisLabels": ["i", "j"], "axis": [{ "type": "IndexAxisType“, "axisLabel": "i", "lowerBound": 0, "upperBound": 2 },{ "type": "IndexAxisType“, "axisLabel": "j", "lowerBound": 0, "upperBound": 2 }] } }, "rangeSet": { "type": "RangeSetType", "dataBlock": { "type": "VDataBlockType", "values": [1,2,3,4,5,6,7,8,9] } }, "rangeType": { "type": "DataRecordType", "field":[{ "type": "QuantityType", "definition": "ogcType:unsignedInt", "uom": { "type": "UnitReference", "code": "10^0“ } }] } } INSPIRE WCS :: © 2017 Peter Baumann A Simple Coverage, in RDF <http://www.opengis.net/cis/1.1/examples/CIS_05_2D> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/cis/1.1/CoverageByDomainAndRangeType> . <http://www.opengis.net/cis/1.1/examples/CIS_05_2D> <http://www.opengis.net/cis/1.1/domainSet> <http://www.opengis.net/cis/1.1/examples/CIS_DS_05_2D> . <http://www.opengis.net/cis/1.1/examples/CIS_DS_05_2D> <http://www.opengis.net/cis/1.1/generalGrid> <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_05_2D> . <http://www.opengis.net/cis/1.1/examples/CIS_DS_05_2D> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.opengis.net/cis/1.1/DomainSetType> . <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_05_2D> <http://www.opengis.net/cis/1.1/axis> <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_I_05_2D> . <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_05_2D> <http://www.opengis.net/cis/1.1/axis> <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_J_05_2D> . <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_05_2D> <http://www.opengis.net/cis/1.1/axisLabels> <http://www.opengis.net/cis/1.1/axisLabels0> . <http://www.opengis.net/cis/1.1/axisLabels0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "i" . <http://www.opengis.net/cis/1.1/axisLabels0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.opengis.net/cis/1.1/axisLabels1> . <http://www.opengis.net/cis/1.1/axisLabels1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "j" . <http://www.opengis.net/cis/1.1/axisLabels1> <http://www.w3.org/1999/02/22-rdf-syntaxINSPIRE-ns#rest> WCS <http://www.w3.org/1999/02/22 :: © 2017 Peter Baumann-rdf -syntax <http://www.opengis.net/cis/1.1/examples/CIS_DS_GG_05_2D> <http://www.opengis.net/cis/1.1/srsName> <http://www.opengis.net/def/c Encoding Coverages Coverage Domain set Range type . Single file encoding: Range set - Informationally complete: GML, JSON, RDF, … App Metadata - Further formats: GeoTIFF, NetCDF, JPEG2000, GRIB, … . Multipart: container( “header” + file1 + file2 + … ) Coverage - Multipart/MIME, zip, GMLJP2, SAFE, GeoPackage, ... Domain set - Collections, tiling, streaming Range type xlink App Metadata NetCDF INSPIRE WCS :: © 2017 Peter Baumann