Title: Online Data Access using WCS and GMLJP2 Alexandre Robin Spot Image Didier Giacobbo Spot Image Steven
1Online Data Access using WCS and
GMLJP2Alexandre Robin Spot ImageDidier
Giacobbo Spot ImageSteven Smolders GIM
2WCS quick overview
- WCS stands for Web Coverage Service.
- The purpose of this OGC standard service is to
provide a client with portions of coverage
according to client request parameters. - WCS is a mechanism for distributing through
Network Services spatiotemporal portions of
coverage. - A coverage may be seen as contiguous digital
spatial, multi-temporal and multidimensional
information - Remote sensing raster products are coverages
- Serve coverage information filtered by client
parameters through 3 types of requests - GetCapabilities describes available coverages on
the server and the abilities of the server to
serve these coverages - DescribeCoverage describes a single or a set of
coverages - GetCoverage provides the portion of the coverage
required by the client according to the client
specified parameters
3WCS for Earth Observation
- Main EO data characteristics
- EO Sensors may acquire data with multiple
wavelengths - provides a stack of many layers of data
- strong correlations exist between the different
wavelength bands - Due to the EO sensors revisit capacity, EO data
allows to provide information on the same
phenomenon at various time instances - EO data is provided with positioning ancillary
data that allows the georeferencing of the images.
4WCS for Earth Observation
- EO data may be used in raw, rectified or compound
forms. - The raw observation reflects the acquisition
process - The rectified or compound coverage represents the
data ready to be used by any Geo Tool (GIS, Image
Processing Software, Web Portal)
5Why WCS for EO data
- WCS is by concept spatially enabled
- WCS handles temporal data
- WCS allows retrieval of stackable data by
resampling the coverage to fit the client
request. - WCS handles range values domains
- WCS has the ability to deliver metadata about the
EO product acquisition, its production process
and its usability - WCS as opposed to WMS provide pixel values as
close as possible to acquired data
6WCS EO typical use cases
- WCS is a means for a client to retrieve gridded
imagery data from a server. - We can distinguish 3 main use cases for the WCS.
- for retrieving grid geographic data to be used
for image and vector processing purposes. - with the increase of geographic data viewer
skills and functionalities, WCS can also be used
for visualization and data browsing purposes. - for retrieving a subset of coverage in order to
save it on a disk and exploit it. - The Use Case determines the level of metadata
that is required
7WCS used for EO chained processing
- Use Case A WCS used for EO chained processing
- Processing may concern
- DEM computation
- Geo referencing and/or ortho-rectifcation
- image processing raster/vector processing,
classification, filtering, - thematic processing including the use of
additional vector data - These applications do require the following
metadata - sensor attitude
- original data source in case of elaborated EO
products - additional simultaneous observations (clouds) or
reference to auxiliary data used for producing
the data (DEM) - Typical use
- The client requests a large portion of the
coverage once and apply the processing on this
portion of the coverage. - The server would transfer a large amount of data
per request but might be solicited rarely
8WCS used for file downloading and saving
- Use Case C WCS used for file downloading and
saving - This use case reflects the use of the Web
Coverage Service for downloading the imagery with
unknown a posteriori use. - A typical use is the referencing of data source
in a CS-W catalog response. - he only WCS request that would be used for this
use case would be the GetCoverage request. - In this use case, all available information that
may be required for any possible future use must
be included. - This use case is similar to use case A
9WCS used for coverage viewing and display
- Use Case B WCS used for coverage viewing and
display - Two possible scenario
- The WCS client may download the image in its
highest resolution in one go from the server, - optionally in a set of tiles, cache this on disk
and then use this locally cached image for
displaying. - The WCS client will make use of the functionality
to subset the coverage by only requesting the
data for the required view - by specifying the Bounding box, the width and
height (in pixel coordinates) - only the data required for displaying the
geographical extent is downloaded. - But this also means that each change of visible
extent by viewing and panning creates a new Web
Coverage Service request. - the data downloaded per coverage request will be
small, but depending on the number of client
request, there may be cumulative high volume of
transfer from the server
10GMLJP2 Specification
- OGC 05-047r3 OpenGIS encoding specification
- Specifies how geographic imagery should be
encoded in JPEG2000, a wavelet based encoding for
imagery - By including image meta-information encoded
within GML - Georeferencing information (gmlRectifiedGrid
coverages ) - Radiometry (gmlrangeSet)
- Mapping of Geometry to values to JPEG2000
codestream - Metadata
- Geographic features (gmlfeatures)
- Annotations (Annotation GML application Schema)
- CRS and UOM definitions
- Styling (SLD, GML Default Styling, XSLT scripts)
- Single/multiple georeferenced images
of same or different type, DTMs,...
11WCS GMLJP2 for use case B
- Viewing purposes (fat client rich thin client)
- Streaming (JPIP)
- Scalability (tiling and multiple resolution)
- Lossless and lossy compression (accuracy)
- Data encryption (security)
- The client would request small portions of the
coverage and repeat these requests for building
the tiled view
12WCS GMLJP2 usage for EO
- WCS GMLJP2
- The WCS must define the GMLJP2 as an output
format either in the description of the service
or in the description of the coverage. - It would be useful to introduce the metadata
level concept either in the description of the
service or the description of the coverage and in
the parameters used for requesting data. - WCS GMLJP2 and JPIP
- JPIP and WCS must be considered as complementary
protocols. - The first JPIP request start on WCS and then
after the client and server operate only on JPIP
protocol
13WCS GMLJP2 Prototype
14WCS Server prototype
- The GML/JP2 Façade Introduction
- The gateway approach was chosen for several
reasons - Ease of implementation compared to implementing
a full subsetting/resampling engine from
scratch Possibility to leverage on existing
WCS implementations - Possibility to connect it to any remote OGC
compliant WCS implementation (here we used an
IONIC product) - GML Rectified grid can easily be inserted by the
gateway after the imagery is generated by the
underlying server thanks to the JP2 file
structure - The insertion can be done in a streaming fashion
so as to not add any latency to the process
15The GML/JP2 Façade GetCoverage
WCS Server prototype
- Client connects to the Spotimage WCS which is
just a gateway to a full WCS implementation
responsible for extracting the coverage subset
(here an IONIC product).
SpotimageWCS
GetCoverage(KVP, POST or SOAP)
GetCoverage KVP
Response GML/JP2 Stream
Response JP2 Stream
IONICWCS
Insert GML RectifiedGrid
- The Spot WCS gets the imagery from the underlying
WCS. It only generates the Rectified Grid XML
and inserts it properly in the JP2 stream (using
JPX nested Boxes).
16The GML/JP2 Façade GetCapabilities,
DescribeCoverage
WCS Server prototype
- GetCapabilities and DescribeCoverage Operations
are simply forwarded to the underlying WCS.
SpotimageWCS
GetCapabilities(KVP, POST or SOAP)
GetCapabilities KVP
Response XML
Response XML
IONICWCS
SpotimageWCS
DescribeCoverage(KVP, POST or SOAP)
DescribeCoverage KVP
Response XML
Response XML
IONICWCS
17Objective extend the SSE WebMapViewer WCS client
with Prototype Support for GMLJP2
GMLJP2 WCS Client
18GMLJP2 Handler
GMLJP2 WCS Client
- Reads JPEG2000 file gtNeed a JP2/JPX codex
- Extracts GML encoded Metadata
- Use Gmlcoverage for geolocation of image
- Extracts metadata and provides a link to the XML
- Extracts Simple GML Features and applies SLD
- Decodes JPEG2000 image
- Use JasPer for image decoding
- Use own code (built around Jai)
- for dealing with metadata
19Test Case 1 GMLJP2 Files
GMLJP2 WCS Client
20Test Case 2 SPOT Image WCS Server
GMLJP2 WCS Client
21Status and conclusion
- HMA-T project status Currently performing last
client-server integration phase - Conclusion
- GMLJP2 WCS is promising for EO usage
- Using Open Standards offers interoperability
perspectives - JPEG2000 possibilities for image compression
- Possibility to include mask or feature layers
inside image file - Retrieve different metadata for different
purposes - Full metadata via WCS describecoverage ( 3MB for
SPOT in DIMAP format) - Limited metadata for georeferencing and spectral
information inside GMLJP2 - Feed experience back into OGC Revision working
Groups for WCS and GMLJP2 - Future work JPIP WCS for EO usage