i. Abstract
Coverages represent digital geospatial information representing space/time-varying phenomena. OGC Abstract Topic 6 [OGC 07-011] – which is identical to ISO 19123 – defines an abstract model for coverages. Coverage instances may be encoded using the GML Application Schema – Coverages (GMLCOV) version 1.0 [OGC 09-146r2] which is based on the Geography Markup Language (GML) version 3.2 [OGC 07-036], an XML grammar written in XML Schema for the description of application schemas as well as the transport and storage of geographic information.
This extension of the OGC® GML Application Schema – Coverages version 1.0 [OC 09-146r2] (in short GMLCOV) specifies the usage of the JPEG2000 data formats for still imagery (i.e. JPC, JP2, JPX) for the encoding of GML coverages. It is based on the format standard specified in the ISO/IEC 15444, Information technology — JPEG2000 Image Coding System series.
The way a GMLCOV XML file conformal to this standard is distributed with the actual JPEG2000 file is out of scope of this document. This encoding will be used in different ways by some OGC services such as the Web Coverage Service (WCS) 2.0 Interface Standard – Core [OGC 09-110r4] and GMLJP2 v2.0.
ii. Keywords
ogcdoc, OGC document, extension, JPEG2000, GML, GMLCOV, GMLJP2
iii. Preface
This document is an extension to the OGC® GML Application Schema – Coverages version 1.0 [OC 09-146r2] defining the usage of the JPEG2000 data format for the encoding of GML coverages.
Based on this interface standard an extension to the Web Coverage Service (WCS) 2.0 is foreseen. This extension is going to specify how JPEG2000 encoded coverages can be requested from a WCS including parameters defining JPEG2000 features such as compression, tilling, etc.
Based on this interface standard a future version 2.0 of GMLJP2 is foreseen. This standard is going to specify how a GMLCOV document can be embedded inside a JPEG2000 file as a way to include georeference and range information in it.
It is also foreseen to adapt and expand the supporting types of coverage gmlcov:ReferenceableGridCoverage based on adopted extensions of GML, once it is available.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
iv. Submitting organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
- CREAF
- EOX IT Services GmbH
- Jacobs University Bremen
v. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name | Representing | OGC member |
---|---|---|
Joan Masó | CREAF, Spain | Yes |
Stephen Meissl | EOX IT Services GmbH | Yes |
Christian Schiller | EOX IT Services GmbH | Yes |
Peter Baumann | Jacobs University Bremen | Yes |
vi. Changes to the OGC® Abstract Specification
The OGC® Abstract Specification does not require changes to accommodate this OGC® standard.
vii. Foreword
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights. However, to date, no such rights have been claimed or identified.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
Scope
This OGC® GML Application Schema - Coverages – JPEG2000 Coverage Encoding Extension – henceforth abbreviated as “GMLCOV for JPEG2000” specifies an encoding of GML coverages for the JPEG2000 data exchange formats for still imagery (i.e. JPC, JP2, JPX). The way an XML document following this standard is distributed with the actual JPEG2000 file is out of scope of this document.
Conformance
This standard defines an extension of OGC® GML Application Schema – Coverages
Requirements for one standardization target type are considered:
- jpeg2000-coverage, of URI http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/req/jpeg2000-coverage, with a single pertaining conformance class, jpeg2000-coverage, of URI http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/conf/jpeg2000-coverage.
Standardization targets for all conformance classes are concrete GML coverage instance documents as generated by some service and/or consumed by some client.
URIs given in this document for each requirement as well as conformance test URIs are relative paths to be appended to the root http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/.
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site[1].
In order to conform to this OGC™interface standard, a software implementation shall choose to implement:
a) Any one of the conformance levels specified in Annex B (normative).
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
Normative References
The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
- ISO/IEC 15444-1, Information technology — JPEG2000 Image Coding System. Part 1: Core coding system
- ISO/IEC 15444-2, Information technology — JPEG2000 Image Coding System: Part 2: Extensions
- IETF RFC3745 MIME Type Registrations for JPEG 2000 (ISO/IEC 15444)
- OGC 09-146r2, OGC® GML Application Schema – Coverages Encoding Specification version 1.0
- OGC 07-036, OpenGIS® Geography Markup Language (GML) Encoding Standard, version 3.2
Terms and Definitions
This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard. Also terms and definitions in [OGC 09-146r2] are used.
For the purposes of this document, the following additional terms and definitions apply.
- 4.1 pixel
-
smallest element of a digital image to which attributes are assigned [ISO/TS 19101-2:2008]
NOTE 1 This term originated as a contraction of “picture element”.
NOTE 2 Related to the concept of a grid cell.
- 4.2 raster space
pixel space -
Space used to reference the pixel values in a grid or image
Conventions
Namespace prefix conventions
The following namespaces are used in this document. The prefix abbreviations used constitute conventions used here, but are not normative. The namespaces to which the prefixes refer to are normative.
Prefix | Namespace URI | Description |
---|---|---|
xsd | http://www.w3.org/2001/XMLSchema | XML Schema namespace |
gml | http://www.opengis.net/gml/3.2 | GML 3.2.1 |
gmlcov | http://www.opengis.net/gmlcov/1.0 | GML AS – Coverages 1.0 |
Multiple representations
When multiple representations of the same information are given about a JPEG2000 file they must be consistent. If this is not the case then this is considered an error. This document imposes several requirements about this.
Overview
The ISO/IEC 15444 JPEG2000 standard series (http://www.jpeg.org/jpeg2000) defines a wavelet based encoding for imagery. The standard emphasizes scalable image representations. Portions of the compressed code-stream may be extracted and decompressed independently, to recover the image at a reduced resolution, at a reduced quality within any given resolution, or within a reduced spatial region, all of it at the desired resolution and quality. JPEG2000 supports both lossy and entirely lossless compression of images without sacrificing scalability.
The ISO/IEC 15444 JPEG2000 standard series neither defines any concrete way to specify georeference metadata for the imagery nor provides a description of the sensors used to capture the data, However, ISO/IEC 15444-2, Information technology — JPEG2000 Image Coding System: Part 2: Extensions Annex M describes a mechanism for using some XML Boxes inside the JPEG2000 file to embed metadata such as metadata for camera producing JPEG2000 pictures.
The OGC GMLJP2 version 1.0 standard (OGC 05-047r3) specifies how this XML Box mechanism can be used to include a GML file containing a GML Coverage object, GML Features and GML annotations. GMLJP2 version 1.0 does not provide any common application schema but gives some guidance for developers who are supposed to create a specific application schema by themselves (using gml:FeatureCollection as a root element and defined in a specific XSD file for validation). Potentially, two implementations can generate 2 syntactically different descriptions for the same image thereby making interoperability more difficult.
The OGC work on GMLJP2 v2.0 utilizes a modular approach in which any reference to how a GML coverage document about a JPEG2000 image is constructed has been removed from the GMLJP2 standard. This document now specifies how coverage metadata about a JPEG2000 image is written. Another difference is that this standard relies on the GML Application Schema – Coverages (OGC 09-146r2) requirements (and uses the common GMLCOV application schema) but defines additional requirements that are particular to the case of GMLCOV describing JPEG2000 files (e.g. how some GMLCOV properties map to the JPEG2000 internal binary headers and content). The OGC believes that this standard will be used by some new standards (see figure 1) such as:
- GMLJP2 version 2.0 rely on this standard and GMLJP2 will specify how a GMLCOV that follows JPEG2000-coverages will be embedded into a JPEG2000 file. Requirements about how GMLCOV can be embedded into a JPEG2000 file are foreseen in GMLJP2 version 2 and these are not included in this document.
- WCS version 2.0 will serve images using either a GMLCOV document that links to an external JPEG2000 file or it will serve a JPEG2000 file that conforms to GMLJP2 version 2.0, so internally it will use GMLCOV to describe the coverage reference, sensor information etc. An extension that specifies exclusive characteristics for JPEG2000 files using WCS 2.0 is planned.
- OWS Context version 1.0 uses GMLCOV as a way to include inline descriptions of coverages that link to external raster JPEG2000 files conformal to this standard.
This OGC standard recognizes the possibility of JPEG2000 files embedding georeference information and sensor descriptions in this encoding and other encodings including GMLJP2 version 1 or GeoJP2. Some requirements in this standard dictate a coherent representation of essential values, in all times maximum coherence between encodings is desired.
Thus, the only coverage types specified by this standard are gmlcov:GridCoverage, gmlcov:RectifiedGridCoverage, gmlcov:ReferenceableGridCoverage, and any coverage type derived thereof with exactly 2 dimensions. Although techniques to store 3D or even higher dimensional coverages in JPEG2000 files are known they are not considered in this document.
Coverages of type gmlcov:GridCoverage do not have to describe georeference, although include information on the rangeType and rangeSet can still be useful.
Following the notation of the abstract coverage definition in the GML AS – Coverages [OGC 09-146r2] the domainSet is limited to 2 dimensions and the rangeType is limited according to the JPEG2000 value restrictions format.
Clause containing normative material
Requirements class jpeg2000-coverage establishes how coverages are represented in the JPEG2000 encoding format. The identifying URL is:http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/req/jpeg2000-coverage.
General
JPEG2000 encoded coverages shall adhere to ISO/IEC 15444-1 standard.
Requirement 1: ISO/IEC 15444-1 adherence |
/req/jpep2000-coverage/jpeg2000-standard-part1 |
A coverage encoded in JPEG2000 shall adhere to the ISO/IEC 15444-1 Information technology — JPEG2000 Image Coding System. Part 1: Core coding system standard. Both raw J2K codestream are allowed: JC2 format as specified in Annex A of Part 1, and JP2 format as specified in annex I. |
Requirement 2: ISO/IEC 15444-2 adherence |
req/jpep2000-coverage/jpeg2000-standard-jpx |
A coverage encoded in JPX for JPEG2000 shall adhere to the ISO/IEC 15444-2 Annex M Information technology — JPEG2000 Image Coding System. Part 2: Extensions |
JPEG2000 identification
The JPEG2000 format shall be identified by the following URI or MIME type identifier, whenever a format identifier is required.
Note: Examples include the Content-Type header in service responses, the formatSupported element in WCS GetCapabilities responses, the nativeFormat element in WCS DescribeCoverage responses, or the format parameter in WCS GetCoverage requests.
Requirement 3: Extension declaration |
req/jpeg2000-coverage/uri |
Where there a mechanism for declaring support to extensions and profiles by the use of URIs, JPEG2000 coverage shall be indicated by the following URI: http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/conf/jpeg2000-coverage |
Requirement 4: MIME types identification |
req/jpeg2000-coverage/mime-type-identifier |
JPEG2000 encoding of a coverage shall beindicated by one of the following MIME type identifiers: image/jp2, image/jpx Note: MIME sub-type image/jp2 is defined in RFC 3745. |
Mapping between JPEG2000 abstract model and GML AS abstract model
Requirement 5: Grid coverage types |
req/jpeg2000-coverage/type |
A coverage encoded in JPEG2000 shall be of type gmlcov:GridCoverage, gmlcov:RectifiedGridCoverage, or gmlcov:ReferenceableGridCoverage. Dependency: http://www.opengis.net/spec/GMLCOV/1.0/req/gml-coverage |
Domain
Requirement 6: Two dimension domain |
req/jpeg2000-coverage/dimensions |
The domain of a coverage encoded in JPEG2000 shall have exactly 2 dimensions. |
Requirement 7: CRS consistency |
req/jpeg2000-coverage/crs |
The coordinate reference system identified by the value of the srsName attribute of the gml:Envelope element of the gml:boundedBy element of a coverage encoded in JPEG2000 shall be the same as any coordinate reference system specified in any other georeference encoding embedded in the JPEG2000. |
Requirement 8: Axis ordering consistency |
req/jpeg2000-coverage/axis-ordering |
The value ordering of a coverage encoded in JPEG2000 shall adhere to the axis order of the coordinate reference system identified by the value of the srsName attribute of the gml:Envelope element of the gml:boundedBy element. Note: This applies to all elements directly bound to a coordinate reference system i.e. the boundedBy, origin, and offsetVector elements but not elements in raster or pixel space i.e. the grid. |
Requirement 9: boundedBy consistency with cell geometry type |
req/jpeg2000-coverage/cell-geometry-is-area |
The gml:boundedBy of the domain description of a coverage using JPEG2000 encoding that also includes metadata about the type of cell geometry representation shall respect the coverage’s raster space depending on the type of cell geometry representation (center point or pixel area). |
Note The definition of grids in GML 3.2 [OGC 07-036] clause 19.2.2 will be followed: “When a grid point is used to represent a sample space (e.g. image pixel), the grid point represents the center of the sample space (see ISO 19123:2005, 8.2.2).”. Image pixel in this GML quote denotes the same as image space in JPEG2000 with metadata terminology. However, ISO19115 provides an element MD_PixelOrientationCode that can have the following values: center, lowerLeft, lowerRight, upperRight, or upperLeft. The only case supported by GML 3.2 is center and users may have to adapt their geometrical description in GMLCOV to it.
Example In JPEG2000 file that uses GMLJP2 to embed an ISO 19115 metadata property that is of the MD_CellGeometryCode type with a value area the cell-value fills a square cell with the first point of the coverage grid in the middle of the first cell, and with the value point the first cell-value is realized as a point value located at first point of the grid. In fact, for a gml:RectifiedGrid the gml:origin element is in the same place independently of the MD_CellGeometryCode value. Nevertheless, when MD_CellGeometryCode is area the gml:boundedBy is decreased by the half of both gml:offsetVector elements in the gml:lowerCorner coordinates and increases in the half of both gml:offsetVector elements in the gml:upperCorner coordinates compared with MD_CellGeometryCode is point. In other words, gml:boundedBy will include the half pixel border in case of area (see also OGC 12-100r1 requirement http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/req/geotiff-coverage/pixel-is-area for some examples and figures).
Range
Requirement 10: Components ordering consistency |
req/jpeg2000-coverage/range-ordering |
A coverage encoded in JPEG2000 with more than one component and referenced in the gml:rangSet shall order the components of the coverage’s in the same order as given in the gml:rangeType element’s document order. |
Requirement 11: Range units and type consistency |
req/jpeg2000-coverage/range-sensor |
The sensor information encoded in the swe:uom and the swe:AllowedValues in the gml:rangeType element of a coverage encoded in JPEG2000 shall be the same as the equivalent sensor information specified in any other encoding embedded in the JPEG2000. |
Media Types for any data encoding(s)
JPEG2000 encoding of a coverage is indicated by one of the following MIME type identifiers: image/jp2, image/jpx
MIME sub-type image/jp2 is defined in RFC 3745.
Annex : Conformance Class Abstract Test Suite (Normative)
This Annex specifies an Abstract Test Suite which shall be passed in completeness by any implementation claiming conformance with this JPEG2000 coverage encoding extension.
Test identifiers below are relative to
http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/.
A.1 Conformance Test Class: jpeg2000-coverage
The OGC URI identifier of this conformance class is:
http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/conf/jpeg2000-coverage.
A.1.1 Follow JPEG2000 standard part 1
A.1.1 Follow JPEG2000 standard part 1 | |
---|---|
Test id: |
/conf/jpeg2000-coverage/jpeg2000- standard-part1 |
Test Purpose: |
Requirement 1 /req/jpep2000-coverage/jpeg2000-standard: A coverage encoded in JPEG2000 shall adhere to the ISO/IECISO 15444-1 Information technology — JPEG2000 Image Coding System. Part 1: Core coding system standard. |
Test method: |
Validate the coverage instance under test against the ISO/IEC15444-1 standard. Test passes if coverage instance is valid according to the ISO/IEC15444-1 standard. |
A.1.2 Follow JPEG2000 standard JPX
A.1.2 Follow JPEG2000 standard JPX | |
---|---|
Test id: |
/conf/jpeg2000-coverage/jpeg2000- standard-jpx |
Test Purpose: |
Req 2 /req/jpep2000-coverage/jpeg2000-standard-jpx: |
Test method: |
Validate the coverage instance under test against the ISO/IEC15444-2 standard Annex M. Test passes if coverage instance is valid according to the ISO/IEC15444-2 standard Annex M. |
A.1.3 Correct URI
A.1.3 Correct URI | |
---|---|
Test id: |
/conf/jpeg2000-coverage/uri |
Test Purpose: |
Req 3 /req/jpeg2000-coverage/uri: |
Test method: |
If the coverage instance under test is encoded in a multipart message check that the xlink:role attribute of the gml:rangeParameters element of the gml:File element of the gml:rangeSet element of its first part has the value "http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/conf/jpeg2000-coverage". Test passes if constraint evaluates to true. |
A.1.4 Correct MIME type
A.1.4 Correct MIME type | |
---|---|
Test id: |
/conf/jpeg2000-coverage/mime-type-identifier |
Test Purpose: |
Req 4 /req/jpeg2000-coverage/mime-type-identifier: |
Test method: |
If the coverage instance under test is encoded in a multipart message or there is a GML box in the JPEG2000 file, check that the gml:mimeType element of the gml:File element of the gml:rangeSet element of its first part as well as the Content-Type header of its second part have the value "image/jp2" or "image/jpx". Test passes if constraints evaluate to true. |
A.1.5 Correct coverage type
A.1.5 Correct coverage type | |
---|---|
Test id: |
/conf/jpeg2000-coverage/type |
Test Purpose: |
Req 5 /req/jpeg2000-coverage/type: |
Test method: |
If the coverage instance under test is encoded in a multipart message check the first part. If there is a GML box in the JPEG2000 file, check the embedded file. Verify if it consists of a GML document of type gmlcov:GridCoverage, gmlcov:RectifiedGridCoverage, or gmlcov:ReferenceableGridCoverage, or a subtype thereof. Test passes if constraint evaluates to true. |
A.1.6 Correct dimensions
A.1.6 Correct dimensions | |
---|---|
Test id: |
/conf/jpeg2000-coverage/dimensions |
Test Purpose: |
Req 6 /req/jpeg2000-coverage/dimensions: |
Test method: |
If the coverage instance under test is encoded in a multipart message check or there is a GML box in the JPEG2000 file, that the dimension parameter of the gml:RectifiedGrid element or of a subtype thereof or of a subtype of gml:AbstractReferencealbeGrid of the gml:domainSet element of its first part has the value "2". Test passes if constraint evaluates to true. |
A.1.7 Correct CRS
A.1.7 Correct CRS | |
---|---|
Test id: |
/conf/jpeg2000-coverage/crs |
Test Purpose: |
Req 7 /req/jpeg2000-coverage/crs: |
Test method: |
If the coverage instance under test is encoded in a multipart message check or there is a GML box in the JPEG2000 file, that the srsName attribute of the gml:Envelope element of the gml:boundedBy element its first part defines the same coordinate reference system as the one used in any other georeference encoding embedded in the JPEG2000 file, which in case of gmlcov:ReferenceableGridCoverage is the coordinate reference system used for the tiepoints and in case of gmlcov:GridCoverage not present. Test passes if constraint evaluates to true. |
A.1.8 Correct axis ordering
A.1.8 Correct axis ordering | |
---|---|
Test id: |
/conf/jpeg2000-coverage/axis-ordering |
Test Purpose: |
Req 8 /req/jpeg2000-coverage/axis-ordering: |
Test method: |
If the coverage instance under test is encoded in a multipart message or there is a GML box in the JPEG2000 file, check that the coordinate reference system defined by the srsName attribute of the gml:Envelope element of the gml:boundedBy element of its first part defines the same axis ordering as the one used in the JPEG2000 datablocks. Test passes if constraint evaluates to true. |
A.1.9 Correct raster space
A.1.9 Correct raster space | |
---|---|
Test id: |
/req/jpeg2000-coverage/cell-geometry-is-area |
Test Purpose: |
Req 9 /req/jpeg2000-coverage/cell-geometry-is-area: |
Test method: |
If the coverage instance under test is encoded in a multipart message or there is a GML box in the JPEG2000 file, check that the values used in the gml:lowerCorner and gml:upperCorner elements of gml:Envelope element of the gml:boundedBy element of it are respecting the raster space setting used in the JPEG2000 datablock and documented in the metadata (e.g. MD_CellGeometryCode in ISO metadata). In case of area, type gmlcov:RectifiedGridCoverage, and grid axis parallel to the CRS axis the difference between the values used in the gml:lowerCorner and gml:Envelope elements shall be the same as the number of pixels defined in the gml:domainSet element multiplied with the respective value of the respective gml:offsetVector element taking into account the right axis ordering. In case of point, type gmlcov:RectifiedGridCoverage, and grid axis parallel to the CRS axis the difference between the values used in the gml:lowerCorner and gml:Envelope elements shall be the same as the number of pixels defined in the gml:domainSet element minus 1 multiplied with the respective value of the respective gml:offsetVector element taking into account the right axis ordering. Test passes if constraints evaluate to true. |
A.1.10 Correct range order
A.1.10 Correct range order | |
---|---|
Test id: |
/conf/jpeg2000-coverage/range-ordering |
Test Purpose: |
Req 10 /req/jpeg2000-coverage/range-ordering: |
Test method: |
If the coverage instance under test is encoded in a multipart message or there is a GML box in the JPEG2000 file, check that the ordering used in the gmlcov:rangeType element of its first part is the same as used in the JPEG2000 datablocks. Test passes if constraint evaluates to true. |
A.1.11 Correct range sensor
A.1.11 Correct range sensor | |
---|---|
Test id: |
/conf/jpeg2000-coverage/range-sensor |
Test Purpose: |
Req 11 /req/jpeg2000-coverage/range-sensor: |
Test method: |
If the coverage instance under test is encoded in a multipart message or there is a GML box in the JPEG2000 file, check that the units of measure and allowed values used in the gmlcov:rangeType section in the swe:uom and swe:AllowedValues elements of it is the same as the used in the metadata describing the JPEG2000 (e.g in MD_Band). Test passes if constraint evaluates to true. |
– end of ATS –
Annex : Examples (Informative)
The following sketch corresponds to a multipart coverage (contents of second part omitted):
Content-Type: Multipart/Related; boundary=wcs;
start=“GML-Part”
type=“application/gml+xml”
-–wcs
Content-Type: text/xml
<?xml version=“1.0” encoding=“UTF-8”?>
<gmlcov:RectifiedGridCoverage
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xlink=http://www.w3.org/1999/xlink
xmlns:gml=http://www.opengis.net/gml/3.2
xmlns:gmlcov=http://www.opengis.net/gmlcov/1.0
xmlns:swe=http://www.opengis.net/swe/2.0
xsi:schemaLocation=http://www.opengis.net/gmlcov/1.0 http://schemas.opengis.net/gmlcov/1.0/gmlcovAll.xsd
gml:id=“grey”>
<gml:boundedBy>
<gml:Envelope srsName=“http://www.opengis.net/def/crs/EPSG/0/3857” axisLabels=“x y” uomLabels=“m m” srsDimension=“2”>
<gml:lowerCorner>100 50</gml:lowerCorner>
<gml:upperCorner>500 350</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<gml:domainSet>
<gml:RectifiedGrid dimension=“2” gml:id=“grid_grey”>
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>39 29</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisLabels>x y</gml:axisLabels>
<gml:origin>
<gml:Point gml:id=“grid_origin_grey” srsName=“http://www.opengis.net/def/crs/EPSG/0/3857”>
<gml:pos>105 345</gml:pos>
</gml:Point>
</gml:origin>
<gml:offsetVector srsName=“http://www.opengis.net/def/crs/EPSG/0/ 3857”>10 0</gml:offsetVector>
<gml:offsetVector srsName=“http://www.opengis.net/def/crs/EPSG/0/ 3857”>0 -10</gml:offsetVector>
</gml:RectifiedGrid>
</gml:domainSet>
<gml:rangeSet>
<gml:File>
<gml:rangeParameters xlink:href=“cid:grey.jp2” xlink:role=“http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/jpeg2000-coverage” xlink:arcrole=“fileReference”/>
<gml:fileReference>cid:grey.jp2</gml:fileReference>
<gml:fileStructure/>
<gml:mimeType>image/jp2</gml:mimeType>
</gml:File>
</gml:rangeSet>
<gmlcov:rangeType>
<swe:DataRecord>
<swe:field name=“grey”>
<swe:Quantity definition=“http://www.opengis.net/def/property/OGC/0/Radiance”>
<swe:description>Grey band</swe:description>
<swe:nilValues/>
<swe:uom code=“W.m-2.sr-1.nm-1”/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0 255</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</gmlcov:rangeType>
</gmlcov:RectifiedGridCoverage>
-–wcs
Content-Type: image/jp2
Content-Description: coverage data
Content-Transfer-Encoding: binary
Content-ID: grey.jp2
Content-Disposition: inline
…
-–wcs–-
The following sketch corresponds to a GMLCOV XML file fragment embed in a JPEG2000 XML box:
<gmlcov:RectifiedGridCoverage
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0"
xmlns:swe="http://www.opengis.net/swe/2.0"
xsi:schemaLocation="http://www.opengis.net/gmlcov/1.0 http://schemas.opengis.net/gmlcov/1.0/gmlcovAll.xsd"
gml:id=“grey”>
<gml:boundedBy>
<gml:Envelope srsName=“http://www.opengis.net/def/crs/EPSG/0/3857” axisLabels=“x y” uomLabels=“m m” srsDimension=“2”>
<gml:lowerCorner>100 50</gml:lowerCorner>
<gml:upperCorner>500 350</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<gml:domainSet>
<gml:RectifiedGrid dimension=“2” gml:id=“grid_grey”>
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>39 29</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisLabels>x y</gml:axisLabels>
<gml:origin>
<gml:Point gml:id=“grid_origin_grey” srsName=“http://www.opengis.net/def/crs/EPSG/0/3857”>
<gml:pos>105 345</gml:pos>
</gml:Point>
</gml:origin>
<gml:offsetVector srsName=“http://www.opengis.net/def/crs/EPSG/0/ 3857”>10 0</gml:offsetVector>
<gml:offsetVector srsName=“http://www.opengis.net/def/crs/EPSG/0/ 3857”>0 -10</gml:offsetVector>
</gml:RectifiedGrid>
</gml:domainSet>
<gml:rangeSet>
<gml:File>
<gml:rangeParameters xlink:href="gmljp2://codestream/0" xlink:role=“http://www.opengis.net/spec/gmlcov_jpeg2000-coverages/1.0/jpeg2000-coverage” xlink:arcrole=“fileReference”/>
<gml:fileReference>gmljp2://codestream/0</gml:fileReference>
<gml:fileStructure/>
<gml:mimeType>image/jp2</gml:mimeType>
</gml:File>
</gml:rangeSet>
<gmlcov:rangeType>
<swe:DataRecord>
<swe:field name=“grey”>
<swe:Quantity definition=“http://www.opengis.net/def/property/OGC/0/Radiance”>
<swe:description>Grey band</swe:description>
<swe:nilValues/>
<swe:uom code=“W.m-2.sr-1.nm-1”/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0 255</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</gmlcov:rangeType>
</gmlcov:RectifiedGridCoverage>
Annex : Revision history
Date | Release | Author | Paragraph modified | Description |
---|---|---|---|---|
2012-09-01 | 0.0.1 | Joan Masó | All | First draft based on discussions in the WCS.SWG. |
2012-09-18 | 0.0.2 | Joan Masó | Clause 5 and 6 | Addition of a figure about the relation of this document with other documents. Addition of a requirement about sensors |
2012-10-27 | 0.0.3 | Joan Masó | All | Editorial changes |
Annex : Bibliography
- OGC 05-047r3 GML in JPEG 2000 for Geographic Imagery (GMLJP2) Encoding Specification version 1.0.0
- OGC 09-110r4, OGC® Web Coverage Service 2.0 Interface Standard – Core, version 2.0
- OGC 09-147r2, OGC® Web Coverage Service 2.0 Interface Standard – KVP Protocol Binding Extension, version 1.0
- OGC 09-148r2, OGC® Web Coverage Service 2.0 Interface Standard – XML/POST Protocol Binding Extension, version 1.0
- OGC 09-149r2, OGC® Web Coverage Service 2.0 Interface Standard – XML/SOAP Protocol Binding Extension, version 1.0