Open Geospatial Consortium Inc.
Date: 2006-01-20®

Reference number of this OGC document: OGC 05-047r3
Version: 1.0.0®

Category: OpenGIS Encoding Specification
Editors: Martin Kyle, David Burggraf, Sean Forde, Ron Lake

GML in JPEG 2000 for Geographic Imagery (GMLJP2)
Encoding Specification

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal

Document type:
Document subtype:
Document stage:
Document language:

OpenGIS® Encoding Specification(none)
Approved
EnglishOGC 05-047r3

This page left intentionally blank.

ii

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Contents

Page

1

Scope ............................................................................................................................1

2

Conformance................................................................................................................1

3

Normative references...................................................................................................1

4

Terms and definitions ..................................................................................................2

5

Conventions..................................................................................................................5
5.1 Abbreviated terms........................................................................................................5
5.2 Document terms and definitions .................................................................................6

6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8

Roles of GML in JPEG 2000 for Geographic Imagery.............................................6
Introduction ..................................................................................................................6
Coverage encoding ......................................................................................................6
Coverage metadata.......................................................................................................7
Image annotation..........................................................................................................8
Geographic features .....................................................................................................8
Feature and annotation styling....................................................................................8
Coordinate reference systems .....................................................................................9Units of measure ..........................................................................................................9

7

Encoding rules for GML in JPEG 2000 .....................................................................9
7.1 Introduction ..................................................................................................................9
7.2 Coverage description .................................................................................................10
7.3 Coverage metadata.....................................................................................................11
7.4 schemaLocation value ...............................................................................................13
7.5 Minimal instance........................................................................................................14
7.6 Image annotation........................................................................................................15
7.6.1 Introduction ...........................................................................................................15
7.6.2 Annotation entities ................................................................................................18
7.6.3 Annotation and feature styling .............................................................................19
7.7 Coordinate reference systems ...................................................................................22
7.8 Units of measure ........................................................................................................22

8

Packaging GML in JPEG 2000.................................................................................23
8.1 Introduction ................................................................................................................23
8.2 Single codestream case..............................................................................................23
8.3 Multiple codestreams case ........................................................................................26
8.4 References to XML schemas ....................................................................................29
8.5 References to XML instances ...................................................................................30
8.6 URI references within JPEG 2000 files ...................................................................30
8.6.1 Introduction ...........................................................................................................30
8.6.2 The "xml" resource.type .......................................................................................30
8.6.3 The "codestream" resource.type...........................................................................31

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

iii

OGC 05-047r3

8.6.4 Relative and absolute forms .................................................................................31
B.1 General .......................................................................................................................37
B.2 pointOfInterest.xml....................................................................................................37
B.3 curveOfInterest.xml...................................................................................................39
B.4 regionOfInterest.xml..................................................................................................40
B.5 featureOfInterest.xml.................................................................................................41
B.6 annotation.xml............................................................................................................42
C.1 General .......................................................................................................................45
C.2 Example Application Schemas for single code stream ...........................................45
C.2.1 landsat7Coverage.xsd ...........................................................................................45
C.2.2 landsat7Annotation.xsd.........................................................................................48
C.3 Example root instance for single code stream - landsat7Instance.xml...................52
C.4 Example Application Schemas for multiple code streams - r3dCoverage.xsd......56
C.5 Example instance for multiple code streams - r3dDemOrthoInstance.xml ...........58

4

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

FiguresPage

Figure 1 — Metadata hierarchy............................................................................7
Figure 2 — Annotation entity (point and callout)..............................................18
Figure 3 — Annotation entity (photo callout)....................................................19
Figure 4 — Packaging of GML for a single codestream....................................24
Figure 5 — Single codestream root instance data in XML Box.........................25
Figure 6 — Minimal packaging of GML for a single codestream.....................25
Figure 7 — Packaging of GML for multiple codestreams.................................26
Figure 8 — Multiple codestreams example root instance data in XML Box.....28
Figure 9 — Minimal packaging of GML for multiple codestreams...................29

TablesPage

Table 1 — Specialized annotations............................................ .......................17

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

v

OGC 05-047r3

i.

PrefaceThis OpenGIS encoding specification defines the means by which the OpenGIS
Geography Markup Language (GML) is to be used within JPEG 2000 images forgeographic imagery. This specification is the result of work in the GML in JPEG 2000
Interoperability Experiment. In 2004, the submitting organizations introduced a candidate
specification document (04-045) which later became an OGC public Discussion Paperand the basis for conducting the Interoperability Experiment. The Activity Plan for the
GML in JPEG 2000 Interoperability Experiment was formally approved by the Open
Geospatial Consortium in February 2005.
The current revision of this specification has an augmented set of contributors andsubmitters than the original Discussion Paper. The additional contributors were a result of
the OGC Interoperability Experiment process and specific written comments that weregenerated from various TC meetings as well as a 30 day public comment period.

ii. Submitting organizations
The following organizations submitted the original document or its revisions to the Open
Geospatial Consortium, Inc.
Galdos Systems Inc.
LizardTech, A Celartem Company
European Union Satellite Centre (EUSC)DM Solutions Group Inc (DMSG)US Geological Survey (USGS) National Mapping Division
The submitting entities were grateful for the contributions from the following
organizations in the development and revision of this Implementation Specification:
BAE SYSTEMS - Information Systems Sector
Boeing S&IS Mission Systems
Intergraph Corporation
ITT Industries Space Systems Division
PCI Geomatics Inc
SPOT Image (SPOT)US National Aeronautics and Space Administration (NASA)vi

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

iii. Submission contact points
All questions regarding this document should be directed to the editors or thecontributors:
Editors
Name

Role

Description

Company

Ron Lake

Executive Editor

Responsible for initial draft andspecification vision

Galdos Systems

Martin Kyle

Managing Editor

Responsible for production
process and copy flow

Galdos Systems

David Burggraf

Contributing Editor

Responsible for editing, design
and GML content in particular

Galdos Systems

Sean FordeContributing Editor

Responsible for editing, design
and JP2 content in particular

LizardTech

Additional contributors
Peter Borrisow (Boeing)
Lucio Colaiacomo (EUSC)
Michael Gerlek (LizardTech)
Didier Giacobbo (SPOT)
Trent Hare (USGS)
Steven Keens (PCI)
Mitch Kruse (LizardTech)Philippe Merigot (SPOT)
Bill Okubo (ITT)
Lucian Plesea (NASA)John Vincent (Intergraph) in memoriam
Frank Warmerdam (DMSG)
Arliss Whiteside (BAE)

iv. Revision history
Date

Release

EditorDescription

Primary clauses
modified

25 July
2004
10 August,
2004

0.0.1

Ron LakeAll

Initial document, formatted for OGC template

0.1.0

David
BurggrafAll

Added content to clauses in Sections 7 and 8.
Reviewed and made minor modifications to allother clauses.

18 May,
2005

0.2.0

MartinKyle

All

Upgrade based on results to date ofInteroperability Experiment

19 May,
2005

0.2.1

David
Burggraf

7, 8, Annexes A-D Updates made to address discussion points in
GMLJP2 Interoperability Experiment

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

vii

OGC 05-047r3
19 May,
2005

0.2.2

MartinKyle

All

Formatting Changes based on OGC endorsed
ISO spec format

20 May,
2005

0.2.3

Sean
Forde

All

Incorporation of gmljp2 URI syntax, updatedlabel names, added comments

23 May,
2005

0.2.4

David
Burggraf

7, 8, Annexes A-D Updated sample schemas and instances

23 May,
2005

0.2.5

MartinKyle

All

Final review, clean up, and remaining issues

23 May,
2005

0.2.6

Sean
Forde

8.0

Small formatting and syntax changes; modified
wording in clause 8.0; removed incorrectabbreviations for JP2 box types; added missing
box type labels to box graphics;

23 May,
2005

0.2.7

Sean
Forde

3, 6.6, 6.7, 7.5,7.6

Added requirement to comply with OGC
document 05-010 for URN references to CRS
and UOM when referring to such entities byreference.

23 May,
2005

0.2.8

MartinKyle7.6; 8.0

Small abbreviation fixes and grammatical
fixes.

21 June,
2005

0.2.9

Sean
Forde

3, 7.5,8.2, A.1

Added reference to OGC doc 05-011for CRS
definitions; corrected box diagram; addedreference to XIMA discussion paper;

22 June2005

0.2.10ArlissAll
Whiteside

Formatting and miscellaneous comments

26 June
2005

0.3.0

MartinKyle

All

Add future work items, merge comments from
0.2.9, proof for RFC

25
November
2005

1.0.0

MartinKyle

All

Updates based on friendly amendments fromGML WG at November TC in Bonn, Germany
and recommendations for profile
standardization. Prep for R1 vote and release28
November
2005

1.0.0

Carl Reed All

Grammatical and informative edits

29
November
2005

1.0.0

MartinKyle

All

Final Proof

20
December
2005

1.0.0

MartinKyle

Annex A, C, D

Update location of xlinks.xsd using
authoritative relative reference at OGC schema
repositoryv.

Changes to the OGC Abstract Specification

The OpenGIS Abstract Specification does not require changes to accommodate this
OpenGIS® standard.

viii

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

vi. Future work
Future revisions of this OpenGIS Encoding Specification may:a) Use other GML coverages including unrectified grid coverages. For example,
before going through an ortho-rectification process, there may be a need to
encode/decode imagery according to the GML in JPEG 2000 standard. The
current revision of this specification only addresses GML rectified grid coverages.
b) Use external references into a GMLJP2/JPX file using a standardized URI
Fragment Identifier Syntax.
c) Accommodate specific needs of netCDF (network Common Data Form) for
scientific data.
d) Address the ongoing work of Observations within the other threads at OGC.
e) Define temporal relationships between coverages.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

ix

OGC 05-047r3

Foreword
This edition cancels and replaces the original draft specification (OGC 04-045) which has
been technically revised.
This document includes four annexes; Annex D is normative, and Annexes A-C are
informative.
The short form of this OpenGIS specification shall be referred to as GMLJP2.
Attention is drawn to the possibility that some of the elements of this document may be
the subject of patent rights. Open Geospatial Consortium Inc. shall not be held
responsible for identifying any or all such patent rights. However, to date, no such rights
have been claimed or identified.

x

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Introduction
The OpenGIS Geography Markup Language (GML) standard(http://www.opengeospatial.org/standards/gml) is an XML grammar for the encoding ofgeographic information including geographic features, coverages, observations, topology,
geometry, coordinate reference systems, units of measure, time, and value objects.
The ISO JPEG 2000 standard (http://www.jpeg.org/jpeg2000) is a wavelet based
encoding for imagery that provides the ability to include XML data for description of theimage within the JPEG 2000 data file.
This specification defines the means by which GML is to be used within JPEG 2000
images for geographic imagery. This includes the following:•Specification of the uses of GML within JPEG 2000 data files.

•

Packaging mechanisms for including GML within JPEG 2000 data files.

•

Specific GML application schemas to support the encoding of OGC coverages
within JPEG 2000 data files.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

xiOpenGIS® Encoding Specification

OGC 05-047r3

GML in JPEG 2000 for Geographic Imagery (GMLJP2)
Implementation Specification
1

Scope

This specification applies to the encoding and decoding of JPEG 2000 images that contain
GML for use with geographic imagery.
This OGC® document specifies the use of the Geography Markup Language (GML) within
the XML boxes of the JPEG 2000 data format. The document also establishes the roles of
GML in JPEG 2000 and specifies the encoding and packaging rules for GML use in JPEG
2000.
This OGC® document is applicable to those interested in using JPEG 2000 as a standardized
geographic image format.
It specifies a minimally required GML definition for georeferencing images and gives
guidelines for augmenting that definition to address the additional encoding of metadata,
features, annotations, styles, coordinate reference systems, and units of measure. This
document treats the case of packaging a single geographic image and the case of packaging
multiple geographic images.
2

Conformance

Conformance with this specification shall be checked using the normative information andschemas included herein. The framework, concepts, and methodology for testing, and thecriteria to be achieved to claim conformance are specified in ISO 19105: Geographic
information — Conformance and Testing.
3

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 editionof the normative document referred to applies.
IETF RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax (1998)
ISO/IEC 15444-1:2004, JPEG 2000 image coding system: Core coding system
ISO/IEC 15444-2:2004, JPEG 2000 image coding system: Extensions
ISO 19105:2000, Geographic information — Conformance and Testing
Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

1

OGC 05-047r3

OGC 03-105r1, Geography Markup Language V3.1.0 (April 2004)
OGC 04-092r4, Geography Markup Language V3.1.1 Schemas (January 2005)
OGC 05-008r1, OWS Common Implementation Specification (January 2005)
OGC 05-010, URNs of Definitions in OGC Namespace (January 2005)
OGC 05-011, Recommended XML/GML 3.1.1 Encoding of Common CRS definitions
XML 1.0 (October 2000), eXtensible Markup Language (XML) 1.0 (2nd edition), World
Wide Web Consortium Recommendation, Bray, T., Paoli, J., Sperberg-McQueen, C.M., andMaler, E., eds., <http://www.w3.org/TR/2000/REC-xml>
4

Terms and definitions

For the purposes of this document, the following terms and definitions apply.
4.1

capabilities
service-level metadata describing the operations and content available at a service instance.
4.2

clientsoftware component that can invoke an operation from a server
4.3

coordinate
one of a sequence of n numbers designating the position of a point in n-dimensional space[ISO 19111]
NOTE

In a coordinate reference system, the n numbers shall be qualified by units.

4.4

coordinate reference systemcoordinate system that is related to an object by a datum[ISO 19111]
4.5

coordinate system
set of mathematical rules for specifying how coordinates are to be assigned to points[ISO 19111]
4.6

coveragefeature that acts as a function to return values from its range for any direct position within its
spatiotemporal domain[ISO 19123]
2

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

4.7

curve
1-dimensional geometric-primitive, representing the continuous image of a line
[ISO 19107]
4.8

datum
parameter or set of parameters that define the position of the origin, the scale, and theorientation of a coordinate system[ISO 19111]
NOTE
A datum may be a geodetic datum, a vertical datum, an engineering datum, animage datum, or a temporal datum.
4.9

domainwell-defined set[ISO/TS 19103]
NOTE 1A mathematical function may be defined on this set, i.e. in a function f:A→B A
is the domain of function f.
NOTE 2

A domain as in domain of discourse refers to a subject or area of interest.

4.10

featureabstraction of real world phenomena[ISO 19101]
NOTE
A feature may occur as a type or an instance. Feature type or feature instanceshould be used when only one is meant.
4.11

functionrule that associates each element from a domain (source, or domain of the function) to aunique element in another domain (target, co-domain, or range)[ISO 19107]
4.12

grid
network composed of two or more sets of curves in which the members of each set intersect
the members of the other sets in an algorithmic way[ISO 19123]
NOTE The curves partition a space into grid cells

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

3

OGC 05-047r3

4.13

input
data provided to a process.
4.14

interface
named set of operations that characterize the behavior of an entity[OGC AS 12]
4.15

map
pictorial representation of geographic data
4.16

objectentity with a well defined boundary and identity that encapsulates state and behaviour[ISO 19107]
NOTE

A GML object is an XML element of a type derived from AbstractGMLType.

4.17

operation
specification of a transformation or query that an object may be called to execute[OGC AS 12]
4.18

outputresult returned by a process
4.19

point
0-dimensional geometric primitive, representing a position[ISO 19107]
NOTE

The boundary of a point is the empty set.

4.20

processmodel or calculation that is made available at a service instance
4.21

range
set of all values a function f can take as its arguments vary over its domain

4

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

4.22

rectified grid
grid for which there is an affine transformation between the grid coordinates and thecoordinates of an external coordinate reference system[ISO 19123]
4.23

requestinvocation of an operation by a client
4.24

response
result of an operation returned from a server to a client
4.25

serveractual implementation of a service
4.26

servicedistinct part of the functionality that is provided by an entity through interfaces[OGC AS 12]
4.27

set
unordered collection of related items (objects or values) with no repetition[ISO 19107]
5

Conventions

5.1

Abbreviated terms

EPSG

European Petroleum Survey GroupGML

Geography Markup Language

IETF

Internet Engineering Task Force

JPEG

Joint Photographic Experts Group

OGC

Open Geospatial Consortium

OWS

OGC Web Service

RFC

Request for Comments

URI

Uniform Resource Identifier

URL

Uniform Resource LocatorXML

Extensible Markup Language

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

5OGC 05-047r3
5.2

Document terms and definitions

The following specification terms and definitions are used in this document:a) shall – verb form used to indicate a requirement to be strictly followed to conform tothis specification, from which no deviation is permittedb) should – verb form used to indicate desirable ability or use, without mentioning or
excluding other possibilitiesc) may – verb form used to indicate an action permissible within the limits of thisspecificationd) can – verb form used for statements of possibilitye) informative – a part of a document that is provided for explanation, but is not requiredf)normative – a part of a standards document that is requiredg) annex – an auxiliary part of a document, called an “appendix” in United States
Englishh) clause – a major part of a document, called a “section” or “paragraph” in UnitedStates Englishi)

subclause – a secondary part of a clause or annex, called a “subsection” in UnitedStates English

6

Roles of GML in JPEG 2000 for Geographic Imagery

6.1

Introduction

This clause describes the roles of GML in JPEG 2000 for Geographic Imagery. The
description of these roles provides the context for the supporting mechanisms described in
Clause 7. When encoding information according to one of the types described in this clausethe corresponding encoding mechanism specified in Clause 7 shall be used.
The primary role of GML in relation to JPEG 2000 is to provide an XML encoding of themetadata necessary to make the JPEG document a georeferenced or geographic image. This isaccomplished by providing, in GML, the description of the image geometry and radiometry.
In addition, GML data can be used, as described in this clause, for the encoding of coverage
metadata, geographic features, annotations, annotation and feature styling, and supporting
components for coordinate reference systems and unit of measure definitions.
6.2

Coverage encoding

Coverage information within a JPEG 2000 image makes the associated JPEG 2000 file into a
coverage or geographic image. Such coverage information is to be encoded in GML per
Clause 7.1. Coverage information includes the following:

6

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3•

Description of the coverage geometry. In most cases this will be a gml:Grid or
gml:RectifiedGrid, but could be any other GML aggregation geometry type (e.g.
MultiPoint).

•

Description of the value side (or range) of the coverage. This corresponds to theradiometry in image terms. Note that a GML-JPEG 2000 geographic “image” could
include Digital Elevation Models, Bathymetry data etc. Description of the range of thecoverage may employ units of measure.

•Description of the mapping of the geometry to the values stored in the JPEG
codestream.

GMLJP2 is intended to handle a variety of imaging use cases including the following:•Single geo-referenced images. GML describes the geometry and the radiometry.

•

Multiple geo-referenced images of the same type. GML describes the geometry andthe radiometry of the constituent images. Examples include a stereo photographic pair,a triangulation block of images, or image mosaics.

•

Multiple geo-referenced images of various types. GML describes the geometry andthe radiometry of the constituent images. Examples include combinations of images
such an optical image, FLIR and SAR images for target identification.

•

Ortho-rectified images with or without associated digital elevation models.

•Digital Elevation Models that incorporate terrain-based constraints.

Coverage descriptions may require an associated GML application schema. Mechanisms forreferencing and/or transporting GML application schemas are discussed in Clause 8.
6.3

Coverage metadataThis clause describes the use of GML to encode metadata about such geographic images. Thisapproach takes a hierarchical view of metadata as shown in Figure 1.

Figure 1 — Metadata hierarchy

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

7

OGC 05-047r3

GML provides a metadata property (gml:metaDataProperty) which can be attached to any
GML object including, of course, a GML coverage. This can either point (via xlink:href) to a
metadata property package expressed via a GML metadata application schema, or enclose abundle of such metadata properties in-line. Note that this can be used to support custom, userdefined metadata schemas or international standards such as ISO 19139. Where ISO 19139 isused, the coverage information described in GML (GML coverage description) takes
precedence over any geometry or radiometric information provided in the ISO 19139
metadata schema. If such information is provided in the metadata schema it is the
responsibility of the data provider to ensure that it is consistent with the coverage descriptions
provided in GML.
6.4

Image annotation

A specific GML application schema is provided for expressing annotations (see Clause 7.3
and 9.). Annotations provide an association between geometric “regions” (0d, 1d, 2d etc.) in
an image and annotation text, imagery, video and feature references. Annotations are intended
to be styled for visual presentation. An Annotation can be thought of as drawing attention tosome “region” of an image.
User defined application schemas are not required for image annotation.
6.5

Geographic features

Geographic features (e.g. features obtained from an image by image interpretation) can bepackaged inside the JPEG 2000 image. Such features may be directly associated with aparticular image in the JPEG 2000 file or may be independent of the image altogether.
Geographic features shall be encoded as GML features and comply with the rules for GML
application schemas as defined in Clause 23 of the GML V3.1.0 Specification (OGC 03105r1). Encoding of features requires an associated GML application schema. Mechanisms
for referencing and/or transporting GML application schemas are discussed in Clause 8.
6.6

Feature and annotation styling

Geographic features in GML express geographic content. Visual presentation of such
geographic features and annotations requires an external styling mechanism to interpret andtransform the GML features and annotations into graphical objects (e.g. SVG). Styling rules
can be expressed using one of the following:

8•

OGC Styled Layer Descriptors (SVG Target)•

GML Default Styling (SVG Target)•XSLT Scripts (SVG Target)

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
6.7

Coordinate reference systems

Coverage geometries and the geometric properties of GML features and annotations include
coordinates which are interpreted within the context of a coordinate reference system (CRS).
According to the rules of GML, the coordinate reference system is specified via URI. This
URI may identify the CRS by reference to an authority and an authority maintained code.
Alternatively, these URI may identify the physical location of a CRS definition.
In those cases where an actual CRS definition is required, GML provides a grammar for
encoding such coordinate reference systems. The coordinate reference system definitions
encoded in GML can then be packaged with the JPEG 2000 data (as for features etc.) andreferenced from the coverage description, or features, or can exist externally. This enables
both network-centric and standalone implementations of GML in JPEG 2000 to be deployed.
Some coordinate reference systems may require use of a GML coordinate reference systemapplication schema. Mechanisms for referencing and/or transporting GML application
schemas are discussed in Clause 8.
6.8

Units of measure

Coverage values and properties of GML features and annotations may employ references tounits of measure (UOM). According to the rules of GML, the units are specified via URI. This
URI may identify the UOM by reference to an authority and an authority maintained code.
Alternatively, these URI may identify the physical location of a UOM definition.
In those cases where an actual UOM definition is required, GML provides a grammar for theencoding of such units of measure. The units of measure definitions encoded in GML can thenbe packaged with the JPEG 2000 data (as for features etc.) and referenced from the coveragedescription, or features, or can exist externally. This enables both network-centric andstandalone implementations of GML in JPEG 2000 to be deployed.
Some units of measure may require use of a GML units of measure application schema.
Mechanisms for referencing and/or transporting GML application schemas are discussed in
Clause 8.
7

Encoding rules for GML in JPEG 2000

7.1

Introduction

This section describes specific rules that SHALL be followed when encoding GML data foruse within JPEG 2000 files.
All GML instance data associated with a specific codestream is contained in a single GML
feature collection (called the codestream specific feature collection), which contains thefollowing:a) GML Coverage objects (ONE only).

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

9OGC 05-047r3b) GML Features (zero or more).
c) GML annotations (zero or more, see Clause 9.)
These may appear in any order in the codestream specific feature collection (i.e. there is norequirement that the coverage object be first).
All codestream specific feature collections are feature members of a top-level/root GML
feature collection (see Clauses 8.1, 8.2). The top-level/root feature collection may also contain
as a feature member, a collection of feature instances that are associated to ALL JPEG 2000
codestreams.
GML metadata is referenced through the gml:metaDataProperty which is attached to one ormore of the objects as above.
GML default styles are referenced through the gml:defaultStyle property which is attached to
one or more of the objects as above.
Instance data for units of measure and coordinate reference system definitions may be
optionally provided. This shall be contained in a Dictionary file which SHALL be valid
against the GML dictionary.xsd.
The GML version of instance data can be determined by referencing a retrievable schema
document; the schema documents required to validate an instance shall be retrievable.
7.2

Coverage description

GML Coverage Descriptions define the associated JPEG 2000 file as a geographic image.
Such coverage descriptions are based directly on the GML coverage.xsd or through the use ofa GML application schema that imports (directly or indirectly) coverage.xsd. There can be
only ONE coverage description instance per codestream, and only ONE coverage description
per codestream specific FeatureCollection. Furthermore, each coverage description SHALL
use gml:RectifiedGrid as its domain. Clause 8.2 provides details on the mapping of coveragedescription instances and codestreams in the multiple codestream case.
The following is an example coverage description:<exp1:AverageTemp dimension="2" gml:id="AT0001"><gml:rectifiedGridDomain><gml:RectifiedGrid dimension="2"><gml:limits><gml:GridEnvelope><gml:low>1 1</gml:low><gml:high>4 4</gml:high></gml:GridEnvelope></gml:limits><gml:axisName>x</gml:axisName><gml:axisName>y</gml:axisName><gml:origin><gml:Point gml:id="P0001"
srsName="gmljp2://xml/crs.gml#crs1123">

10

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:coordinates>1.2 3.4</gml:coordinates></gml:Point></gml:origin><gml:offsetVector srsName="gmljp2://xml/crs.gml#crs1123">12</gml:offsetVector><gml:offsetVector srsName= “gmljp2://xml/crs.gml#crs1123">45</gml:offsetVector></gml:RectifiedGrid></gml:rectifiedGridDomain><gml:rangeSet><gml:File><gml:rangeParameters><exp1:Temperature
uom="gmljp2://xml/uom.gml#degC">template</exp1:Temperature></gml:rangeParameters><gml:fileName>gmljp2://codestream/0</gml:fileName><gml:fileStructure>Record Interleaved</gml:fileStructure></gml:File></gml:rangeSet></exp1:AverageTemp>

This example states that the image is a Temperature coverage on a rectified grid with thetemperature expressed in degrees centigrade.
7.3

Coverage metadata

Metadata about the GMLJP2 coverage is handled using the gml:metaDataProperty. This
property shall point to (i.e. via xlink:href) or include in-line the various metadata properties
and their values. This will require the use of an external schema to define the metadata
properties. This can be user defined or conform to an international standard such as ISO
19139. An example of such a metadata schema is as follows:<!-- =========================================================== --><element name="ImageMetadata" type="app:ImageMetadataType"substitutionGroup="gml:_MetaData"/><!-- =========================================================== --><complexType name="ImageMetadataType" mixed="true"><annotation><documentation>Landsat7 was launched in 1999. It contains seven
spectral bands andpanchromatic band wide swath width (185 km) with 15meter, 30-meter, 60-meter, and 80-meter . It has a 705km sun-synchronous
orbit with a 16 day repeat cycle and contains a nadir-pointing instrument(ETM+ sensor).
</documentation></annotation><complexContent mixed="true"><extension base="gml:AbstractMetaDataType"><sequence><element name="SUN_AZIMUTH" type="gml:MeasureType"minOccurs="0"/><element name="SUN_ELEVATION" type="gml:MeasureType"minOccurs="0"/><element name="QA_PERCENT_MISSING_DATA"
type="gml:MeasureType" minOccurs="0"/><element name="CLOUD_COVER" type="gml:MeasureType"minOccurs="0"/>Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

11

OGC 05-047r3</sequence></extension></complexContent></complexType>The root GML instance that encodes the corresponding metadata is as shown below:<Landsat7Coverage dimension="2"><gml:metaDataProperty><ImageMetadata><SUN_AZIMUTH uom="urn:xIHSDM:v2.05a:uom:angle">114.4699122</SUN_AZIMUTH><SUN_ELEVATION uom="urn:xIHSDM:v2.05a:uom:angle">66.6625502</SUN_ELEVATION><QA_PERCENT_MISSING_DATA
uom="urn:x-IHSDM:v2.05a:uom:percent">66</QA_PERCENT_MISSING_DATA><CLOUD_COVER uom="urn:x-IHSDM:v2.05a:uom:percent">80</CLOUD_COVER></ImageMetadata></gml:metaDataProperty><gml:rectifiedGridDomain><gml:RectifiedGrid dimension="2"
srsName="urn:ogc:def:crs:EPSG:6.6:32612"><gml:limits><gml:GridEnvelope><gml:low>0 0</gml:low><gml:high>17436 15624</gml:high></gml:GridEnvelope></gml:limits><gml:axisName>x</gml:axisName><gml:axisName>y</gml:axisName><gml:origin><gml:Point gml:id="Pt0001"
srsName="urn:ogc:def:crs:EPSG:6.6:32612"><gml:pos>270372.375 270372.375</gml:pos></gml:Point></gml:origin><gml:offsetVector srsName="urn:ogc:def:crs:EPSG:6.6:32612">10</gml:offsetVector><gml:offsetVector srsName="urn:ogc:def:crs:EPSG:6.6:32612">0 1</gml:offsetVector></gml:RectifiedGrid></gml:rectifiedGridDomain><rangeSet><File><gml:rangeParameters><PixelValue8bit>template</PixelValue8bit><!-- PixelValue11bit=template indicates that the values are notstored here but elsewhere, ie fileName property--></gml:rangeParameters><gml:fileName>p037r036_7t20000606_z12_nn10-50.tif</gml:fileName><gml:fileStructure>Record Interleaved</gml:fileStructure><fileDate>2000-06-06</fileDate><fileFormat>geoTIFF</fileFormat><spatialResolution uom="urn:x-si::uom:meter">5</spatialResolution><spectrum>Multispectral</spectrum><bandRange uom="urn:x-si::uom:micrometer">0.45 0.515</bandRange><bandRange uom="urn:x-si::uom:micrometer">0.525 0.605</bandRange>

12

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<bandRange uom="urn:x-si::uom:micrometer">0.630 0.690</bandRange><bandRange uom="urn:x-si::uom:micrometer">0.760 0.900</bandRange><bandRange uom="urn:x-si::uom:micrometer">1.550 1.750</bandRange></File></rangeSet></Landsat7Coverage>

7.4

schemaLocation value

When an XML instance is included in an XML Box of a JPX file, the schema locationreference SHALL be encoded as a GMLJP2 URI (see Clause 8).
When using absolute GMLJP2 URI, the header section of this instance file would appear as in
the following example:<?xml version="1.0" encoding="UTF-8"?><gml:FeatureCollection
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:abc="http://www.ukusa.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:exp1="http://www.spain.org" xmlns:exp2="http://www.france.org"
xsi:schemaLocation="http://www.ukusa.org gmljp2://xml/myMetadata.xsd
http://www.opengis.net/gml
gmljp2://xml/gmlJP2Profile.xsd
http://www.spain.org gmljp2://xml/coverageSchema.xsd
http://www.france.org gmljp2://xml/featureSchema.xsd">….
<gml:FeatureCollection>

When using GMLJP2 URI in its relative form, the header section of this instance file would
appear as:<?xml version="1.0" encoding="UTF-8"?><gml:FeatureCollection
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:abc="http://www.ukusa.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:exp1="http://www.spain.org" xmlns:exp2="http://www.france.org"
xsi:schemaLocation="http://www.ukusa.org myMetadata.xsd
http://www.opengis.net/gml gmlJP2Profile.xsd
http://www.spain.org coverageSchema.xsd
http://www.france.org featureSchema.xsd">…
<gml:FeatureCollection>

Since, in this case, all of the schemas are encoded within the JPEG 2000 file, the decoder
would expect to find schema files in each of the ASSOCIATION boxes with labels
myMetadata.xsd, gmlJP2Profile.xsd, coverageSchema.xsd, and featureSchema.xsd. Note thatlabel text is arbitrary and is constrained only by the syntactical restrictions of the URI (RFC
2396, IETF) and of the label box in JPEG 2000 Part II (JPX).

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

13

OGC 05-047r3
7.5

Minimal instance

The GML Data shall, at the minimum, consist of a root GML feature collection whichcontains as a member, a codestream specific GML feature collection, which in turn contains a
GML Coverage member. This organization of the GML root instance is consistent for both
single and multiple codestream use cases. The simplest RectifiedGridCoverage example given
below does little more than use the coverage domain to geo-rectify the image.
<FeatureCollection
xmlns="http://www.opengis.net/gml"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml gmlJP2Profile.xsd"><boundedBy><Envelope><lowerCorner>270379.500 3942462.000</lowerCorner><upperCorner>518842.500 3942462.000</upperCorner></Envelope></boundedBy><featureMember><FeatureCollection><boundedBy><Envelope><lowerCorner>270379.500 3942462.000</lowerCorner><upperCorner>518842.500 3942462.000</upperCorner></Envelope></boundedBy><featureMember><RectifiedGridCoverage dimension="2" gml:id="RGC0001"><description>This GMLJP2 Minimal Root Instance contains a
GML Rectified Grid. The rectified grid is embedded in a
RectifiedGridCoverage with generic range parameters (to beignored).</description><rectifiedGridDomain><RectifiedGrid dimension="2"><limits><GridEnvelope><low>0 0</low><high>8718 7812</high></GridEnvelope></limits><axisName>x</axisName><axisName>y</axisName><origin><Point gml:id="Pt001"
srsName="urn:ogc:def:crs:EPSG:6.6:32612"><description>"Upper-left" image
origin</description><coordinates>270379.500000,
3942462.000000</coordinates></Point></origin><offsetVector
srsName="urn:ogc:def:crs:EPSG:6.6:32612">28.5 0</offsetVector><offsetVector
srsName="urn:ogc:def:crs:EPSG:6.6:32612">0 28.5</offsetVector>

14

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</RectifiedGrid></rectifiedGridDomain><rangeSet><File><rangeParameters><QuantityList
uom="urn:ogc:def:crs:EPSG:6.6:32612">inapplicable</QuantityList></rangeParameters><fileName>Not Applicable</fileName><fileStructure>Record Interleaved</fileStructure></File></rangeSet><coverageFunction><GridFunction><sequenceRule order="+x-y">Linear</sequenceRule><startPoint>0 7812</startPoint></GridFunction></coverageFunction></RectifiedGridCoverage></featureMember></FeatureCollection></featureMember></FeatureCollection>

Note that the QuantityList value of RangeParameters is set to "inapplicable" and hence therangeSet describes its range parameters in only a generic way.
7.6

Image annotation

7.6.1

Introduction

An annotation is an association between an annotation entity (e.g. a text label—see 7.6.2) andan image or some geometric “region” within the image. The geometric region is defined by a
GML geometry, which can be a point, linestring etc. If no geometric region is defined theannotation applies to the entire image (i.e. JPEG 2000 codestream).
An example Annotation with an association to a geometric region has the form:<Annotation gml:id="AN001"><pointer>…</pointer><content>…</content><annotates><gml:Polygon gml:id="Pl001" srsName="crs.gml#1234"><gml:exterior><gml:LinearRing><gml:pos>22 44</gml:pos><gml:pos>55 77</gml:pos><gml:pos>88 100</gml:pos><gml:pos>22 44</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></annotates></Annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

15

OGC 05-047r3

The pointer property value is a gml:Curve, which is meant to be styled by an arrow or line
symbol and is used to visually represent the annotation association. The content property
value can be either a Label or an Image, which are each annotation entities (c.f. clause 7.4).
The annotates property value is a geometry (Polygon in example above) that represents aregion within the image and is the target of the annotation. Note that the srsName attribute on
the above Polygon specifies the Coordinate Reference System (CRS), which will often be the
Image CRS. The srsName value shown above is in a URI format used to reference resources
located within the JPEG 2000 file (see Clause 8.5). The corresponding schema definition for
the instance fragment above is as follows:<element name="Annotation" type="xima:AnnotationType"/><complexType name="AnnotationType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="pointer" type="gml:CurvePropertyType"minOccurs="0"
maxOccurs="unbounded"/><element ref="xima:content"/><element name="annotates" type="gml:GeometryPropertyType"/></sequence></extension></complexContent></complexType><element name="content"><complexType><sequence><element ref="xima:_AnnotationBase" maxOccurs="unbounded"/></sequence></complexType></element>

Annotation meta data can be added using the gml:metaDataProperty to describe the author,
data of creation, and certainty (with corresponding rationale for the certainty) of the data. A
PointOfInterest is a specialized type of Annotation that defines a relationship between an
annotation entity and a gml:Point in an image is given as an example.
<PointOfInterest gml:id="POI001"><gml:metaDataProperty><AnnotationMetaData><title>Some point of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>medium</certainty><rationale>proximity of point is a close match to that of known
building</rationale></AnnotationMetaData></gml:metaDataProperty><pointer>…</pointer><content>…</content><annotates><gml:Point gml:id="Pt001" srsName="crs.gml#1234">

16

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:pos>30 30</gml:pos></gml:Point></annotates></PointOfInterest>

Note that the rationale property shall occur together with the certainty property or not at all(which is enforced at the schema level.) The schema fragment for AnnotationMetaData is asfollows:<element name="AnnotationMetaData" substitutionGroup="gml:_MetaData"><complexType mixed="true"><complexContent mixed="true"><extension base="gml:AbstractMetaDataType"><sequence><group ref="xima:properties"/></sequence></extension></complexContent></complexType></element><group name="properties"><sequence><element ref="xima:title" minOccurs="0"/><element ref="xima:author" minOccurs="0"/><element ref="xima:dateTime" minOccurs="0"/><sequence minOccurs="0"><element ref="xima:certainty"/><element ref="xima:rationale" minOccurs="0"/></sequence></sequence></group><element name="title" type="string"/><element name="author" type="string"/><element name="dateTime" type="dateTime"/><element name="certainty" type="string"/><element name="rationale" type="string"/>

The specialized types of Annotation defined in annotation.xsd are summarized in thefollowing table:
Table 1 — Specialized annotations
Element Name

Target of Annotation Association

PointOfInterest

gml:Point

CurveOfInterest

gml:Curve

RegionOfInterest

gml:Polygon

FeatureOfInterest

gml:Feature

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

17

OGC 05-047r3

Annotation

7.6.2

gml:_Geometry

Annotation entities

An annotation entity is the source of an annotation association that relates this to a geometrictarget within the image. The annotation entities defined in annotation.xsd are Label andImage, which are derived ultimately from gml:AbstractFeatureType and represent a text label
and another image, respectively. In the figure below a text label “My House” is the annotation
entity.

My House

Figure 2 — Annotation entity (point and callout)
In the figure below an image (photo of a building) is used as the annotation entity.

18

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Figure 3 — Annotation entity (photo callout)
7.6.3

Annotation and feature styling

The gml:defaultStyle property can be used to style the corresponding geometry contained
within the pointer, content and annotates properties. Examples of each of these annotation
entities are given in the remainder of this clause.
An example encoding is given for the PointOfInterest annotation using a Label annotation
entity as follows:<PointOfInterest gml:id="POI001"><gml:defaultStyle><!--Style overlays (blue) line symbol on top of Annotation/pointervalue--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:featureConstraint>@gml:id="S5S2S0307301844141"</gml:featureConstraint><gml:geometryStyle><gml:GeometryStyle geometryProperty="pointer"geometryType="gml:LineString"><gml:symbol symbolType="svg"><svg style=" stroke:blue;stroke-width:5"/></gml:symbol><gml:style>stroke:blue;stroke-width:5</gml:style></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><gml:defaultStyle>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

19

OGC 05-047r3<!--Style overlays point (star) symbol on annotates property value--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="annotates"
geometryType="gml:Point"><gml:symbol symbolType="svg"xlink:href="http://symbology.com/stars.svg#Star01"/></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content><Label><gml:defaultStyle><!--Style creates text label--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="Label"queryGrammar="xpath"><gml:labelStyle><gml:LabelStyle><gml:style>font-family:Verdana;fontsize:18</gml:style><gml:label><gml:LabelExpression>./xima:textContent</gml:LabelExpression></gml:label></gml:LabelStyle></gml:labelStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><xima:textContent>My House</xima:textContent><xima:anchorPoint><gml:Point gml:id="Pt001" srsName="crs.gml#1234"><gml:pos>0 10</gml:pos></gml:Point></xima:anchorPoint></Label></content><annotates><gml:Point gml:id="Pt001" srsName="crs.gml#1234"><gml:pos>30 30</gml:pos></gml:Point></annotates>

20

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</PointOfInterest>

In the following example encoding an Image annotation entity is used:<PointOfInterest gml:id="POI002"><gml:defaultStyle><!--Style overlays (blue) line symbol on top of Annotation/pointervalue--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="pointer"geometryType="gml:LineString"><gml:symbol symbolType="svg"><svg style=" stroke:blue;stroke-width:5"/></gml:symbol></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><gml:defaultStyle><!--Style overlays point (star) symbol on annotates property value--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="annotates"
geometryType="gml:Point"><gml:symbol symbolType="svg"xlink:href="http://symbology.com/stars.svg#Star01"/></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content><Image><gml:defaultStyle><!--Style places image file inside boundary Envelope--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="Image"queryGrammar="xpath"><gml:geometryStyle>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

21

OGC 05-047r3<gml:GeometryStyle geometryProperty="xima:boundary"geometryType="gml:Envelope"><gml:style>stroke:maroon;strokewidth:5</gml:style></gml:GeometryStyle></gml:geometryStyle><gml:geometryStyle><gml:GeometryStyle geometryProperty="xima:boundary"geometryType="gml:Envelope"><gml:symbol symbolType="other" xlink:href="file///c/BuildingPhoto.jpg "/></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><xima:fileURI>file///c/BuildingPhoto.jpg</xima:fileURI><xima:boundary><gml:Envelope><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>20 20</gml:upperCorner></gml:Envelope></xima:boundary></Image></content><annotates><gml:Point gml:id="Pt001" srsName="crs.gml#1234"><gml:pos>30 30</gml:pos></gml:Point></annotates></PointOfInterest>

7.7

Coordinate reference systems

References to Coordinate Reference Systems (CRS) may take one of the following forms:•

Reference to an authority and authority maintained code•

Reference to CRS definition

In those cases where a CRS is identified by reference to an authority and code, it SHALL be
identified by URN as per OGC document 05-010 (URNs of Definitions in OGC Namespace).
CRS definitions may be optionally included as dictionary entries in an XML box (see Clause
8.) within the JPEG 2000 file. These SHALL be encoded in GML as per OGC document 05011 (Recommended XML/GML 3.1.1 Encoding of Common CRS definitions) and may
depend on additional CRS application schemas.
7.8

Units of measure

References to Units of Measure (UOM) may take one of the following forms:•
22

Reference to an authority and authority maintained code
Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3•

Reference to UOM definition

In those cases where a UOM is identified by reference to an authority and code, it SHALL be
identified by URN as per OGC document 05-010 (URNs of Definitions in OGC Namespace).
Units of Measure definitions may be optionally included as dictionary entries in an XML box(see Clause 8.) within the JPEG 2000 file. These shall be encoded in GML and may dependon additional UOM application schemas.
8
8.1

Packaging GML in JPEG 2000
Introduction

This clause describes the mechanisms for packaging GML instance data and GML application
schemas inside JPEG 2000 data files. It also provides rules for encoding references between
GML instances and GML application schemas, and between GML instances. Finally it
provides the rules for associating GML coverage descriptions (see Clause 6.1 and 7.1) and
JPEG 2000 codestreams.
JPEG 2000 Part I defines several box types, including an “xml” box, for storing dataassociated with codestreams. JPEG 2000 Part II defines several additional box types,
including a “label” box and an “association” box. This specification makes use of these threebox types in order to store and reference GML data in the JPEG 2000 file.
All GML instance, schema, and dictionary data is stored in XML boxes. In order to allow
references between these XML boxes, each XML box is associated with a label inside of an
association box. This label serves as an identifier by which the XML data can be referenced.
Because JPEG 2000 Part I does not include either the label or association boxes, essential
requirements for addressing XML boxes, all GMLJP2 files SHALL implement the JPX fileformat as defined in the JPEG 2000 Part II (ISO/IEC 15444-2:2004, JPEG 2000 image coding
system: Extensions) specification, to the extent required to support those box types.
Additionally it is recommended that GMLJP2 files are written as JP2 compatible by including
the string “jp2” within the compatibility list of the File Type box (see ISO/IEC 15444-1
Annex I).
It is recommended that, according to ISO/IEC JTC 1/SC 29/WG1 N2887; clause 3.2 signaling, the presence of GML data in a JPX file should be signaled using the Reader
Requirements box (defined in ISO/IEC 15444-2 Annex M) with a value of 67 meaning thatthe file contains GML data based on the OGC standard.
8.2

Single codestream caseA single JPEG 2000 codestream is used to represent a single geographic image. The GML
data (instance data, schemas) associated within this codestream is contained in an association
box as shown in Figure 4.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

23

OGC 05-047r3
ASOC
asoc
label

“gml.data”

ASOC

label “gml.root-instancexml

instance data

ASOC
label

xml

Unique-name”
schema data

ASOC
label

xml

Unique-name”
dictionary data…

Figure 4 — Packaging of GML for a single codestream
The single “outer” association box contains a box-first which is a label box. This shall containthe label “gml.data”.
The outer association box shall contain at least one additional association box containing
GML instance data. This association box shall have a box-first that is a label box with thelabel gml.root-instance and an XML box. This XML box may only contain GML instancedata for the following items:•

Coverage description (see Clause 6.1 and 7.1)•

Metadata instances (see Clause 6.2 and 7.2)•

Annotation instances (see Clause 6.3 and 7.3)•

Feature instances (see Clause 6.4 and 7.4)

The box labelled gml.root-instance shall not contain XML schemas and shall not contain CRS
nor units of measure dictionary instances.
Any number of association boxes may follow the gml.root-instance box. Each of theassociation boxes, other than the gml.root-instance and gml.data boxes, shall have a label (thebox-first shall be a label box in each case). The value of the label is any value allowed by
JPEG 2000 Part II. This label is used in references to the XML box content using themechanism described in Clause 8.5.

24

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

The GML Root Instance data for the single codestream case consists of a root GML featurecollection that contains codestream specific feature collections as members. These nested
GML feature collections are as shown in Figure 5.
<abc:RootFeatureCollection>…
<gml:featureMember><abc:SpecificFeatureCollection>…
<gml:featureMember><gml:RectifiedGridCoverage>…
</gml:RectifiedGridCoverage></gml:featureMember><gml:featureMember><gml:FeatureInstance1>…
</gml:FeatureInstance1></gml:featureMember><gml:featureMember><gml:FeatureInstance2>…
</gml:FeatureInstance2></gml:featureMember>…
</abc:SpecificFeatureCollection></gml:featureMember></abc:RootFeatureCollection>

Image
Metadata

AssociatedFeatures andAnnotation

Figure 5 — Single codestream root instance data in XML Box
The minimal structure for the Single Codestream (= single image) case is then as shown in
Figure 6.
asoc
asoc
label “gml.data”
asoclabel “gml.root-instancexml

instance data

Figure 6 — Minimal packaging of GML for a single codestream
Note that the instance box SHALL contain the following:•

GML Coverage Description, whose domain is a gml:RectifiedGrid .

The instance box MAY contain zero or more of the following:•

Coverage metadata. This SHALL be referenced by the GML metaDataProperty fromthe Coverage description.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

25

OGC 05-047r3•

Image Annotations (per the GML Annotation Schema described in Appendix A).

Note that the instance box SHALL not contain dictionary definitions for Coordinate
Reference Systems, nor for Units of Measure. If these are to be supplied then an additional
dictionary box shall be provided as in Figure 4.
8.3

Multiple codestreams case

The multiple codestream encoding enables multiple image of the same or different type
(different geometry, different radiometry) to be packaged in a single JPEG 2000 file. Stereo
image pairs, triangulation blocks, orthoimagery with associated digital elevation models, andmulti-source image assessment are examples of the use of multiple codestreams.
The structure of the JPEG 2000 file for the multiple codestream case is shown in Figure
Figure 7.
label“gml.data”

asoc

ASOC

label
xml

“gml.root-instanceinstance data

ASOC
label
xml

“<unique-id>”
schema data

ASOC
label

xml
xml

“<unique-id>”
dictionary data…

Figure 7 — Packaging of GML for multiple codestreams
The single “outer” association box contains a box-first which is a label box. This shall containthe label gml.data.
The outer association box shall contain at least one additional association box containing the
GML associated to each codestream. This association box shall have a box-first that is a label
box with the label gml.root-instance and an XML box. The gml.root-instance XML box
SHALL contain the following:•

Coverage description for the associated codestream that uses a gml:RectifiedGrid
domain (see Clause 6.1 and 7.1).

The gml.root-instance XML box MAY contain zero or more the following:•

26

Coverage metadata. This SHALL be referenced by the GML metaDataProperty fromthe Coverage description.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3•

Image Annotations (per the GML Annotation Schema described in Clause 9).

•

Associated geographic features (expressed as GML features)

The box labelled gml.root-instance shall not contain XML schemas and shall not contain CRS
nor units of measure dictionary instances.
Any number of association boxes may follow the gml.root-instance box. Each of theassociation boxes, other than the gml.root-instance and gml.data boxes shall have a label (thebox-first shall be a label box in each case). The value of the label is any value allowed by
JPEG 2000 Part II. This label will be used in references to the XML box content using themechanism described in Section 8.5.
The GML Root Instance data for the multiple codestream case consists of nested GML featurecollections as shown in Figure 8.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

27

OGC 05-047r3<abc:RootFeatureCollection>…
<gml:featureMember><abc:SpecificFeatureCollection1>…
<gml:featureMember><gml:RectifiedGridCoverage>…
</gml:RectifiedGridCoverage></gml:featureMember><gml:featureMember><abc:FeatureInstance1>…
</abc:FeatureInstance1></gml:featureMember><gml:featureMember><abc:FeatureInstance2>…
</abc:FeatureInstance2></gml:featureMember>…
</abc:SpecificFeatureCollection1></gml:featureMember>…
<gml:featureMember><abc:SpecificFeatureCollectionN>…
<gml:featureMember><gml:RectifiedGridCoverage>…
</gml:RectifiedGridCoverage></gml:featureMember><gml:featureMember><def:FeatureInstance1>…
</def:FeatureInstance1></gml:featureMember><gml:featureMember><def:FeatureInstance2>…
</def:FeatureInstance2></gml:featureMember>…
</abc:SpecificFeatureCollectionN></gml:featureMember></abc:RootFeatureCollection>

Image1
Metadata

Features andAnnotation
associatedwith Image1

ImageN
Metadata

Features andAnnotation
associatedwith ImageN

Figure 8 — Multiple codestreams example root instance data in XML Box
The minimal box structure in the multiple codestream case is shown in Figure 9.

28

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

label“gml.data”

ASOC

asoc

label
xml

“gml.root-instanceinstance data

Figure 9 — Minimal packaging of GML for multiple codestreams
8.4

References to XML schemas

GML instance data may reference a supporting XML Schema (GML Application Schema)
through the XML Schema, schema location attribute (xsi:schemaLocation) whose value is alist of URI pairs (namespace, schemaLocation). When used in JPEG 2000 files theschemaLocation attribute is mandatory and SHALL comply with the following:•

Reference to the schemaLocation shall be by URI using the GMLJP2 URI convention
described in Section 8.5, where such references refer to schemas within the JPEG 2000
file.

The GMLJP2 file processor shall follow the assessment rules for schemas as laid out in XML
Schema Specification, Part I Structures, Section 4.3.2 How Schemas are located on the Web,
Schema Representation Constraint: Schema Document Location Strategy. For convenience
these rules are repeated here:“Given a namespace name (or none) and (optionally) a URI reference fromxsi:schemaLocation or xsi:noNamespaceSchemaLocation, schema-aware processors may
implement any combination of the following strategies, in any order:
1. Do nothing, for instance because a schema containing components for the given
namespace name is already known to be available, or because it is known in advancethat no efforts to locate schema documents will be successful (for example inembedded systems);
2. Based on the location URI, identify an existing schema document, either as a resource
which is an XML document or a <schema> element information item, in some local
schema repository;
3. Based on the namespace name, identify an existing schema document, either as aresource which is an XML document or a <schema> element information item, insome local schema repository;
4. Attempt to resolve the location URI, to locate a resource on the web which is orcontains or references a <schema> element;
5. Attempt to resolve the namespace name to locate such a resource.
Whenever possible configuration and/or invocation options for selecting and/or ordering theimplemented strategies should be provided.”

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

29

OGC 05-047r3
8.5

References to XML instances

GML instance data in the root-instance box and in the dictionary instance box may reference
GML data, other XML data, or non-XML data through the use of URI references (e.g.
xlink:href, gml:uom, gml:srsName, gml:resultOf). Where such references point to data within
the JPEG 2000 file, the URI shall be encoded in accordance with Clause 8.5. Note that
instances (e.g. GML elements) can only be referenced within labeled boxes.
8.6

URI references within JPEG 2000 files

8.6.1

Introduction

This subclause describes the GMLJP2 URI syntax, a URI structure for references to schemas
and instance elements that reside within the JPEG 2000 file. GMLJP2 URIs are required for
ALL references from within GML instance data within the JPEG 2000 file as described in
Clause 8.3 and Clause 8.4.
The structure of the GMLJP2 URI is as follows:
gmljp2://[resource.type]/[resource.id][#fragment-identifier]where•“gmljp2” is the URI scheme•

resource.type is one ofo xml
o codestream

8.6.2

•

values for resource.id depend upon the value of resource.type, as explained below
in clauses 8.5.1-2•

values for fragment-identifier depends on the value of resource.type

The "xml" resource.type

URIs with "xml" resource.type identify a particular XML data box in the JPEG 2000 file.
These URIs have the following form:
gmljp2://xml/[label]
gmljp2://xml/[label]#[id]where [label] identifies a labeled XML box within the gml.data box, and [id] is a GML id of
an element inside the XML. If [id] is omitted, then the URI refers to the entire XML
document.

30

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

GML instance documents may use URIs of this form to import schema, dictionary entries, orother XML data stored in the gml.data box.
EXAMPLE 1 gmljp2://xml/myschema.xsd
Identifies a schema in the labeled XML box "myschema.xsd".
EXAMPLE 2 gmljp2://xml/uom.xml
Identifies a UOM dictionary in the labeled XML box "uom.xml".
EXAMPLE 3 gmljp2://xml/uom.xml#meter
Identifies the meter entry in the UOM dictionary in the labeled XML box "uom.xml".

8.6.3

The "codestream" resource.type

URIs with "codestream" resource.type identify a particular codestream. These URIs have thefollowing form:
gmljp2://codestream/[codestream-number]where [codestream-number] is an integer, greater than or equal to 0, that identifies a particularcodestream in the JPEG 2000 file.
GML instance documents may use URIs of this form to refer to a particular codestream in the
file.
EXAMPLE 1 gmljp2://codestream/0
Identifies the first codestream in the file.
EXAMPLE 2 gmljp2://codestream/1
Identifies the second codestream in the file.

8.6.4

Relative and absolute forms

The gmljp2 URI scheme supports a hierarchical naming system as specified in IETF RFC
2396. Thus the gmljp2 URI can be used in absolute and relative forms.
EXAMPLE 1 gmljp2://xml/gml.root-instance.xsd
Absolute URI that identifies the root instance GML document.
EXAMPLE 2 uom.xml
Relative URI that resolves to gmljp2://xml/uom.xml when interpreted against a base URI
gmljp2://xml/gml.root-instance.xsd.
EXAMPLE 3
uom.xml#uom121
Relative URI with fragment identifier that resolves to gmljp2://xml/uom.xml#uom121 when interpreted against abase URI gmljp2://xml/gml.root-instance.xsd.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

31

OGC 05-047r3

Annex A
(informative)
Annotation schema

The GML application schema for Annotation to be used within a JPEG 2000 file is listed
below. This schema is draws largely from the discussion paper “XML for Image and Map
Annotation”, OGC Document 01-019. Example Annotation instances are given in Annex B.
<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xima="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"targetNamespace="http://www.opengis.net/xima"
elementFormDefault="qualified" attributeFormDefault="unqualified"><!--=============================================--><import namespace="http://www.opengis.net/gml"
schemaLocation="../gmlJP2Profile.xsd"/><import namespace="http://www.w3.org/1999/xlink"
schemaLocation="../../../../../../xlink/1.0.0/xlinks.xsd"/><!--=============================================--><element name="_Annotation" type="xima:AnnotationType" abstract="true"
substitutionGroup="gml:_Feature"/><!--=============================================--><element name="Annotation" type="xima:AnnotationType"substitutionGroup="xima:_Annotation"/><!--=============================================--><complexType name="AnnotationType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:GeometryPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="AbstractAnnotation" type="xima:AbstractAnnotationType"abstract="true"/><!--=============================================--><complexType name="AbstractAnnotationType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="pointer" type="gml:CurvePropertyType"minOccurs="0" maxOccurs="unbounded"/><element ref="xima:content"/>

32

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</sequence></extension></complexContent></complexType><!--=============================================--><element name="content"><complexType><sequence><element ref="xima:_AnnotationBase" maxOccurs="unbounded"/></sequence></complexType></element><!--=============================================--><element name="_AnnotationBase" type="xima:AnnotationBaseType"abstract="true" substitutionGroup="gml:_Feature"/><!--=============================================--><complexType name="AnnotationBaseType"><complexContent><extension base="xima:AbstractAnnotationBaseType"><sequence><element ref="gml:defaultStyle" minOccurs="0"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!--=============================================--><complexType name="AbstractAnnotationBaseType"><complexContent><restriction base="gml:AbstractFeatureType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:description" minOccurs="0"/><element ref="gml:name" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Multiple names may be provided. These
will often be distinguished by being assigned by different authorities, as
indicated by the value of the codeSpace attribute. In an instance document
there will usually only be one name per authority. </documentation></annotation></element></sequence></restriction></complexContent></complexType><!--=============================================--><element name="Label" type="xima:LabelType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Label is a means of placing text relative to a
specific geographic location. The appearance of the label is determined by
the associated style.
</documentation></annotation></element><!--=============================================-->

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

33

OGC 05-047r3<complexType name="LabelType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="textContent" type="string"/><element name="anchorPoint" type="gml:PointPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="Image" type="xima:ImageType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Image is a means of placing an image relative to a
specific geometric location. The appearance of the image is determined by
the associated style.
</documentation></annotation></element><!--=============================================--><complexType name="ImageType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="fileURI" type="anyURI"/><element name="boundary" type="xima:EnvelopePropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><complexType name="EnvelopePropertyType"><sequence><element ref="gml:Envelope"/></sequence></complexType><!--=============================================--><element name="PointOfInterest" type="xima:PointOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
PointOfInterest is a means of indicating a point ofinterest on an image or map or in a geographic dataset. No specific feature
is attached to the point in question. The PointOfInterest can have an arrow(pointing at the POI) and a Label or Image.
</documentation></annotation></element><!--=============================================--><complexType name="PointOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:PointPropertyType"/></sequence></extension>

34

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</complexContent></complexType><!--=============================================--><element name="CurveOfInterest" type="xima:CurveOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
CurveOfInterest is a means of indicating a curve ofinterest on an image or map or in a geographic dataset. No specific feature
is attached to the curve in question. The CurveOfInterest can have an arrow
and a Label or Image.
</documentation></annotation></element><!--=============================================--><complexType name="CurveOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:CurvePropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="RegionOfInterest" type="xima:RegionOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Region of interest is a means of hi-lighting a
region on an image or map. The region is bounded by a polygon, may have an
indicator arrow, and either Label or Image.
</documentation></annotation></element><!--=============================================--><complexType name="RegionOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:PolygonPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="FeatureOfInterest" type="xima:FeatureOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Feature of interest is a means of hi-lighting afeature on an image or map. The feature is indicated by an arrow Label or
Image. </documentation></annotation></element><!--=============================================--><complexType name="FeatureOfInterestType"><complexContent>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

35

OGC 05-047r3<extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:GeometryPropertyType"/><element ref="gml:featureMember" minOccurs="0"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="AnnotationMetaData" substitutionGroup="gml:_MetaData"><complexType mixed="true"><complexContent mixed="true"><extension base="gml:AbstractMetaDataType"><sequence><group ref="xima:properties"/></sequence></extension></complexContent></complexType></element><!--=============================================--><group name="properties"><sequence><element ref="xima:title" minOccurs="0"/><element ref="xima:author" minOccurs="0"/><element ref="xima:dateTime" minOccurs="0"/><sequence minOccurs="0"><element ref="xima:certainty"/><element ref="xima:rationale" minOccurs="0"/></sequence></sequence></group><!--=============================================--><element name="title" type="string"/><element name="author" type="string"/><element name="dateTime" type="dateTime"/><element name="certainty" type="string"/><element name="rationale" type="string"/><!--=============================================--></schema>

36

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Annex B(informative)
Annotation instances

B.1

GeneralExample annotation instances that validate against annotation.xsd (Annex A) are listed in
Subclauses B.2 to B.6.
B.2

pointOfInterest.xml<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><PointOfInterest gml:id="POI001" xmlns="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/xima annotation.xsd"><gml:metaDataProperty><AnnotationMetaData><title>Some point of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>medium</certainty><rationale>proximity of point is a close match to that of known
building</rationale></AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style overlays some arrow or line symbol on top of
Annotation/pointer value--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="pointer"geometryType="gml:LineString"><gml:style>stroke:blue;stroke-width:5</gml:style></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

37

OGC 05-047r3<gml:defaultStyle><!--Style overlays point symbol on annotates property value--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="PointOfInterest"
queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="annotates"
geometryType="gml:Point"><gml:symbol symbolType="svg"xlink:href="http://symbology.com/stars.svg#Star01"/></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content><Image><gml:defaultStyle><!--Stylel places image file inside boundary Envelope--><gml:Style><gml:featureStyle><gml:FeatureStyle featureType="Image"queryGrammar="xpath"><gml:geometryStyle><gml:GeometryStyle geometryProperty="xima:boundary"geometryType="gml:Envelope"><gml:style>stroke:maroon;strokewidth:5</gml:style></gml:GeometryStyle></gml:geometryStyle><gml:geometryStyle><gml:GeometryStyle geometryProperty="xima:boundary"geometryType="gml:Envelope"><gml:symbol symbolType="other"
xlink:href="file///c/BuildingPhoto.jpg"/></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><xima:fileURI>file///c/BuildingPhoto.jpg</xima:fileURI><xima:boundary><gml:Envelope><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>20 20</gml:upperCorner></gml:Envelope></xima:boundary></Image>38

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</content><annotates><gml:Point gml:id="Pt001" srsName="gmljp2://xml/crs.gml#id"><gml:pos>30 30</gml:pos></gml:Point></annotates></PointOfInterest>

B.3

curveOfInterest.xml<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><CurveOfInterest gml:id="COI001" xmlns="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/xima annotation.xsd"><gml:metaDataProperty><AnnotationMetaData><title>A curve of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>medium</certainty><rationale>shape of polygon is a close match to that of known
region of interest</rationale></AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will overlay line symbol(s) on annotates property value--></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content><Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint at someangle--></gml:defaultStyle><xima:textContent>Text Describing Curve ofInterest</xima:textContent><xima:anchorPoint><gml:Point gml:id="Pt001" srsName="gmljp2://xml/crs.gml#id"><gml:pos>0 10</gml:pos></gml:Point>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

39

OGC 05-047r3</xima:anchorPoint></Label></content><annotates><gml:LineString gml:id="L002"><gml:pos>22 44</gml:pos><gml:pos>55 77</gml:pos><gml:pos>88 100</gml:pos></gml:LineString></annotates></CurveOfInterest>

B.4

regionOfInterest.xml<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><RegionOfInterest gml:id="ROI001" xmlns="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/xima annotation.xsd"><gml:metaDataProperty><AnnotationMetaData><title>A single region of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>medium</certainty><rationale>shape of polygon is a close match to that of known
region of interest</rationale></AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will fill in Polygon in annotates property value--></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content><Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint at someangle--></gml:defaultStyle><xima:textContent>Text Describing Region ofInterest</xima:textContent>

40

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<xima:anchorPoint><gml:Point gml:id="Pt001" srsName="gmljp2://xml/crs.gml#id"><gml:pos>0 10</gml:pos></gml:Point></xima:anchorPoint></Label></content><annotates><gml:Polygon gml:id="Pl001"><gml:exterior><gml:LinearRing><gml:pos>22 44</gml:pos><gml:pos>55 77</gml:pos><gml:pos>88 100</gml:pos><gml:pos>22 44</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></annotates></RegionOfInterest>

B.5

featureOfInterest.xml<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><FeatureOfInterest gml:id="FOI001" xmlns="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/xima annotation.xsd"><gml:metaDataProperty><AnnotationMetaData><title>A building feature of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>high</certainty></AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will overlay point symbol on annotates property value--></gml:defaultStyle><pointer><gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><content>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

41

OGC 05-047r3<Image><gml:defaultStyle><!--Style will place image file inside boundary Envelope--></gml:defaultStyle><xima:fileURI>file///c/BuildingPhoto.jpg</xima:fileURI><xima:boundary><gml:Envelope><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>20 20</gml:upperCorner></gml:Envelope></xima:boundary></Image></content><annotates><gml:Point gml:id="Pt001" srsName="gmljp2://xml/crs.gml#id"><gml:pos>30 30</gml:pos></gml:Point></annotates><gml:featureMember xlink:href="www.abc.com/building.xml#B001"/></FeatureOfInterest>

B.6

annotation.xml<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><Annotation gml:id="AN001" xmlns="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/xima annotation.xsd"><gml:metaDataProperty><AnnotationMetaData><title>Two regions of interest</title><author>Author Name</author><dateTime>2004-12-12T01:01:01</dateTime><certainty>medium</certainty><rationale>shape of polygons and proximity are a close match tothat of known regions of interest</rationale></AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will overlay some other arrow or line symbol on top of theother Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will fill in member Polygons in annotates MultiPolygon
property value--></gml:defaultStyle><pointer>42

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:LineString gml:id="L001"><gml:pos>12 34</gml:pos><gml:pos>45 36</gml:pos><gml:pos>78 34</gml:pos></gml:LineString></pointer><pointer><gml:LineString gml:id="L002"><gml:pos>102 34</gml:pos><gml:pos>135 36</gml:pos><gml:pos>168 34</gml:pos></gml:LineString></pointer><content><Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint at someangle--></gml:defaultStyle><xima:textContent>Text Describing Region1 ofInterest</xima:textContent><xima:anchorPoint><gml:Point gml:id="Pt001" srsName="gmljp2://xml/crs.gml#id"><gml:pos>0 10</gml:pos></gml:Point></xima:anchorPoint></Label><Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint at someangle--></gml:defaultStyle><xima:textContent>Text Describing Region2 ofInterest</xima:textContent><xima:anchorPoint><gml:Point gml:id="Pt002" srsName="gmljp2://xml/crs.gml#id"><gml:pos>90 10</gml:pos></gml:Point></xima:anchorPoint></Label></content><annotates><gml:MultiSurface gml:id="MP001" srsName="gmljp2://xml/crs.gml#id"><gml:surfaceMember><gml:Polygon gml:id="Pl001"><gml:exterior><gml:LinearRing><gml:pos>22 44</gml:pos><gml:pos>55 77</gml:pos><gml:pos>88 100</gml:pos><gml:pos>22 44</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember><gml:surfaceMember><gml:Polygon gml:id="Pl002"><gml:exterior>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

43

OGC 05-047r3<gml:LinearRing><gml:pos>102 34</gml:pos><gml:pos>135 67</gml:pos><gml:pos>168 90</gml:pos><gml:pos>102 34</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></annotates></Annotation>

44

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Annex C
(informative)
Single and multiple schemas and instances

C.1

GeneralExample application schemas are given in Clauses C.2 and C.4 corresponding to a Single
Code Stream and Multiple Code Stream, respectively. Corresponding example instances for asingle and multiple code streams are given in Clauses C.3 and C.5.
C.2
C.2.1

Example Application Schemas for single code stream
landsat7Coverage.xsd<?xml version="1.0" encoding="UTF-8"?><schema xmlns:app="http://www.opengis.net/app"
xmlns:gml="http://www.opengis.net/gml"
xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.opengis.net/app" elementFormDefault="qualified"version="2.06"><!-- When packaged in jpx file the import statements will be replaced by
the following<import namespace="http://www.opengis.net/gml"
schemaLocation="gmljp2://xml/gmlJP2Profile.xsd"/><import namespace="http://www.opengis.net/xima"
schemaLocation="gmljp2://xml/landsat7Annotation.xsd"/>--><import namespace="http://www.opengis.net/gml"
schemaLocation="../gmlJP2Profile.xsd"/><import namespace="http://www.opengis.net/xima"
schemaLocation="landsat7Annotation.xsd"/><!-- ==============================================================
global declarations=================================================================== --><element name="Landsat7Coverage" type="app:Landsat7CoverageType"substitutionGroup="gml:_Coverage"/><!-- ==============================================================--><complexType name="Landsat7CoverageType"><annotation><documentation>Landsat7 was launched in 1999. It contains seven
spectral bands andpanchromatic band wide swath width (185 km) with 15meter, 30-meter, 60-meter, and 80-meter . It has a 705km sun-synchronous
orbit with a 16 day repeat cycle and contains a nadir-pointing instrument(ETM+ sensor).
ETM+ data were compiled through NASA's Commercial Remote Sensing Program;
this program is cooperative effort between NASA and the commercial remotesensing community to provide with access to quality-screened, high-Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

45

OGC 05-047r3
resolution satellite images with global over the Earth's land masses. The
resulting Landsat Enhanced Thematic Mapper (ETM+) data set contains
orthorectified ETM+ sensor data from the Landsat-7 satellite. the ETM+
images most closely meeting a specific set of criteria, including
acquisition , cloud percentage, data quality parameters, and best available
phenology, were for the collection. The Landsat ETM+ data were provided by
the USGS and through a NASA contract with Earth Satellite Corporation,
Rockville, , and are part of NASA's Scientific Data Purchase program,developed in response the President's Space Policy.
</documentation></annotation><complexContent><restriction base="gml:RectifiedGridCoverageType"><sequence><group ref="gml:StandardObjectProperties"/><element ref="gml:boundedBy" minOccurs="0"/><element ref="gml:rectifiedGridDomain"/><element ref="app:rangeSet"/><element ref="gml:coverageFunction" minOccurs="0"/></sequence></restriction></complexContent></complexType><!-- =========================================================== --><element name="rangeSet" type="app:FileRangeSetType"substitutionGroup="gml:rangeSet"/><!-- =========================================================== --><complexType name="FileRangeSetType"><complexContent><restriction base="gml:RangeSetType"><sequence><element ref="app:File"/></sequence></restriction></complexContent></complexType><!-- =========================================================== --><element name="File" substitutionGroup="gml:File"><complexType><complexContent><extension base="gml:FileType"><sequence><element name="fileDate" type="date" minOccurs="0"/><element name="fileFormat" type="string" fixed="geoTIFF"
minOccurs="0"/><element name="spatialResolution"
type="gml:MeasureType"/><element name="spectrum"
type="app:SpectralResolutionEnumeration"/><element name="bandRange" type="gml:MeasureListType"
maxOccurs="5"/></sequence></extension></complexContent></complexType></element><!-- ==============================================================--><simpleType name="SpectralResolutionEnumeration">46

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<annotation><documentation>Spectral Resolution ( ), Band Spatial Resolution
Band 1: 0.450 - 0.515 (Blue), 30 meters
Band 2: 0.525 - 0.605 (Green), 30 meters
Band 3: 0.630 - 0.690 (Red), 30 meters
Band 4: 0.760 - 0.900 (Near IR), 30 meters
Band 5: 1.550 - 1.750 (Mid IR), 30 meters
Band 6: 10.40 - 12.5 (Thermal), 60 meters
Band 7: 2.080 - 2.35 (Mid IR), 30 meters
Band 8: 0.52 - 0.92 (Panchromatic), 15 meters</documentation></annotation><restriction base="string"><enumeration value="Panchromatic"/><enumeration value="Panchromatic sharpened"/><enumeration value="Multispectral"/></restriction></simpleType><!-- ==============================================================--><element name="PixelValue8bit" type="gml:integerOrNullList"
substitutionGroup="gml:CountList"><annotation><documentation>
GeoTIFF image data is delivered as an 8-bit string of unsigned
integers.</documentation></annotation></element><!-- =========================================================== --><element name="ImageMetadata" type="app:ImageMetadataType"substitutionGroup="gml:_MetaData"/><!-- =========================================================== --><complexType name="ImageMetadataType" mixed="true"><annotation><documentation>Landsat7 was launched in 1999. It contains seven
spectral bands andpanchromatic band wide swath width (185 km) with 15meter, 30-meter, 60-meter, and 80-meter . It has a 705km sun-synchronous
orbit with a 16 day repeat cycle and contains a nadir-pointing instrument(ETM+ sensor).
</documentation></annotation><complexContent mixed="true"><extension base="gml:AbstractMetaDataType"><sequence><element name="SUN_AZIMUTH" type="gml:MeasureType"minOccurs="0"/><element name="SUN_ELEVATION" type="gml:MeasureType"minOccurs="0"/><element name="QA_PERCENT_MISSING_DATA"
type="gml:MeasureType" minOccurs="0"/><element name="CLOUD_COVER" type="gml:MeasureType"minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ==============================================================--></schema>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

47

OGC 05-047r3
C.2.2

landsat7Annotation.xsd<?xml version="1.0" encoding="UTF-8"?><schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xima="http://www.opengis.net/xima"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"targetNamespace="http://www.opengis.net/xima"
elementFormDefault="qualified" attributeFormDefault="unqualified"><!--=============================================--><!-- When packaged in jpx file the import statements will be replaced by
the following<import namespace="http://www.opengis.net/gml"
schemaLocation="gmljp2://xml/gmlJP2Profile.xsd"/><import namespace=" http://www.w3.org/1999/xlink "schemaLocation="gmljp2://xml/xlinks.xsd"/>--><import namespace="http://www.opengis.net/gml"
schemaLocation="../gmlJP2Profile.xsd"/><import namespace="http://www.w3.org/1999/xlink"
schemaLocation="../../../../../../xlink/1.0.0/xlinks.xsd"/><!--=============================================--><element name="_Annotation" type="xima:AnnotationType" abstract="true"
substitutionGroup="gml:_Feature"/><!--=============================================--><element name="Annotation" type="xima:AnnotationType"substitutionGroup="xima:_Annotation"/><!--=============================================--><complexType name="AnnotationType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:GeometryPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="AbstractAnnotation" type="xima:AbstractAnnotationType"abstract="true"/><!--=============================================--><complexType name="AbstractAnnotationType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="pointer" type="gml:CurvePropertyType"minOccurs="0" maxOccurs="unbounded"/><element ref="xima:content"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="content"><complexType><sequence>48

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element ref="xima:_AnnotationBase" maxOccurs="unbounded"/></sequence></complexType></element><!--=============================================--><element name="_AnnotationBase" type="xima:AnnotationBaseType"abstract="true" substitutionGroup="gml:_Feature"/><!--=============================================--><complexType name="AnnotationBaseType"><complexContent><extension base="xima:AbstractAnnotationBaseType"><sequence><element ref="gml:defaultStyle" minOccurs="0"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!--=============================================--><complexType name="AbstractAnnotationBaseType"><complexContent><restriction base="gml:AbstractFeatureType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:description" minOccurs="0"/><element ref="gml:name" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Multiple names may be provided. These
will often be distinguished by being assigned by different authorities, as
indicated by the value of the codeSpace attribute. In an instance document
there will usually only be one name per authority. </documentation></annotation></element></sequence></restriction></complexContent></complexType><!--=============================================--><element name="Label" type="xima:LabelType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Label is a means of placing text relative to a
specific geographic location. The appearance of the label is determined by
the associated style.
</documentation></annotation></element><!--=============================================--><complexType name="LabelType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="textContent" type="string"/><element name="anchorPoint" type="gml:PointPropertyType"/></sequence></extension>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

49

OGC 05-047r3</complexContent></complexType><!--=============================================--><element name="Image" type="xima:ImageType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Image is a means of placing an image relative to a
specific geometric location. The appearance of the image is determined by
the associated style.
</documentation></annotation></element><!--=============================================--><complexType name="ImageType"><complexContent><extension base="xima:AnnotationBaseType"><sequence><element name="fileURI" type="anyURI"/><element name="boundary" type="xima:EnvelopePropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><complexType name="EnvelopePropertyType"><sequence><element ref="gml:Envelope"/></sequence></complexType><!--=============================================--><element name="PointOfInterest" type="xima:PointOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
PointOfInterest is a means of indicating a point ofinterest on an image or map or in a geographic dataset. No specific feature
is attached to the point in question. The PointOfInterest can have an arrow(pointing at the POI) and a Label or Image.</documentation></annotation></element><!--=============================================--><complexType name="PointOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:PointPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><!-<element name="pointer" type="gml:CurvePropertyType"minOccurs="0" maxOccurs="unbounded"/><element ref="xima:content"/><element name="annotates" type="gml:GeometryPropertyType"/>-->50

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!--=============================================--><element name="CurveOfInterest" type="xima:CurveOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
CurveOfInterest is a means of indicating a curve ofinterest on an image or map or in a geographic dataset. No specific feature
is attached to the curve in question. The CurveOfInterest can have an arrow
and a Label or Image.
</documentation></annotation></element><!--=============================================--><complexType name="CurveOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:CurvePropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="RegionOfInterest" type="xima:RegionOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Region of interest is a means of hi-lighting a
region on an image or map. The region is bounded by a polygon, may have an
indicator arrow, and either Label or Image.
</documentation></annotation></element><!--=============================================--><complexType name="RegionOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence><element name="annotates" type="gml:PolygonPropertyType"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="FeatureOfInterest" type="xima:FeatureOfInterestType"substitutionGroup="xima:_AnnotationBase"><annotation><documentation>
Feature of interest is a means of hi-lighting afeature on an image or map. The feature is indicated by an arrow Label or
Image.
</documentation></annotation></element><!--=============================================--><complexType name="FeatureOfInterestType"><complexContent><extension base="xima:AbstractAnnotationType"><sequence>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

51

OGC 05-047r3<element ref="gml:featureMember" minOccurs="0"/></sequence></extension></complexContent></complexType><!--=============================================--><element name="AnnotationMetaData" substitutionGroup="gml:_MetaData"><complexType mixed="true"><complexContent mixed="true"><extension base="gml:AbstractMetaDataType"><sequence><group ref="xima:properties"/></sequence></extension></complexContent></complexType></element><!--=============================================--><group name="properties"><sequence><element ref="xima:title" minOccurs="0"/><element ref="xima:author" minOccurs="0"/><element ref="xima:dateTime" minOccurs="0"/><sequence minOccurs="0"><element ref="xima:certainty"/><element ref="xima:rationale" minOccurs="0"/></sequence></sequence></group><!--=============================================--><element name="title" type="string"/><element name="author" type="string"/><element name="dateTime" type="dateTime"/><element name="certainty" type="string"/><element name="rationale" type="string"/><!--=============================================--></schema>

C.3

Example root instance for single code stream - landsat7Instance.xml<?xml version="1.0" encoding="UTF-8"?><gml:FeatureCollection xmlns="http://www.opengis.net/app"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xima="http://www.opengis.net/xima"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.opengis.net/app landsat7Coverage.xsd"><gml:boundedBy><gml:Envelope><gml:lowerCorner>270379.500 3942462.000</gml:lowerCorner><gml:upperCorner>518842.500 3942462.000</gml:upperCorner></gml:Envelope></gml:boundedBy><gml:featureMember><gml:FeatureCollection><gml:boundedBy>

52

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:Envelope><gml:lowerCorner>270379.500 3942462.000</gml:lowerCorner><gml:upperCorner>518842.500 3942462.000</gml:upperCorner></gml:Envelope></gml:boundedBy><gml:featureMember><Landsat7Coverage dimension="2"><gml:metaDataProperty><ImageMetadata><SUN_AZIMUTH uom="urn:xIHSDM:v2.05a:uom:angle">114.4699122</SUN_AZIMUTH><SUN_ELEVATION uom="urn:xIHSDM:v2.05a:uom:angle">66.6625502</SUN_ELEVATION><QA_PERCENT_MISSING_DATA uom="urn:xIHSDM:v2.05a:uom:percent">66</QA_PERCENT_MISSING_DATA><CLOUD_COVER uom="urn:xIHSDM:v2.05a:uom:percent">80</CLOUD_COVER></ImageMetadata></gml:metaDataProperty><gml:rectifiedGridDomain><gml:RectifiedGrid dimension="2"
srsName="urn:ogc:def:crs:EPSG:6.6:32612"><gml:limits><gml:GridEnvelope><gml:low>0 0</gml:low><gml:high>17436 15624</gml:high></gml:GridEnvelope></gml:limits><gml:axisName>x</gml:axisName><gml:axisName>y</gml:axisName><gml:origin><gml:Point gml:id="Pt0001"
srsName="urn:ogc:def:crs:EPSG:6.6:32612"><gml:pos>270372.375 270372.375</gml:pos></gml:Point></gml:origin><gml:offsetVector
srsName="urn:ogc:def:crs:EPSG:6.6:32612">1 0</gml:offsetVector><gml:offsetVector
srsName="urn:ogc:def:crs:EPSG:6.6:32612">0 -1</gml:offsetVector></gml:RectifiedGrid></gml:rectifiedGridDomain><rangeSet><File><gml:rangeParameters><PixelValue8bit>template</PixelValue8bit><!-- PixelValue11bit=template indicates that thevalues are not stored here but elsewhere, ie fileName property--></gml:rangeParameters><gml:fileName>p037r036_7t20000606_z12_nn1050.tif</gml:fileName><gml:fileStructure>Record
Interleaved</gml:fileStructure><fileDate>2000-06-06</fileDate><fileFormat>geoTIFF</fileFormat><spatialResolution uom="urn:xsi::uom:meter">5</spatialResolution><spectrum>Multispectral</spectrum>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

53

OGC 05-047r3<bandRange uom="urn:x-si::uom:micrometer">0.45
0.515</bandRange><bandRange uom="urn:x-si::uom:micrometer">0.525
0.605</bandRange><bandRange uom="urn:x-si::uom:micrometer">0.630
0.690</bandRange><bandRange uom="urn:x-si::uom:micrometer">0.760
0.900</bandRange><bandRange uom="urn:x-si::uom:micrometer">1.550
1.750</bandRange></File></rangeSet></Landsat7Coverage></gml:featureMember></gml:FeatureCollection></gml:featureMember><gml:featureMember><xima:Annotation gml:id="AN001"><gml:metaDataProperty><xima:AnnotationMetaData><xima:title>One region of interest</xima:title><xima:author>Trent Hare</xima:author><xima:dateTime>2005-05-01T01:01:01</xima:dateTime><xima:certainty>medium</xima:certainty><xima:rationale>Text labels for feature</xima:rationale></xima:AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><xima:pointer><gml:LineString gml:id="L001"><gml:pos>442998.260667344 3894606.5069172</gml:pos><gml:pos>442998.260667344 3894606.5069172</gml:pos></gml:LineString></xima:pointer><xima:content><xima:Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint atsome angle--></gml:defaultStyle><xima:textContent>Flagstaff Labael</xima:textContent><xima:anchorPoint><gml:Point gml:id="FLagstaff"
srsName="urn:jp2k:label002:xml:crs:6.6:32612"><gml:pos>442998.260667344 3894606.5069172</gml:pos></gml:Point></xima:anchorPoint></xima:Label></xima:content><xima:annotates><gml:MultiSurface gml:id="MP001"
srsName="urn:jp2k:label002:xml:crs:6.6:32612"><gml:surfaceMember><gml:Polygon gml:id="Pl001"><gml:exterior>

54

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:LinearRing><gml:pos>442998.260667344
3894606.5069172</gml:pos><gml:pos>442998.360667344
3894606.5069172</gml:pos><gml:pos>442998.360667344
3894606.6069172</gml:pos><gml:pos>442998.260667344
3894606.6069172</gml:pos><gml:pos>442998.260667344
3894606.5069172</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></xima:annotates></xima:Annotation></gml:featureMember><gml:featureMember><xima:RegionOfInterest gml:id="ROI001"><gml:metaDataProperty><xima:AnnotationMetaData><xima:title>A single region of interest surrounding
Flagstaff</xima:title><xima:author>Trent Hare</xima:author><xima:dateTime>2005-05-01T01:01:01</xima:dateTime><xima:certainty>medium</xima:certainty><xima:rationale>shape of polygon is a close match to that ofknown region of interest</xima:rationale></xima:AnnotationMetaData></gml:metaDataProperty><gml:defaultStyle><!--Style will overlay some arrow or line symbol on top of
Annotation/pointer value--></gml:defaultStyle><gml:defaultStyle><!--Style will fill in Polygon in annotates property value--></gml:defaultStyle><xima:content><xima:Label><gml:defaultStyle><!--Style will place textContent value at anchorPoint atsome angle--></gml:defaultStyle><xima:textContent>Flagstaff Region ofInterest</xima:textContent><xima:anchorPoint><gml:Point gml:id="FlagstaffROI"
srsName="urn:jp2k:label002:xml:crs:6.6:32612"><gml:pos>436844.466922572 3900673.34724654</gml:pos></gml:Point></xima:anchorPoint></xima:Label></xima:content><xima:annotates><gml:Polygon gml:id="Flag001"><gml:exterior>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

55

OGC 05-047r3<gml:LinearRing><gml:pos>439044.081300382 3895104.11084315</gml:pos><gml:pos>439683.685481163 3897475.32634264</gml:pos><gml:pos>439418.483747669 3898972.93613178</gml:pos><gml:pos>441852.099655033 3898130.53062539</gml:pos><gml:pos>445767.725249575 3898614.13378647</gml:pos><gml:pos>448232.541360881 3900673.34724654</gml:pos><gml:pos>449589.750232294 3897927.72929977</gml:pos><gml:pos>446750.531673702 3892935.69666928</gml:pos><gml:pos>444394.916276189 3894464.50666237</gml:pos><gml:pos>438357.676813689 3889909.27688705</gml:pos><gml:pos>436844.466922572 3894199.30492888</gml:pos><gml:pos>439044.081300382 3895104.11084315</gml:pos></gml:LinearRing></gml:exterior></gml:Polygon></xima:annotates></xima:RegionOfInterest></gml:featureMember></gml:FeatureCollection>

C.4

Example Application Schemas for multiple code streams - r3dCoverage.xsd<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:gml="http://www.opengis.net/gml"
xmlns:r3d="http://www.spotimage.com/Ref3D"
xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.spotimage.com/Ref3D"
elementFormDefault="qualified" attributeFormDefault="unqualified"version="1.0"><xs:import namespace="http://www.opengis.net/gml"
schemaLocation="../gmlJP2Profile.xsd"/><!--=============================================================--><!--Elements ======================================================--><xs:element name="R3DOrthoCoverage" type="r3d:R3DOrthoCoverageType"substitutionGroup="gml:_Coverage"/><xs:element name="rangeSet" type="r3d:FileRangeSetType"substitutionGroup="gml:rangeSet"/><xs:element name="PixelValue8bit" type="gml:integerOrNullList"
substitutionGroup="gml:CountList"/><xs:element name="PixelValue16bit" type="gml:integerOrNullList"
substitutionGroup="gml:CountList"/><xs:element name="File" substitutionGroup="gml:File"><xs:complexType><xs:complexContent><xs:extension base="gml:FileType"><xs:sequence><xs:element name="fileDate" type="xs:date"
minOccurs="0"/><xs:element name="fileFormat" type="xs:string"
minOccurs="0"/><xs:element name="bandDescription" maxOccurs="4"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="Mosaicked Monospectral"/><xs:enumeration value="Elevation"/>56

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:element><!--Annotation elements ============================================--><xs:element name="_Annotation" type="r3d:AnnotationType" abstract="true"
substitutionGroup="gml:_Feature"/><xs:element name="_AnnotationBase" type="r3d:AnnotationBaseType"abstract="true" substitutionGroup="gml:_Feature"/><xs:element name="content"><xs:complexType><xs:sequence><xs:element ref="r3d:_AnnotationBase" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="Label" type="r3d:LabelType"substitutionGroup="r3d:_AnnotationBase"/><xs:element name="RegionOfInterest" type="r3d:RegionOfInterestType"substitutionGroup="r3d:_Annotation"/><!--=============================================================--><!--Complex types =================================================--><xs:complexType name="FileRangeSetType"><xs:complexContent><xs:restriction base="gml:RangeSetType"><xs:sequence><xs:element ref="r3d:File"/></xs:sequence></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="R3DOrthoCoverageType"><xs:complexContent><xs:restriction base="gml:RectifiedGridCoverageType"><xs:sequence><xs:group ref="gml:StandardObjectProperties"/><xs:element ref="gml:boundedBy" minOccurs="0"/><xs:element ref="gml:rectifiedGridDomain"/><xs:element ref="r3d:rangeSet"/><xs:element ref="gml:coverageFunction" minOccurs="0"/></xs:sequence></xs:restriction></xs:complexContent></xs:complexType><!--Annotation complex types ========================================--><xs:complexType name="AbstractAnnotationBaseType"><xs:complexContent><xs:restriction base="gml:AbstractFeatureType"><xs:sequence><xs:sequence><xs:group ref="gml:StandardObjectProperties"/></xs:sequence><xs:sequence><xs:element ref="gml:boundedBy" minOccurs="0"/>Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

57

OGC 05-047r3<xs:element ref="gml:location" minOccurs="0"><xs:annotation><xs:appinfo>deprecated</xs:appinfo><xs:documentation>deprecated in GML version
3.1</xs:documentation></xs:annotation></xs:element></xs:sequence></xs:sequence></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="AnnotationBaseType"><xs:complexContent><xs:extension base="r3d:AbstractAnnotationBaseType"><xs:sequence><xs:element ref="gml:defaultStyle" maxOccurs="unbounded"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="AnnotationType"><xs:complexContent><xs:extension base="r3d:AnnotationBaseType"><xs:sequence/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="LabelType"><xs:complexContent><xs:extension base="r3d:AnnotationBaseType"><xs:sequence><xs:element name="textContent" type="xs:string"/><xs:element name="anchorPoint"
type="gml:PointPropertyType"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="RegionOfInterestType"><xs:complexContent><xs:extension base="r3d:AnnotationType"><xs:sequence><xs:element ref="r3d:content"/><xs:element name="annotates"
type="gml:PolygonPropertyType"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:schema>

C.5

Example instance for multiple code streams - r3dDemOrthoInstance.xml<?xml version="1.0" encoding="utf-8"?>58

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:FeatureCollection xmlns:gml="http://www.opengis.net/gml"
xmlns:iso="http://metadata.dgiwg.org/smXML"
xmlns:r3d="http://www.spotimage.com/Ref3D"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml ../gmlJP2Profile.xsd
http://www.spotimage.com/Ref3D r3dCoverage.xsd"><gml:description>GML/JPEG2000 Root Instance of Spot Image
DEM</gml:description><gml:boundedBy><gml:Null>withheld</gml:Null></gml:boundedBy><gml:featureMember><gml:FeatureCollection><gml:name>Ref3D DEM</gml:name><gml:boundedBy><gml:Null>withheld</gml:Null></gml:boundedBy><gml:featureMember><r3d:R3DOrthoCoverage dimension="2"><gml:rectifiedGridDomain><gml:RectifiedGrid dimension="2"><gml:limits><gml:GridEnvelope><gml:low>0 0</gml:low><gml:high>3601 3601</gml:high></gml:GridEnvelope></gml:limits><gml:axisName>x</gml:axisName><gml:axisName>y</gml:axisName><gml:origin><gml:Point srsName="urn:ogc:def:epsg:6.6:crs:4326"><gml:pos>116.35 33.28</gml:pos></gml:Point></gml:origin><gml:offsetVector>1 0</gml:offsetVector><gml:offsetVector>0 1</gml:offsetVector></gml:RectifiedGrid></gml:rectifiedGridDomain><r3d:rangeSet><r3d:File><gml:rangeParameters><r3d:PixelValue8bit/></gml:rangeParameters><gml:fileName>DEM.TIF</gml:fileName><!--fileName value will change to the following URI
when packaged in the jpx file
<gml:fileName>gmljp2://codestream/0</gml:fileName>--><gml:fileStructure>Record
Interleaved</gml:fileStructure><r3d:fileDate>2003-11-27</r3d:fileDate><r3d:fileFormat>geoTIFF</r3d:fileFormat><r3d:bandDescription>Elevation</r3d:bandDescription></r3d:File></r3d:rangeSet></r3d:R3DOrthoCoverage></gml:featureMember></gml:FeatureCollection></gml:featureMember>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

59

OGC 05-047r3<gml:featureMember><gml:FeatureCollection><gml:description>GML/JPEG2000 Root Instance of Spot Imageorthoimage with Region Of Interest</gml:description><gml:boundedBy><gml:Null>withheld</gml:Null></gml:boundedBy><gml:featureMember><gml:FeatureCollection><gml:name>Ref3D orthoimage</gml:name><gml:boundedBy><gml:Null>withheld</gml:Null></gml:boundedBy><gml:featureMember><r3d:R3DOrthoCoverage dimension="2"><gml:rectifiedGridDomain><gml:RectifiedGrid dimension="2"><gml:limits><gml:GridEnvelope><gml:low>0 0</gml:low><gml:high>636 497</gml:high></gml:GridEnvelope></gml:limits><gml:axisName>x</gml:axisName><gml:axisName>y</gml:axisName><gml:origin><gml:Point
srsName="urn:EPSG:geographicCRS:4326"><gml:pos>116.35 33.28</gml:pos></gml:Point></gml:origin><gml:offsetVector>00000.166667
0</gml:offsetVector><gml:offsetVector>000000.166667</gml:offsetVector></gml:RectifiedGrid></gml:rectifiedGridDomain><r3d:rangeSet><r3d:File><gml:rangeParameters><r3d:PixelValue8bit/></gml:rangeParameters><gml:fileName>OR.TIF</gml:fileName><!--fileName value will change to the following
URI when packaged in the jpx file
<gml:fileName>gmljp2://codestream/1</gml:fileName>--><gml:fileStructure>Record
Interleaved</gml:fileStructure><r3d:fileDate>2003-11-27</r3d:fileDate><r3d:fileFormat>geoTIFF</r3d:fileFormat><r3d:bandDescription>Mosaicked
Monospectral</r3d:bandDescription></r3d:File></r3d:rangeSet></r3d:R3DOrthoCoverage></gml:featureMember><gml:featureMember>

60

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<r3d:RegionOfInterest gml:id="S5S2S0307301844141"><gml:defaultStyle><gml:Style><gml:featureStyle><gml:FeatureStyle
featureType="r3d:RegionOfInterest" queryGrammar="xpath"><gml:featureConstraint>@gml:id="S5S2S0307301844141"</gml:featureConstraint><gml:geometryStyle><gml:GeometryStyle
geometryProperty="r3d:annotates" geometryType="gml:Polygon"><gml:symbol symbolType="svg"><svg style="fill:red;strokewidth:1;stroke:red"/></gml:symbol></gml:GeometryStyle></gml:geometryStyle></gml:FeatureStyle></gml:featureStyle></gml:Style></gml:defaultStyle><r3d:content><r3d:Label><gml:defaultStyle/><r3d:textContent>S5S2S0307301844141</r3d:textContent><r3d:anchorPoint><gml:Point><gml:pos>-116.9995938367 32.2687541104</gml:pos></gml:Point></r3d:anchorPoint></r3d:Label></r3d:content><r3d:annotates><gml:Polygon srsName="urn:EPSG:geographicCRS:4326"><gml:interior><gml:LinearRing><gml:pos>-116.9995938367 32.2687541104</gml:pos><gml:pos>-116.9962604561 32.2687541104</gml:pos><gml:pos> -116.9962604561 32.2695874555</gml:pos><gml:pos> -116.9954271872 32.2695874555</gml:pos><gml:pos> -116.9954271872 32.2704208007</gml:pos><gml:pos> -116.9945938039 32.2704208007</gml:pos><gml:pos> -116.9945938039 32.2712541077</gml:pos><gml:pos> -116.9845938528 32.2712541077</gml:pos><gml:pos> -116.9845938528 32.2720874529</gml:pos>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

61

OGC 05-047r3<gml:pos> -116.9837604695 32.2720874529</gml:pos><gml:pos> -116.9837604695 32.2729207980</gml:pos><gml:pos> -116.9829272007 32.2729207980</gml:pos><gml:pos> -116.9829272007 32.2737541050</gml:pos><gml:pos> -116.9820938174 32.2737541050</gml:pos><gml:pos> -116.9820938174 32.2745874502</gml:pos><gml:pos> -116.9812604340 32.2745874502</gml:pos><gml:pos> -116.9812604340 32.2754207953</gml:pos><gml:pos> -116.9804272034 32.2754207953</gml:pos><gml:pos> -116.9804272034 32.2795874448</gml:pos><gml:pos> -116.9795938200 32.2795874448</gml:pos><gml:pos> -116.9795938200 32.2820874421</gml:pos><gml:pos> -116.9787605512 32.2820874421</gml:pos><gml:pos> -116.9787605512 32.2829207873</gml:pos><gml:pos> -116.9770937846 32.2829207873</gml:pos><gml:pos> -116.9770937846 32.2854207846</gml:pos><gml:pos> -116.9779271679 32.2854207846</gml:pos><gml:pos> -116.9779271679 32.2887540889</gml:pos><gml:pos> -116.9770937846 32.2887540889</gml:pos><gml:pos> -116.9770937846 32.2912540862</gml:pos><gml:pos> -116.9762605157 32.2912540862</gml:pos><gml:pos> -116.9762605157 32.2995874233</gml:pos><gml:pos> -116.9787605512 32.2995874233</gml:pos><gml:pos> -116.9787605512 32.3029207658</gml:pos><gml:pos> -116.9804272034 32.3029207658</gml:pos><gml:pos> -116.9804272034 32.3045874179</gml:pos><gml:pos> -116.9820938174 32.3045874179</gml:pos><gml:pos> -116.9820938174 32.3145874072</gml:pos><gml:pos> -116.9804272034 32.3145874072</gml:pos>62

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:pos> -116.9804272034 32.3220874182</gml:pos><gml:pos> -116.9795938200 32.3220874182</gml:pos><gml:pos> -116.9795938200 32.3237540703</gml:pos><gml:pos> -116.9787605512 32.3237540703</gml:pos><gml:pos> -116.9787605512 32.3245874155</gml:pos><gml:pos> -116.9779271679 32.3245874155</gml:pos><gml:pos> -116.9779271679 32.3279207198</gml:pos><gml:pos> -116.9770937846 32.3279207198</gml:pos><gml:pos> -116.9770937846 32.3287540650</gml:pos><gml:pos> -116.9762605157 32.3287540650</gml:pos><gml:pos> -116.9762605157 32.3295874101</gml:pos><gml:pos> -116.9754271706 32.3295874101</gml:pos><gml:pos> -116.9754271706 32.3370874021</gml:pos><gml:pos> -116.9737605184 32.3370874021</gml:pos><gml:pos> -116.9737605184 32.3379207091</gml:pos><gml:pos> -116.9729271351 32.3379207091</gml:pos><gml:pos> -116.9729271351 32.3387540542</gml:pos><gml:pos> -116.9704270996 32.3387540542</gml:pos><gml:pos> -116.9704270996 32.3420873967</gml:pos><gml:pos> -116.9687604856 32.3420873967</gml:pos><gml:pos> -116.9687604856 32.3470873913</gml:pos><gml:pos> -116.9679272168 32.3470873913</gml:pos><gml:pos> -116.9679272168 32.3487540435</gml:pos><gml:pos> -116.9670938335 32.3487540435</gml:pos><gml:pos> -116.9670938335 32.3504207242</gml:pos><gml:pos> -116.9662604502 32.3504207242</gml:pos><gml:pos> -116.9662604502 32.3512540408</gml:pos><gml:pos> -116.9645938362 32.3512540408</gml:pos><gml:pos> -116.9645938362 32.3520873859</gml:pos>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

63

OGC 05-047r3<gml:pos> -116.9637605673 32.3520873859</gml:pos><gml:pos> -116.9637605673 32.3529207216</gml:pos><gml:pos> -116.9629271840 32.3529207216</gml:pos><gml:pos> -116.9629271840 32.3537540381</gml:pos><gml:pos> -116.9604271485 32.3537540381</gml:pos><gml:pos> -116.9604271485 32.3545873832</gml:pos><gml:pos> -116.9529272329 32.3545873832</gml:pos><gml:pos> -116.9529272329 32.3554207189</gml:pos><gml:pos> -116.9520938496 32.3554207189</gml:pos><gml:pos> -116.9520938496 32.3654207081</gml:pos><gml:pos> -116.9512604663 32.3654207081</gml:pos><gml:pos> -116.9512604663 32.3662540247</gml:pos><gml:pos> -116.9504271975 32.3662540247</gml:pos><gml:pos> -116.9504271975 32.3670873603</gml:pos><gml:pos> -116.9495938141 32.3670873603</gml:pos><gml:pos> -116.9495938141 32.3679207054</gml:pos><gml:pos> -116.9479272001 32.3679207054</gml:pos><gml:pos> -116.9479272001 32.3687540220</gml:pos><gml:pos> -116.9470938168 32.3687540220</gml:pos><gml:pos> -116.9470938168 32.3712540193</gml:pos><gml:pos> -116.9462605480 32.3712540193</gml:pos><gml:pos> -116.9462605480 32.3720873549</gml:pos><gml:pos> -116.9454271647 32.3720873549</gml:pos><gml:pos> -116.9454271647 32.3829206893</gml:pos><gml:pos> -116.9445938958 32.3829206893</gml:pos><gml:pos> -116.9445938958 32.3879206839</gml:pos><gml:pos>-116.9429271674 32.3879206839</gml:pos><gml:pos> -116.9429271674 32.4004206705</gml:pos><gml:pos> -116.9420938985 32.4004206705</gml:pos>64

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:pos> -116.9420938985 32.4020873513</gml:pos><gml:pos> -116.9404272464 32.4020873513</gml:pos><gml:pos> -116.9404272464 32.4029206678</gml:pos><gml:pos> -116.9395938630 32.4029206678</gml:pos><gml:pos> -116.9395938630 32.4037540034</gml:pos><gml:pos> -116.9379272491 32.4037540034</gml:pos><gml:pos> -116.9379272491 32.4045873486</gml:pos><gml:pos> -116.9329271781 32.4045873486</gml:pos><gml:pos> -116.9329271781 32.4087539980</gml:pos><gml:pos> -116.9312605641 32.4087539980</gml:pos><gml:pos> -116.9312605641 32.4129206475</gml:pos><gml:pos> -116.9304271808 32.4129206475</gml:pos><gml:pos> -116.9304271808 32.4304206621</gml:pos><gml:pos> -116.9312605641 32.4304206621</gml:pos><gml:pos> -116.9312605641 32.4354206519</gml:pos><gml:pos> -116.9329271781 32.4354206519</gml:pos><gml:pos> -116.9329271781 32.4395873062</gml:pos><gml:pos> -116.9337605614 32.4395873062</gml:pos><gml:pos> -116.9337605614 32.4429206153</gml:pos><gml:pos> -116.9345938303 32.4429206153</gml:pos><gml:pos> -116.9345938303 32.4620873082</gml:pos><gml:pos> -116.9337605614 32.4620873082</gml:pos><gml:pos> -116.9337605614 32.4837539067</gml:pos><gml:pos> -116.9345938303 32.4837539067</gml:pos><gml:pos> -116.9345938303 32.4979206062</gml:pos><gml:pos> -116.9354272136 32.4979206062</gml:pos><gml:pos> -116.9354272136 32.4987539485</gml:pos><gml:pos> -116.9362605969 32.4987539485</gml:pos><gml:pos> -116.9362605969 32.4995872306</gml:pos>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

65

OGC 05-047r3<gml:pos> -116.9379272491 32.4995872306</gml:pos><gml:pos> -116.9379272491 32.5004205729</gml:pos><gml:pos> -116.9387604797 32.5004205729</gml:pos><gml:pos> -116.9387604797 32.5062539093</gml:pos><gml:pos> -116.9395938630 32.5062539093</gml:pos><gml:pos> -116.9395938630 32.5162538968</gml:pos><gml:pos> -116.9404272464 32.5162538968</gml:pos><gml:pos> -116.9404272464 32.5362538729</gml:pos><gml:pos> -116.9395938630 32.5362538729</gml:pos><gml:pos> -116.9395938630 32.5454205194</gml:pos><gml:pos> -116.9412605152 32.5454205194</gml:pos><gml:pos> -116.9412605152 32.5495872309</gml:pos><gml:pos> -116.9429271674 32.5495872309</gml:pos><gml:pos> -116.9429271674 32.5537538803</gml:pos><gml:pos> -116.9437605125 32.5537538803</gml:pos><gml:pos> -116.9437605125 32.5554205659</gml:pos><gml:pos> -116.9445938958 32.5554205659</gml:pos><gml:pos> -116.9445938958 32.5654205504</gml:pos><gml:pos> -116.9437605125 32.5654205504</gml:pos><gml:pos> -116.9437605125 32.5737538541</gml:pos><gml:pos> -116.9429271674 32.5737538541</gml:pos><gml:pos> -116.9429271674 32.5745871992</gml:pos><gml:pos> -116.9420938985 32.5745871992</gml:pos><gml:pos> -116.9420938985 32.5762538228</gml:pos><gml:pos> -116.9404272464 32.5762538228</gml:pos><gml:pos> -116.9404272464 32.5929204922</gml:pos><gml:pos> -116.9395938630 32.5929204922</gml:pos><gml:pos> -116.9395938630 32.5937538278</gml:pos><gml:pos> -116.9379272491 32.5937538278</gml:pos>

66

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:pos> -116.9379272491 32.5945871730</gml:pos><gml:pos> -116.9362605969 32.5945871730</gml:pos><gml:pos> -116.9362605969 32.5962538537</gml:pos><gml:pos> -116.9304271808 32.5962538537</gml:pos><gml:pos> -116.9304271808 32.6104204924</gml:pos><gml:pos> -116.9312605641 32.6104204924</gml:pos><gml:pos> -116.9312605641 32.6229204504</gml:pos><gml:pos> -116.9304271808 32.6229204504</gml:pos><gml:pos> -116.9304271808 32.6237537955</gml:pos><gml:pos> -116.9287605286 32.6237537955</gml:pos><gml:pos> -116.9287605286 32.6379204915</gml:pos><gml:pos> -116.9304271808 -32.6379204915</gml:pos><gml:pos>-116.9304271808 32.6454204548</gml:pos><gml:pos> -116.9312605641 32.6454204548</gml:pos><gml:pos> -116.9312605641 32.6462538000</gml:pos><gml:pos> -116.9320938330 32.6462538000</gml:pos><gml:pos> -116.9320938330 32.6537537538</gml:pos><gml:pos> -116.9312605641 32.6537537538</gml:pos><gml:pos> -116.9312605641 32.6554204441</gml:pos><gml:pos> -116.9304271808 32.6554204441</gml:pos><gml:pos> -116.9304271808 32.7129204013</gml:pos><gml:pos> -116.9312605641 32.7129204013</gml:pos><gml:pos> -116.9312605641 32.7279203852</gml:pos><gml:pos> -116.9320938330 32.7279203852</gml:pos><gml:pos> -116.9320938330 32.7287537304</gml:pos><gml:pos> -116.9337605614 32.7287537304</gml:pos><gml:pos> -116.9337605614 32.7295870564</gml:pos><gml:pos> -116.9354272136 32.7295870564</gml:pos><gml:pos> -116.9354272136 32.7420870239</gml:pos>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

67

OGC 05-047r3<gml:pos> -116.9370938657 32.7420870239</gml:pos><gml:pos> -116.9370938657 32.7470870186</gml:pos><gml:pos> -116.9387604797 32.7470870186</gml:pos><gml:pos> -116.9387604797 32.7479203637</gml:pos><gml:pos> -116.9404272464 32.7479203637</gml:pos><gml:pos> -116.9404272464 32.7520870132</gml:pos><gml:pos> -116.9412605152 32.7520870132</gml:pos><gml:pos> -116.9412605152 -32.7554203747</gml:pos><gml:pos>-116.9429271674 -32.7554203747</gml:pos><gml:pos>-116.9429271674 -32.7629203285</gml:pos><gml:pos>-116.9437605125 32.7629203285</gml:pos><gml:pos> -116.9437605125 32.7945869866</gml:pos><gml:pos> -116.9445938958 32.7945869866</gml:pos><gml:pos> -116.9445938958 32.8029203428</gml:pos><gml:pos> -116.9454271647 32.8029203428</gml:pos><gml:pos> -116.9454271647 32.8212536309</gml:pos><gml:pos> -116.9462605480 32.8212536309</gml:pos><gml:pos> -116.9462605480 32.8454202589</gml:pos><gml:pos> -116.9470938168 32.8454202589</gml:pos><gml:pos> -116.9470938168 32.8545869793</gml:pos><gml:pos> -116.9487605835 32.8545869793</gml:pos><gml:pos> -116.9487605835 32.8620869331</gml:pos><gml:pos> -116.9529272329 32.8620869331</gml:pos><gml:pos> -116.9529272329 32.8637536234</gml:pos><gml:pos> -116.9537605018 32.8637536234</gml:pos><gml:pos> -116.9537605018 32.8654202374</gml:pos><gml:pos> -116.9554272302 32.8654202374</gml:pos><gml:pos> -116.9554272302 32.8662535826</gml:pos><gml:pos> -116.9579271512 32.8662535826</gml:pos>

68

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<gml:pos> -116.9579271512 32.8679202729</gml:pos><gml:pos> -116.9587605346 32.8679202729</gml:pos><gml:pos> -116.9587605346 32.8687536180</gml:pos><gml:pos> -116.9645938362 32.8687536180</gml:pos><gml:pos> -116.9645938362 32.8770869170</gml:pos><gml:pos> -116.9637605673 32.8770869170</gml:pos><gml:pos> -116.9637605673 32.8929202460</gml:pos><gml:pos> -116.9645938362 32.8929202460</gml:pos><gml:pos> -116.9645938362 32.8979202406</gml:pos><gml:pos> -116.9654271813 32.8979202406</gml:pos><gml:pos>-116.9654271813 32.9012535449</gml:pos><gml:pos> -116.9662604502 32.9012535449</gml:pos><gml:pos> -116.9662604502 32.9087535750</gml:pos><gml:pos> -116.9687604856 32.9087535750</gml:pos><gml:pos> -116.9687604856 32.9287535535</gml:pos><gml:pos> -116.9695938690 -32.9287535535</gml:pos><gml:pos>-116.9695938690 -32.9295868605</gml:pos><gml:pos>-116.9804272034 32.9295868605</gml:pos><gml:pos> -116.9804272034 32.9345868552</gml:pos><gml:pos> -116.9812604340 32.9345868552</gml:pos><gml:pos> -116.9812604340 32.9379201976</gml:pos><gml:pos> -116.9820938174 32.9379201976</gml:pos><gml:pos> -116.9820938174 32.9604201734</gml:pos><gml:pos> -116.9837604695 32.9604201734</gml:pos><gml:pos> -116.9837604695 32.9620868638</gml:pos><gml:pos> -116.9845938528 32.9620868638</gml:pos><gml:pos> -116.9845938528 32.9654202444</gml:pos><gml:pos> -116.9854271217 32.9654202444</gml:pos><gml:pos> -116.9854271217 -32.9704201627</gml:pos>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

69

OGC 05-047r3<gml:pos>-116.9862605050 32.9704201627</gml:pos><gml:pos> -116.9862605050 32.9720868530</gml:pos><gml:pos> -116.9895938856 32.9720868530</gml:pos><gml:pos> -116.9895938856 32.9729201982</gml:pos><gml:pos> -116.9920937685 32.9729201982</gml:pos><gml:pos> -116.9920937685 32.9754202336</gml:pos><gml:pos> -116.9929271518 32.9754202336</gml:pos><gml:pos> -116.9929271518 32.9770867713</gml:pos><gml:pos> -116.9937605351 32.9770867713</gml:pos><gml:pos> -116.9937605351 32.9804201519</gml:pos><gml:pos> -116.9945938039 32.9804201519</gml:pos><gml:pos> -116.9945938039 32.9879201057</gml:pos><gml:pos> -116.9954271872 32.9879201057</gml:pos><gml:pos> -116.9954271872 32.9895867960</gml:pos><gml:pos> -116.9979271846 32.9895867960</gml:pos><gml:pos> -116.9979271846 32.9904201412</gml:pos><gml:pos> -116.9995938367 32.9904201412</gml:pos><gml:pos> -116.9995938367 32.9937535218</gml:pos><gml:pos>-117.0001388806 32.9937535218</gml:pos><gml:pos> -117.0001388806 32.2670874582</gml:pos><gml:pos> -116.9995938367 -32.2670874582</gml:pos><gml:pos>-116.9995938367 32.2687541104</gml:pos></gml:LinearRing></gml:interior></gml:Polygon></r3d:annotates></r3d:RegionOfInterest></gml:featureMember></gml:FeatureCollection></gml:featureMember></gml:FeatureCollection></gml:featureMember></gml:FeatureCollection>

70

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3

Annex D(normative)
GML profile for use with GML in JPEG2000

The example Application Schemas given in Clauses C.1, C.2, C.3, and C.4 import a profile of
GML designed for use with this specification (i.e.GMLJP2). This profile includes features,feature collections, simple linear geometries, RectifiedGridCoverage, CRS objects and types,
units of measure objects and types, default styles and value objects. That profile is named
gmlJP2Profile.xsd, and is:<?xml version="1.0" encoding="UTF-8"?><!-- edited with XML Spy 2005 R3 U (http://www.xmlspy.com) by David S.
Burggraf (Galdos Systems Inc.) --><schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:sch="http://www.ascc.net/xml/schematron"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:smil20="http://www.w3.org/2001/SMIL20/"
xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified"version="3.1.1"><annotation><documentation>GML Subset schema for
gml:_Feature,gml:_FeatureCollection,gml:FeatureCollection,gml:_Coverage,gml:RectifiedGridCoverage,gml:MeasureOrNullListType,gml:Point,gml:LineString,gml:Polygon,gml:LinearRing,gml:Dictionary,gml:_Definition,gml:dictionaryEntr
y,gml:Dictionary,gml:BaseUnit,gml:ConventionalUnit,gml:DerivedUnit,gml:Proj
ectedCRS,gml:Conversion,gml:GeographicCRS,gml:centerLineOf,gml:extentOf,gml:QuantityList,gml:GeometryPropertyType,gml:PolygonPropertyType,gml:defaultStyle,gml:MultiSurface,gml:Style,gml:_MetaData, written by gmlSubset.xslt.
</documentation></annotation><import namespace="http://www.w3.org/1999/xlink"
schemaLocation="../../../../../xlink/1.0.0/xlinks.xsd"/><import namespace="http://www.w3.org/2001/SMIL20/"
schemaLocation="../../../smil/smil20.xsd"/><import namespace="http://www.w3.org/2001/SMIL20/Language"
schemaLocation="../../../smil/smil20-language.xsd"/><!-- ================================================= --><element name="_Feature" type="gml:AbstractFeatureType" abstract="true"
substitutionGroup="gml:_GML"/><!-- ================================================= --><complexType name="AbstractFeatureType" abstract="true"><annotation><documentation> An abstract feature provides a set of common
properties, including id, metaDataProperty, name and description inheritedfrom AbstractGMLType, plus boundedBy. A concrete feature type shall derivefrom this type and specify additional properties in an application schema.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

71

OGC 05-047r3
A feature shall possess an identifying attribute ('id' - 'fid' has been
deprecated). </documentation></annotation><complexContent><extension base="gml:AbstractGMLType"><sequence><element ref="gml:boundedBy" minOccurs="0"/><element ref="gml:location" minOccurs="0"><annotation><appinfo>deprecated</appinfo><documentation>deprecated in GML version
3.1</documentation></annotation></element><!-- additional properties shall be specified in an
application schema --></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractGMLType" abstract="true"><annotation><documentation>All complexContent GML elements are directly or
indirectly derived from this abstract supertype
establish a hierarchy of GML types that may be distinguished from other XML
types by their ancestry.
in this hierarchy may have an ID and are thus
referenceable.</documentation></annotation><sequence><group ref="gml:StandardObjectProperties"/></sequence><attribute ref="gml:id" use="optional"/></complexType><!-- ================================================= --><group name="StandardObjectProperties"><annotation><documentation>This content model group makes it easier toconstruct types thatderive from AbstractGMLType and its descendents "by restriction".
A reference to the group saves having to enumerate the standard object
properties. </documentation></annotation><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:description" minOccurs="0"/><element ref="gml:name" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Multiple names may be provided. These willoften be distinguished by being assigned by different authorities, as
indicated by the value of the codeSpace attribute. In an instance document
there will usually only be one name per authority. </documentation></annotation></element></sequence></group>72

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><element name="metaDataProperty" type="gml:MetaDataPropertyType"><annotation><documentation>Contains or refers to a metadata package that
contains metadata properties. </documentation></annotation></element><!-- ================================================= --><complexType name="MetaDataPropertyType"><annotation><documentation>Base type for complex metadata property
types.</documentation></annotation><sequence minOccurs="0"><!-- <element ref="gml:_MetaData"/> --><any processContents="lax"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/><attribute name="about" type="anyURI" use="optional"/></complexType><!-- ================================================= --><attributeGroup name="AssociationAttributeGroup"><annotation><documentation>Attribute group used to enable property elements torefer to their value remotely. It contains the simple link components fromxlinks.xsd, with all members optional, and the remoteSchema attribute,which is also optional. These attributes can be attached to any element,
thus allowing it to act as a pointer. The 'remoteSchema' attribute allows
an element that carries link attributes to indicate that the element isdeclared in a remote schema rather than by the schema that constrains thecurrent document instance. </documentation></annotation><attributeGroup ref="xlink:simpleLink"/><attribute ref="gml:remoteSchema" use="optional"/></attributeGroup><!-- ================================================= --><attribute name="remoteSchema" type="anyURI"><annotation><documentation>Reference to an XML Schema fragment that specifies
the content model of the propertys value. This is in conformance with the
XML Schema Section 4.14 Referencing Schemas from Elsewhere.
</documentation></annotation></attribute><!-- ================================================= --><element name="description" type="gml:StringOrRefType"><annotation><documentation>Contains a simple text description of the object,
or refers to an external description. </documentation></annotation></element><!-- ================================================= --><complexType name="StringOrRefType"><annotation><documentation>type is available wherever there is a need for a"text" type property. It is of string type, so the text can be included
inline, but the value can also be referenced remotely via xlinks from the
AssociationAttributeGroup. If the remote reference is present, then the

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

73

OGC 05-047r3
value obtained by traversing the link should be used, and the string
content of the element can be used for an annotation. </documentation></annotation><simpleContent><extension base="string"><attributeGroup ref="gml:AssociationAttributeGroup"/></extension></simpleContent></complexType><!-- ================================================= --><!-- ================================================= --><element name="name" type="gml:CodeType"><annotation><documentation>Label for the object, normally a descriptive name.
An object may have several names, typically assigned by different
authorities. The authority for a name is indicated by the value of its(optional) codeSpace attribute. The name may or may not be unique, as
determined by the rules of the organization responsible for the codeSpace.
</documentation></annotation></element><!-- ================================================= --><complexType name="CodeType"><annotation><documentation>Name or code with an (optional) authority. Text
token.
If the codeSpace attribute is present, then its value should identify
a dictionary, thesaurus
or authority for the term, such as the organisation who assigned thevalue,or the dictionary from which it is taken.
A text string with an optional codeSpace attribute. </documentation></annotation><simpleContent><extension base="string"><attribute name="codeSpace" type="anyURI" use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><attribute name="id" type="ID"><annotation><documentation>Database handle for the object. It is of XML typeID, so is constrained to be unique in the XML document within which it
occurs. An external identifier for the object in the form of a URI may beconstructed using standard XML and XPointer methods. This is done byconcatenating the URI for the document, a fragment separator, and the valueof the id attribute. </documentation></annotation></attribute><!-- ================================================= --><element name="boundedBy" type="gml:BoundingShapeType"/><!-- ================================================= --><complexType name="BoundingShapeType"><annotation><documentation>Bounding shape.</documentation></annotation><sequence>

74

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<choice><element ref="gml:Envelope"/><element ref="gml:Null"/></choice></sequence></complexType><!-- ================================================= --><element name="Envelope" type="gml:EnvelopeType"/><!-- ================================================= --><complexType name="EnvelopeType"><annotation><documentation>Envelope defines an extent using a pair of
positions defining opposite corners in arbitrary dimensions. The first
directis the "lower corner" (a coordinate position consisting of all theminimal ordinates for each dimension for all points within the envelope),
second one the "upper corner" (a coordinate position consisting of
all the maximal ordinates for each dimension for all points within the).</documentation></annotation><choice><sequence><element name="lowerCorner" type="gml:DirectPositionType"/><element name="upperCorner" type="gml:DirectPositionType"/></sequence><element ref="gml:coord" minOccurs="2" maxOccurs="2"><annotation><appinfo>deprecated</appinfo><documentation>deprecated with GML version
3.0</documentation></annotation></element><element ref="gml:pos" minOccurs="2" maxOccurs="2"><annotation><appinfo>deprecated</appinfo><documentation>Deprecated with GML version 3.1. Use theexplicit properties "lowerCorner" and "upperCorner"instead.</documentation></annotation></element><element ref="gml:coordinates"><annotation><documentation>Deprecated with GML version 3.1.0. Use theexplicit properties "lowerCorner" and "upperCorner"instead.</documentation></annotation></element></choice><attributeGroup ref="gml:SRSReferenceGroup"/></complexType><!-- ================================================= --><complexType name="DirectPositionType"><annotation><documentation>DirectPosition instances hold the coordinates for aposition within some coordinate reference system (CRS). Since, as data types, will often be included in larger objects (such as
geometry elements) that have references to CRS, theCopyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

75

OGC 05-047r3"srsName" attribute will in general be missing, if this particular
DirectPosition is included in a larger element with such a reference to a
. In this case, the CRS is implicitly assumed to take on the value ofthe containing object's CRS.</documentation></annotation><simpleContent><extension base="gml:doubleList"><attributeGroup ref="gml:SRSReferenceGroup"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="doubleList"><annotation><documentation>XML List based on XML Schema double type. An
element of this type contains a space-separated list of double
values</documentation></annotation><list itemType="double"/></simpleType><!-- ================================================= --><!-- ================================================= --><attributeGroup name="SRSReferenceGroup"><annotation><documentation>Optional reference to the CRS used by thisgeometry, with optional additional information to simplify use whenmore complete definition of the CRS is not needed. </documentation></annotation><attribute name="srsName" type="anyURI" use="optional"><annotation><documentation>In general this reference points to a CRS
instance of gml:CoordinateReferenceSystemType(see coordinateReferenceSystems.xsd). For well known references
it is not required that the CRS description exists at the
the URI points to. If no srsName attribute is given, the CRS shallbe specified as part of the larger context thiselement is part of, e.g. a geometric element like point, curve,
etc. It is expected that this attribute will be specified
the direct position level only in rare cases.</documentation></annotation></attribute><attribute name="srsDimension" type="positiveInteger" use="optional"><annotation><documentation>The "srsDimension" is the length of coordinate
sequence (the number of entries in the list). This dimension isby the coordinate reference system. When the srsName attribute isomitted, this attribute shall be omitted. </documentation></annotation></attribute><attributeGroup ref="gml:SRSInformationGroup"/></attributeGroup><!-- ================================================= --><attributeGroup name="SRSInformationGroup"><annotation><documentation>Optional additional and redundant information for a
CRS to simplify use when a more complete definition of theis not needed. This information shall be the same as included in the
more complete definition of the CRS, referenced by the76

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
attribute. When the srsName attribute is included, either both orneither of the axisLabels and uomLabels attributes
be included. When the srsName attribute is omitted, both of these
attributes shall be omitted. </documentation></annotation><attribute name="axisLabels" type="gml:NCNameList" use="optional"><annotation><documentation>Ordered list of labels for all the axes of this
CRS. The gml:axisAbbrev value should be used for these axis
, after spaces and forbiddden characters are removed. When thesrsName attribute is included, this attribute is optional.
the srsName attribute is omitted, this attribute shall also be
omitted. </documentation></annotation></attribute><attribute name="uomLabels" type="gml:NCNameList" use="optional"><annotation><documentation>Ordered list of unit of measure (uom) labels for
all the axes of this CRS. The value of the string in the:catalogSymbol should be used for this uom labels, after spaces
and forbiddden characters are removed. When theattribute is included, this attribute shall also be included. Whenthe axisLabels attribute is omitted, this attributealso be omitted. </documentation></annotation></attribute></attributeGroup><!-- ================================================= --><simpleType name="NCNameList"><annotation><documentation>A set of values, representing a list of token withthe lexical value space of NCName. The tokens are seperated bywhitespace.</documentation></annotation><list itemType="NCName"/></simpleType><!-- ================================================= --><!-- ================================================= --><element name="coord" type="gml:CoordType"><annotation><documentation>Deprecated with GML 3.0 and included for backwards
compatibility with GML 2. Use the "pos" element instead.</documentation></annotation></element><!-- ================================================= --><complexType name="CoordType"><annotation><documentation>Represents a coordinate tuple in one, two, or three
dimensions. Deprecated with GML 3.0 and replaced by.</documentation></annotation><sequence><element name="X" type="decimal"/><element name="Y" type="decimal" minOccurs="0"/><element name="Z" type="decimal" minOccurs="0"/></sequence></complexType><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

77

OGC 05-047r3<element name="pos" type="gml:DirectPositionType"><annotation><appinfo><sch:pattern><sch:rule context="gml:pos"><sch:extends rule="CRSLabels"/></sch:rule></sch:pattern></appinfo></annotation></element><!-- ================================================= --><element name="coordinates" type="gml:CoordinatesType"><annotation><documentation>Deprecated with GML version 3.1.0.</documentation></annotation></element><!-- ================================================= --><complexType name="CoordinatesType"><annotation><documentation>Tables or arrays of tuples.
May be used for text-encoding of values from a table.
Actually just a string, but allows the user to indicate whichcharacters are used as separators.
The value of the 'cs' attribute is the separator for coordinate
values,and the value of the 'ts' attribute gives the tuple separator (asingle space by default);
the default values may be changed to reflect local usage.
Defaults to CSV within a tuple, space between tuples.
However, any string content will be schema-valid. </documentation></annotation><simpleContent><extension base="string"><attribute name="decimal" type="string" default="."/><attribute name="cs" type="string" default=","/><attribute name="ts" type="string" default=" "/></extension></simpleContent></complexType><!-- ================================================= --><element name="Null" type="gml:NullType"/><!-- ================================================= --><simpleType name="NullType"><annotation><documentation>Utility type for null elements. The value may be
selected from one of the enumerated tokens, or may be a URI in which casethis should identify a resource which describes the reason for the null.
</documentation></annotation><union memberTypes="gml:NullEnumeration anyURI"/></simpleType><!-- ================================================= --><simpleType name="NullEnumeration"><annotation><documentation> Some common reasons for a null value:
innapplicable - the object does not have a value

78

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
missing - The correct value is not readily available to the senderof this data.
Furthermore, a correct value may not exist.
template - the value will be available later
unknown - The correct value is not known to, and not computable by,
the sender of this data.
However, a correct value probably exists.
withheld - the value is not divulged
other:reason - as indicated by "reason" string
Specific communities may agree to assign more strict semantics whenthese terms are used in a particular context.
</documentation></annotation><union><simpleType><restriction base="string"><enumeration value="inapplicable"/><enumeration value="missing"/><enumeration value="template"/><enumeration value="unknown"/><enumeration value="withheld"/></restriction></simpleType><simpleType><restriction base="string"><pattern value="other:\w{2,}"/></restriction></simpleType></union></simpleType><!-- ================================================= --><!-- ================================================= --><element name="location" type="gml:LocationPropertyType"><annotation><documentation>Deprecated in GML 3.1.0</documentation></annotation></element><!-- ================================================= --><complexType name="LocationPropertyType"><annotation><documentation>Convenience property for generalised location.
A representative location for plotting or analysis.
Often augmented by one or more additional geometry properties withmore specific semantics. </documentation><documentation>Deprecated in GML 3.1.0</documentation></annotation><sequence minOccurs="0"><choice><element ref="gml:_Geometry"/><element ref="gml:LocationKeyWord"/><element ref="gml:LocationString"/><element ref="gml:Null"/></choice></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

79OGC 05-047r3<!-- ================================================= --><element name="_Geometry" type="gml:AbstractGeometryType"abstract="true" substitutionGroup="gml:_GML"><annotation><documentation>The "_Geometry" element is the abstract head of thesubstituition group for all geometry elements of GML 3. This
pre-defined and user-defined geometry elements. Any geometry element
shall be a direct or indirect extension/restriction
AbstractGeometryType and shall be directly or indirectly in thesubstitution group of "_Geometry".</documentation><appinfo><sch:pattern><sch:rule context="gml:_Geometry"><sch:extends rule="CRSLabels"/></sch:rule></sch:pattern></appinfo></annotation></element><!-- ================================================= --><complexType name="AbstractGeometryType" abstract="true"><annotation><documentation>All geometry elements are derived directly or
indirectly from this abstract supertype. A geometry element may
an identifying attribute ("gml:id"), a name (attribute "name") and a
description (attribute "description"). It may be associateda spatial reference system (attribute "srsName"). The following rules
shall be adhered: - Every geometry type shall derive
this abstract type. - Every geometry element (i.e. an element of ageometry type) shall be directly or indirectly in thegroup of _Geometry.</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"><attribute name="gid" type="string" use="optional"><annotation><documentation>This attribute is included for backward
compatibility with GML 2 and is deprecated with GML 3.
identifer is superceded by "gml:id" inherited from
AbstractGMLType. The attribute "gid" should not be used
and may be deleted in future versions of GML without further
notice.</documentation></annotation></attribute><attributeGroup ref="gml:SRSReferenceGroup"/></extension></complexContent></complexType><!-- ================================================= --><element name="_GML" type="gml:AbstractGMLType" abstract="true"
substitutionGroup="gml:_Object"><annotation><documentation>Global element which acts as the head of a
substitution group that may include any element which is a GML feature,object, geometry or complex value</documentation></annotation></element><!-- ================================================= -->80

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element name="_Object" abstract="true"><annotation><documentation>This abstract element is the head of a
substitutionGroup hierararchy which may contain either simpleContent orcomplexContent elements. It is used to assert the model position of"class" elements declared in other GML schemas. </documentation></annotation></element><!-- ================================================= --><element name="LocationKeyWord" type="gml:CodeType"/><!-- ================================================= --><element name="LocationString" type="gml:StringOrRefType"/><!-- ================================================= --><element name="_FeatureCollection"
type="gml:AbstractFeatureCollectionType" abstract="true"
substitutionGroup="gml:_Feature"/><!-- ================================================= --><complexType name="AbstractFeatureCollectionType" abstract="true"><annotation><documentation> A feature collection contains zero or morefeatures. </documentation></annotation><complexContent><extension base="gml:AbstractFeatureType"><sequence><element ref="gml:featureMember" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:featureMembers" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="featureMember" type="gml:FeaturePropertyType"/><!-- ================================================= --><complexType name="FeaturePropertyType"><annotation><documentation>Container for a feature - follow
gml:AssociationType pattern.</documentation></annotation><sequence minOccurs="0"><element ref="gml:_Feature"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="featureMembers" type="gml:FeatureArrayPropertyType"/><!-- ================================================= --><complexType name="FeatureArrayPropertyType"><annotation><documentation>Container for features - follow
gml:ArrayAssociationType pattern.</documentation></annotation><sequence><element ref="gml:_Feature" minOccurs="0" maxOccurs="unbounded"/></sequence></complexType><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

81

OGC 05-047r3<element name="FeatureCollection" type="gml:FeatureCollectionType"substitutionGroup="gml:_Feature"/><!-- ================================================= --><complexType name="FeatureCollectionType"><annotation><documentation> Concrete generic feature collection.
</documentation></annotation><complexContent><extension base="gml:AbstractFeatureCollectionType"/></complexContent></complexType><!-- ================================================= --><element name="_Coverage" type="gml:AbstractCoverageType"abstract="true" substitutionGroup="gml:_Feature"/><!-- ================================================= --><complexType name="AbstractCoverageType" abstract="true"><annotation><documentation>Abstract element which acts as the head of a
substitution group for coverages. Note that a coverage is a GML
feature.</documentation></annotation><complexContent><extension base="gml:AbstractFeatureType"><sequence><element ref="gml:domainSet"/><element ref="gml:rangeSet"/></sequence><attribute name="dimension" type="positiveInteger"use="optional"/></extension></complexContent></complexType><!-- ================================================= --><element name="domainSet" type="gml:DomainSetType"/><!-- ================================================= --><complexType name="DomainSetType"><annotation><documentation>The spatiotemporal domain of a coverage.
Typically* a geometry collection,* an implicit geometry (e.g. a grid),* an explicit or implicit collection of time instances or periods, or.B. Temporal geometric complexes and temporal grids are not yet implemented
in GML.</documentation></annotation><sequence minOccurs="0"><choice><element ref="gml:_Geometry"/><element ref="gml:_TimeObject"/></choice></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="_TimeObject" type="gml:AbstractTimeObjectType"abstract="true" substitutionGroup="gml:_GML"><annotation>

82

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<documentation xml:lang="en">This abstract element acts as the head of the substitution group for
temporal primitives and complexes.
</documentation></annotation></element><!-- ================================================= --><complexType name="AbstractTimeObjectType" abstract="true"><annotation><documentation xml:lang="en">The abstract supertype for temporal objects.
</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"/></complexContent></complexType><!-- ================================================= --><element name="rangeSet" type="gml:RangeSetType"/><!-- ================================================= --><complexType name="RangeSetType"><choice><element ref="gml:ValueArray" maxOccurs="unbounded"><annotation><documentation>each member _Value holds a tuple or "row"from the equivalent table</documentation></annotation></element><group ref="gml:ScalarValueList" maxOccurs="unbounded"><annotation><documentation>each list holds the complete set of one
scalar component from the values - i.e. a "column" from the equivalent
table</documentation></annotation></group><element ref="gml:DataBlock"><annotation><documentation>Its tuple list holds the values as spaceseparated tuples each of which contains comma-separated components, and thetuple structure is specified using the rangeParametersproperty.</documentation></annotation></element><element ref="gml:File"><annotation><documentation>a reference to an external source for thedata, together with a description of how that external source isstructured</documentation></annotation></element></choice></complexType><!-- ================================================= --><element name="ValueArray" type="gml:ValueArrayType"substitutionGroup="gml:CompositeValue"><annotation><appinfo><sch:pattern name="Check either codeSpace or uom not both">

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

83

OGC 05-047r3<sch:rule context="gml:ValueArray"><sch:report test="@codeSpace and @uom">ValueArray may notcarry both a reference to a codeSpace and a uom</sch:report></sch:rule></sch:pattern><sch:pattern name="Check components are homogeneous"><sch:rule context="gml:ValueArray"><sch:assert test="count(gml:valueComponent/*) =count(gml:valueComponent/*[name() =name(../../gml:valueComponent[1]/*[1])])">All components of <sch:name/>shall be of the same type</sch:assert><sch:assert test="count(gml:valueComponents/*) =count(gml:valueComponents/*[name() = name(../*[1])])">All components of<sch:name/> shall be of the same type</sch:assert></sch:rule></sch:pattern></appinfo><documentation>A Value Array is used for homogeneous arrays ofprimitive and aggregate values.
_ScalarValueList is preferred for arraysof Scalar Values since this is more efficient. Since "choice" is notavailable for attribute groups, an external constraint (e.g. Schematron)
would be required to enforce the selection of only one of these throughschema validation</documentation></annotation></element><!-- ================================================= --><complexType name="ValueArrayType"><annotation><documentation>A Value Array is used for homogeneous arrays ofprimitive and aggregate values. The member values may be scalars,composites, arrays or lists. ValueArray has the same content model as
CompositeValue, but the member values shall be homogeneous. The element
declaration contains a Schematron constraint which expresses thisrestriction precisely.
Since the members are homogeneous, thereferenceSystem (uom, codeSpace) may be specified on the ValueArray itself
and implicitly inherited by all the members if desired.
Note thata_ScalarValueList is preferred for arrays of Scalar Values since this is amore efficient encoding.</documentation></annotation><complexContent><extension base="gml:CompositeValueType"><attributeGroup ref="gml:referenceSystem"/></extension></complexContent></complexType><!-- ================================================= --><complexType name="CompositeValueType"><annotation><documentation>Aggregate value built from other Values using theComposite pattern. It contains zero or an arbitrary number ofvalueComponent elements, and zero or one valueComponents elements. It may
be used for strongly coupled aggregates (vectors, tensors) or for arbitrarycollections of values.</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"><sequence>

84

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element ref="gml:valueComponent" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:valueComponents" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="valueComponent" type="gml:ValuePropertyType"><annotation><documentation>Element which refers to, or contains, a Value.
This version is used in CompositeValues.</documentation></annotation></element><!-- ================================================= --><complexType name="ValuePropertyType"><annotation><documentation>GML property which refers to, or contains, aValue</documentation></annotation><sequence minOccurs="0"><group ref="gml:Value"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><group name="Value"><annotation><documentation>Utility choice group which unifies generic Values
defined in this schema document withand Temporal objects and the Measures described above,that any of these may be used within aggregate
Values.</documentation></annotation><choice><!-- <element ref="gml:_Value"/> --><group ref="gml:ValueObject"/><element ref="gml:_Object"/><!-<element ref="gml:_Geometry"/><element ref="gml:_TimeObject"/> --><element ref="gml:Null"/></choice></group><!-- ================================================= --><group name="ValueObject"><choice><group ref="gml:ScalarValue"/><group ref="gml:ScalarValueList"/><group ref="gml:ValueExtent"/><element ref="gml:CompositeValue"/></choice></group><!-- ================================================= --><group name="ScalarValue"><choice><element ref="gml:Boolean"/><element ref="gml:Category"/><element ref="gml:Quantity"/>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

85

OGC 05-047r3<element ref="gml:Count"/></choice></group><!-- ================================================= --><element name="Boolean" type="boolean"><annotation><documentation>A value from two-valued logic, using the XML Schema
boolean type. An instance may take the values {true, false, 1,0}.</documentation></annotation></element><!-- ================================================= --><element name="Category" type="gml:CodeType"><annotation><documentation>A term representing a classification. It has an
optional XML attribute codeSpace, whose value is a URI which identifies a
dictionary, codelist or authority for the term.</documentation></annotation></element><!-- ================================================= --><element name="Quantity" type="gml:MeasureType"><annotation><documentation>A numeric value with a scale. The content of theelement is an amount using the XML Schema type double which permits decimalor scientific notation. An XML attribute uom (unit of measure) is
required, whose value is a URI which identifies the definition of the scaleor units by which the numeric value shall be multiplied.</documentation></annotation></element><!-- ================================================= --><complexType name="MeasureType"><annotation><documentation>Number with a scale.
The value of uom (Units Of Measure) attribute is a reference to a
Reference System for the amount, either a ratio or position scale.
</documentation></annotation><simpleContent><extension base="double"><attribute name="uom" type="anyURI" use="required"/></extension></simpleContent></complexType><!-- ================================================= --><element name="Count" type="integer"><annotation><documentation>An integer representing a frequency ofoccurrence.</documentation></annotation></element><!-- ================================================= --><group name="ScalarValueList"><choice><element ref="gml:BooleanList"/><element ref="gml:CategoryList"/><element ref="gml:QuantityList"/><element ref="gml:CountList"/></choice>86

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</group><!-- ================================================= --><element name="BooleanList" type="gml:booleanOrNullList"><annotation><documentation>XML List based on XML Schema boolean type. An
element of this type contains a space-separated list of boolean values{0,1,true,false}</documentation></annotation></element><!-- ================================================= --><simpleType name="booleanOrNullList"><annotation><documentation>XML List based on the union type defined above. An
element declared with this type contains a space-separated list of boolean
values {0,1,true,false} with null values interspersed asneeded</documentation></annotation><list itemType="gml:booleanOrNull"/></simpleType><!-- ================================================= --><simpleType name="booleanOrNull"><annotation><documentation>Union of the XML Schema boolean type and the GML
Nulltype. An element which uses this type may have content which is either
a boolean {0,1,true,false} or a value from Nulltype</documentation></annotation><union memberTypes="gml:NullEnumeration boolean anyURI"/></simpleType><!-- ================================================= --><!-- ================================================= --><element name="CategoryList" type="gml:CodeOrNullListType"><annotation><documentation>A space-separated list of terms or nulls. A single
XML attribute codeSpace may be provided, which authorises all the terms in
the list.</documentation></annotation></element><!-- ================================================= --><complexType name="CodeOrNullListType"><annotation><documentation>List of values on a uniform nominal scale. List of
text tokens.
In a list context a token should not include any spaces, so xsd:Nameis used instead of xsd:string.
A member of the list may be a typed null.
If a codeSpace attribute is present, then its value is a reference toa Reference System for the value, a dictionary or code
list.</documentation></annotation><simpleContent><extension base="gml:NameOrNullList"><attribute name="codeSpace" type="anyURI" use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="NameOrNullList"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

87

OGC 05-047r3<documentation>XML List based on the union type defined above. An
element declared with this type contains a space-separated list of Namevalues with null values interspersed as needed</documentation></annotation><list itemType="gml:NameOrNull"/></simpleType><!-- ================================================= --><simpleType name="NameOrNull"><annotation><documentation>Union of the XML Schema Name type and the GML
Nulltype. An element which uses this type may have content which is eithera Name or a value from Nulltype. Note that a "Name" may not containwhitespace. </documentation></annotation><union memberTypes="gml:NullEnumeration Name anyURI"/></simpleType><!-- ================================================= --><element name="QuantityList" type="gml:MeasureOrNullListType"><annotation><documentation>A space separated list of amounts or nulls. The
amounts use the XML Schema type double. A single XML attribute uom (unitof measure) is required, whose value is a URI which identifies thedefinition of the scale or units by which all the amounts in the list shallbe multiplied.</documentation></annotation></element><!-- ================================================= --><complexType name="MeasureOrNullListType"><annotation><documentation>List of numbers with a uniform scale.
A member of the list may be a typed null.
The value of uom (Units Of Measure) attribute is a reference toa Reference System for the amount, either a ratio or position scale.
</documentation></annotation><simpleContent><extension base="gml:doubleOrNullList"><attribute name="uom" type="anyURI" use="required"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="doubleOrNullList"><annotation><documentation>XML List based on the union type defined above. An
element declared with this type contains a space-separated list of double
values with null values interspersed as needed</documentation></annotation><list itemType="gml:doubleOrNull"/></simpleType><!-- ================================================= --><simpleType name="doubleOrNull"><annotation><documentation>Union of the XML Schema double type and the GML
Nulltype. An element which uses this type may have content which is either
a double or a value from Nulltype</documentation></annotation><union memberTypes="gml:NullEnumeration double anyURI"/>88

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</simpleType><!-- ================================================= --><element name="CountList" type="gml:integerOrNullList"><annotation><documentation>A space-separated list of integers ornulls.</documentation></annotation></element><!-- ================================================= --><simpleType name="integerOrNullList"><annotation><documentation>XML List based on the union type defined above. An
element declared with this type contains a space-separated list of integer
values with null values interspersed as needed</documentation></annotation><list itemType="gml:integerOrNull"/></simpleType><!-- ================================================= --><simpleType name="integerOrNull"><annotation><documentation>Union of the XML Schema integer type and the GML
Nulltype. An element which uses this type may have content which is either
an integer or a value from Nulltype</documentation></annotation><union memberTypes="gml:NullEnumeration integer anyURI"/></simpleType><!-- ================================================= --><!-- ================================================= --><group name="ValueExtent"><choice><element ref="gml:CategoryExtent"/><element ref="gml:QuantityExtent"/><element ref="gml:CountExtent"/></choice></group><!-- ================================================= --><element name="CategoryExtent" type="gml:CategoryExtentType"><annotation><documentation>Utility element to store a 2-point range of ordinalvalues. If one member is a null, then this is a single ended
interval.</documentation></annotation></element><!-- ================================================= --><complexType name="CategoryExtentType"><annotation><documentation>Restriction of list type to store a 2-point rangeof ordinal values. If one member is a null, then this is a single ended
interval.</documentation></annotation><simpleContent><restriction base="gml:CodeOrNullListType"><length value="2"/></restriction></simpleContent></complexType><!-- ================================================= --><element name="QuantityExtent" type="gml:QuantityExtentType">

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

89

OGC 05-047r3<annotation><documentation>Utility element to store a 2-point range of numericvalues. If one member is a null, then this is a single ended
interval.</documentation></annotation></element><!-- ================================================= --><complexType name="QuantityExtentType"><annotation><documentation>Restriction of list type to store a 2-point rangeof numeric values. If one member is a null, then this is a single ended
interval.</documentation></annotation><simpleContent><restriction base="gml:MeasureOrNullListType"><length value="2"/></restriction></simpleContent></complexType><!-- ================================================= --><element name="CountExtent" type="gml:CountExtentType"><annotation><documentation>Utility element to store a 2-point range of
frequency values. If one member is a null, then this is a single ended
interval.</documentation></annotation></element><!-- ================================================= --><simpleType name="CountExtentType"><annotation><documentation>Restriction of list type to store a 2-point rangeof frequency values. If one member is a null, then this is a single ended
interval.</documentation></annotation><restriction base="gml:integerOrNullList"><length value="2"/></restriction></simpleType><!-- ================================================= --><element name="CompositeValue" type="gml:CompositeValueType"><annotation><documentation>Aggregate value built using the Composite
pattern.</documentation></annotation></element><!-- ================================================= --><element name="valueComponents" type="gml:ValueArrayPropertyType"><annotation><documentation>Element which refers to, or contains, a set ofhomogeneously typed Values.</documentation></annotation></element><!-- ================================================= --><complexType name="ValueArrayPropertyType"><annotation><documentation>GML property which refers to, or contains, a set ofhomogeneously typed Values.</documentation></annotation>

90

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<sequence><group ref="gml:Value" maxOccurs="unbounded"/></sequence></complexType><!-- ================================================= --><attributeGroup name="referenceSystem"><attribute name="codeSpace" type="anyURI" use="optional"/><attribute name="uom" type="anyURI" use="optional"/></attributeGroup><!-- ================================================= --><element name="DataBlock" type="gml:DataBlockType"/><!-- ================================================= --><complexType name="DataBlockType"><sequence><element ref="gml:rangeParameters"/><choice><element ref="gml:tupleList"/><element ref="gml:doubleOrNullTupleList"/></choice></sequence></complexType><!-- ================================================= --><element name="rangeParameters" type="gml:RangeParametersType"/><!-- ================================================= --><complexType name="RangeParametersType"><annotation><documentation>Metadata about the rangeSet. Definition of record
structure.
This is required if the rangeSet is encoded in a DataBlock.
We use a gml:_Value with empty values as a map of the composite value
structure.</documentation></annotation><sequence minOccurs="0"><group ref="gml:ValueObject"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="tupleList" type="gml:CoordinatesType"/><!-- ================================================= --><element name="doubleOrNullTupleList" type="gml:doubleOrNullList"/><!-- ================================================= --><element name="File" type="gml:FileType"/><!-- ================================================= --><complexType name="FileType"><sequence><element ref="gml:rangeParameters"/><element name="fileName" type="anyURI"/><element name="fileStructure" type="gml:FileValueModelType"/><element name="mimeType" type="anyURI" minOccurs="0"/><element name="compression" type="anyURI" minOccurs="0"/></sequence></complexType><!-- ================================================= --><simpleType name="FileValueModelType"><annotation><documentation>List of codes that identifies the file structure
model for records stored in files.</documentation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

91

OGC 05-047r3</annotation><restriction base="string"><enumeration value="Record Interleaved"/></restriction></simpleType><!-- ================================================= --><element name="RectifiedGridCoverage"
type="gml:RectifiedGridCoverageType"substitutionGroup="gml:_DiscreteCoverage"/><!-- ================================================= --><complexType name="RectifiedGridCoverageType"><complexContent><restriction base="gml:AbstractDiscreteCoverageType"><sequence><group ref="gml:StandardObjectProperties"/><element ref="gml:boundedBy" minOccurs="0"/><element ref="gml:rectifiedGridDomain"/><element ref="gml:rangeSet"/><element ref="gml:coverageFunction" minOccurs="0"/></sequence></restriction></complexContent></complexType><!-- ================================================= --><complexType name="AbstractDiscreteCoverageType" abstract="true"><annotation><documentation>A discrete coverage consists of a domain set, range
set and optionally a coverage function. The domain set consists of either
geometry or temporal objects, finite in number. The range set is comprisedof a finite number of attribute values each of which is associated to every
direct position within any single spatiotemporal object in the domain. In
other words, the range values are constant on each spatiotemporal object inthe domain. This coverage function maps each element from the coverage
domain to an element in its range. This definition conforms to ISO
19123.</documentation></annotation><complexContent><extension base="gml:AbstractCoverageType"><sequence><element ref="gml:coverageFunction" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="coverageFunction" type="gml:CoverageFunctionType"/><!-- ================================================= --><complexType name="CoverageFunctionType"><annotation><documentation>The function or rule which defines the map frommembers of the domainSet to the range.
More functions will be added to this list</documentation></annotation><choice><element ref="gml:MappingRule"/><element ref="gml:GridFunction"/></choice></complexType>92

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><element name="MappingRule" type="gml:StringOrRefType"><annotation><documentation>Description of a rule for associating members fromthe domainSet with members of the rangeSet.</documentation></annotation></element><!-- ================================================= --><element name="GridFunction" type="gml:GridFunctionType"/><!-- ================================================= --><complexType name="GridFunctionType"><annotation><documentation>Defines how values in the domain are mapped to therange set. The start point and the sequencing rule are specified
here.</documentation></annotation><sequence><element name="sequenceRule" type="gml:SequenceRuleType"minOccurs="0"><annotation><documentation>If absent, the implied value is"Linear".</documentation></annotation></element><element name="startPoint" type="gml:integerList" minOccurs="0"><annotation><documentation>Index position of the first grid post, whichshall lie somwhere in the GridEnvelope. If absent, the startPoint is equal
to the value of gridEnvelope::low from the grid definition.</documentation></annotation></element></sequence></complexType><!-- ================================================= --><complexType name="SequenceRuleType"><simpleContent><extension base="gml:SequenceRuleNames"><attribute name="order" type="gml:IncrementOrder"
use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="SequenceRuleNames"><annotation><documentation>List of codes (adopted from ISO 19123 Annex C) that
identifies the rule for traversing a grid to correspond with the sequenceof members of the rangeSet.</documentation></annotation><restriction base="string"><enumeration value="Linear"/><enumeration value="Boustrophedonic"/><enumeration value="Cantor-diagonal"/><enumeration value="Spiral"/><enumeration value="Morton"/><enumeration value="Hilbert"/></restriction></simpleType>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

93OGC 05-047r3<!-- ================================================= --><simpleType name="IncrementOrder"><annotation><documentation>The enumeration value here indicates theincrementation order to be used on the first 2 axes, i.e. "+x-y" meansthat the points on the first axis are to be traversed from lowest to
highest and the points on the second axis are to be traversed from highest
to lowest. The points on all other axes (if any) beyond the first 2 areassumed to increment from lowest to highest.</documentation></annotation><restriction base="string"><enumeration value="+x+y"/><enumeration value="+y+x"/><enumeration value="+x-y"/><enumeration value="-x-y"/></restriction></simpleType><!-- ================================================= --><simpleType name="integerList"><annotation><documentation>XML List based on XML Schema integer type. An
element of this type contains a space-separated list of integer
values</documentation></annotation><list itemType="integer"/></simpleType><!-- ================================================= --><element name="rectifiedGridDomain" type="gml:RectifiedGridDomainType"substitutionGroup="gml:domainSet"/><!-- ================================================= --><complexType name="RectifiedGridDomainType"><complexContent><restriction base="gml:DomainSetType"><sequence minOccurs="0"><element ref="gml:RectifiedGrid"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></restriction></complexContent></complexType><!-- ================================================= --><element name="RectifiedGrid" type="gml:RectifiedGridType"substitutionGroup="gml:_ImplicitGeometry"><annotation><documentation>Should be substitutionGroup="gml:Grid" but changed
in order to accomplish Xerces-J schema validation</documentation></annotation></element><!-- ================================================= --><complexType name="RectifiedGridType" final="#all"><annotation><documentation>A rectified grid has an origin and vectors thatdefine its post locations.</documentation></annotation><complexContent><extension base="gml:GridType"><sequence><element name="origin" type="gml:PointPropertyType"/>

94

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element name="offsetVector" type="gml:VectorType"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="GridType"><annotation><documentation>An unrectified grid, which is a network composed of
two or more sets of equally spaced parallel lines in which the members ofeach set intersect the members of the other sets at rightangles.</documentation></annotation><complexContent><extension base="gml:AbstractGeometryType"><sequence><element name="limits" type="gml:GridLimitsType"/><element name="axisName" type="string"maxOccurs="unbounded"/></sequence><attribute name="dimension" type="positiveInteger"use="required"/></extension></complexContent></complexType><!-- ================================================= --><complexType name="GridLimitsType"><sequence><element name="GridEnvelope" type="gml:GridEnvelopeType"/></sequence></complexType><!-- ================================================= --><complexType name="GridEnvelopeType"><annotation><documentation>Provides grid coordinate values for the
diametrically opposed corners of an envelope that bounds a section of grid.
The value of a single coordinate is the number of offsets from the originof the grid in the direction of a specific axis.</documentation></annotation><sequence><element name="low" type="gml:integerList"/><element name="high" type="gml:integerList"/></sequence></complexType><!-- ================================================= --><complexType name="PointPropertyType"><annotation><documentation>A property that has a point as its value domain caneither be an appropriate geometry element encapsulated in anof this type or an XLink reference to a remote geometry element(where remote includes geometry elements locatedin the same document). Either the reference or the contained element
shall be given, but neither both nor none.</documentation></annotation><sequence minOccurs="0"><element ref="gml:Point"/></sequence>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

95

OGC 05-047r3<attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>This attribute group includes the XLink
attributes (see xlinks.xsd). XLink is used in GML to reference remote(including those elsewhere in the same document). A simple linkelement can be constructed by including a specificof XLink attributes. The XML Linking Language (XLink) is currently
a Proposed Recommendation of the World Wide Web Consortium.
allows elements to be inserted into XML documents so as to create
sophisticated links between resources; such links can beto reference remote properties. A simple link element can be used
to implement pointer functionality, and this functionality has
built into various GML 3 elements by including thegml:AssociationAttributeGroup.
</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><element name="Point" type="gml:PointType"substitutionGroup="gml:_GeometricPrimitive"/><!-- ================================================= --><complexType name="PointType"><annotation><documentation>A Point is defined by a single coordinate
tuple.</documentation></annotation><complexContent><extension base="gml:AbstractGeometricPrimitiveType"><sequence><choice><annotation><documentation>GML supports two different ways tospecify the direct poisiton of a point. 1. The "pos" element is of type.</documentation></annotation><element ref="gml:pos"/><element ref="gml:coordinates"><annotation><documentation>Deprecated with GML version 3.1.0 for
coordinates with ordinate values that are numbers. Use "pos". The "coordinates" element shall only be used for
coordinates with ordinates that require a string, e.g. DMS representations.</documentation></annotation></element><element ref="gml:coord"><annotation><documentation>Deprecated with GML version 3.0. Use"pos" instead. The "coord" element is included forcompatibility with GML 2.</documentation></annotation></element></choice></sequence></extension></complexContent></complexType><!-- ================================================= -->96

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<complexType name="AbstractGeometricPrimitiveType" abstract="true"><annotation><documentation>This is the abstract root type of the geometricprimitives. A geometric primitive is a geometric object that is notfurther into other primitives in the system. All primitives areoriented in the direction implied by the sequence of theirtuples.</documentation></annotation><complexContent><extension base="gml:AbstractGeometryType"/></complexContent></complexType><!-- ================================================= --><element name="_GeometricPrimitive"
type="gml:AbstractGeometricPrimitiveType" abstract="true"
substitutionGroup="gml:_Geometry"><annotation><documentation>The "_GeometricPrimitive" element is the abstract
head of the substituition group for all (pre- and user-defined)
primitives.</documentation></annotation></element><!-- ================================================= --><complexType name="VectorType"><simpleContent><restriction base="gml:DirectPositionType"/></simpleContent></complexType><!-- ================================================= --><element name="_ImplicitGeometry" type="gml:AbstractGeometryType"abstract="true" substitutionGroup="gml:_Geometry"/><!-- ================================================= --><element name="_DiscreteCoverage"
type="gml:AbstractDiscreteCoverageType" abstract="true"
substitutionGroup="gml:_Coverage"/><!-- ================================================= --><element name="LineString" type="gml:LineStringType"substitutionGroup="gml:_Curve"/><!-- ================================================= --><complexType name="LineStringType"><annotation><documentation>A LineString is a special curve that consists of asingle segment with linear interpolation. It is defined by two or morecoordinate, with linear interpolation between them. It is backwards compatible
with the LineString of GML 2, GM_LineString of ISO 19107 isby LineStringSegment.</documentation></annotation><complexContent><extension base="gml:AbstractCurveType"><sequence><choice><annotation><documentation>GML supports two different ways tospecify the control points of a line string. 1. A sequence of "pos"(DirectPositionType) or "pointProperty"(PointPropertyType) elements. "pos" elements are control points that are
only part

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

97

OGC 05-047r3
this curve, "pointProperty" elements contain a point that
may be referenced from other geometry elements or reference
point defined outside of this curve (reuse of existing
points). 2. The "posList" element allows for a compact way tothe coordinates of the control points, if all control
points are in the same coordinate reference systems and belong
this curve only. The number of direct positions in thelist shall be at least two.</documentation></annotation><choice minOccurs="2" maxOccurs="unbounded"><element ref="gml:pos"/><element ref="gml:pointProperty"/><element ref="gml:pointRep"><annotation><documentation>Deprecated with GML version 3.1.0.
Use "pointProperty" instead. Included for backwards compatibility
GML 3.0.0.</documentation></annotation></element><element ref="gml:coord"><annotation><documentation>Deprecated with GML version 3.0.
Use "pos" instead. The "coord" element is included for backwards
with GML 2.</documentation></annotation></element></choice><element ref="gml:posList"/><element ref="gml:coordinates"><annotation><documentation>Deprecated with GML version 3.1.0.
Use "posList" instead.</documentation></annotation></element></choice></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractCurveType" abstract="true"><annotation><documentation>An abstraction of a curve to support the different
levels of complexity. The curve can always be viewed as a geometric, i.e. is continuous.</documentation></annotation><complexContent><extension base="gml:AbstractGeometricPrimitiveType"/></complexContent></complexType><!-- ================================================= --><element name="pointProperty" type="gml:PointPropertyType"><annotation><appinfo><sch:pattern><sch:rule context="gml:pointProperty"><sch:extends rule="hrefOrContent"/></sch:rule>98

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</sch:pattern></appinfo><documentation>This property element either references a point via
the XLink-attributes or contains the point element. pointProperty
the predefined property which can be used by GML Application Schemas
whenever a GML Feature has a property with a value that
substitutable for Point.</documentation></annotation></element><!-- ================================================= --><element name="pointRep" type="gml:PointPropertyType"><annotation><documentation>Deprecated with GML version 3.1.0. Use"pointProperty" instead. Included for backwards compatibility with GML
3.0.0.</documentation></annotation></element><!-- ================================================= --><element name="posList" type="gml:DirectPositionListType"><annotation><appinfo><sch:pattern><sch:rule context="gml:posList"><sch:extends rule="CRSLabels"/></sch:rule></sch:pattern></appinfo><appinfo><sch:pattern><sch:rule context="gml:posList"><sch:extends rule="Count"/></sch:rule></sch:pattern></appinfo></annotation></element><!-- ================================================= --><complexType name="DirectPositionListType"><annotation><documentation>DirectPositionList instances hold the coordinates
for a sequence of direct positions within the same coordinate
system (CRS).</documentation></annotation><simpleContent><extension base="gml:doubleList"><attributeGroup ref="gml:SRSReferenceGroup"/><attribute name="count" type="positiveInteger" use="optional"><annotation><documentation>"count" allows to specify the number of
direct positions in the list. If the attribute count is present thenattribute srsDimension shall be present,
too.</documentation></annotation></attribute></extension></simpleContent></complexType><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

99

OGC 05-047r3<element name="_Curve" type="gml:AbstractCurveType" abstract="true"
substitutionGroup="gml:_GeometricPrimitive"><annotation><documentation>The "_Curve" element is the abstract head of thesubstituition group for all (continuous) curve elements.</documentation></annotation></element><!-- ================================================= --><element name="Polygon" type="gml:PolygonType"substitutionGroup="gml:_Surface"/><!-- ================================================= --><complexType name="PolygonType"><annotation><documentation>A Polygon is a special surface that is defined by asingle surface patch. The boundary of this patch is coplanar and thepolygon uses planar interpolation in its interior. It is backwards
compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is
implemented by PolygonPatch.</documentation></annotation><complexContent><extension base="gml:AbstractSurfaceType"><sequence><element ref="gml:exterior" minOccurs="0"/><element ref="gml:interior" minOccurs="0"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractSurfaceType"><annotation><documentation>
abstraction of a surface to support the different levels ofcomplexity. A surface is always a continuous region of a plane.
</documentation></annotation><complexContent><extension base="gml:AbstractGeometricPrimitiveType"/></complexContent></complexType><!-- ================================================= --><element name="exterior" type="gml:AbstractRingPropertyType"><annotation><documentation>A boundary of a surface consists of a number ofrings. In the normal 2D case, one of these rings is distinguished as being
the exterior boundary. In a general manifold this is not always possible,in which case all boundaries shall be listed as interior boundaries, andthe exterior will be empty.</documentation></annotation></element><!-- ================================================= --><complexType name="AbstractRingPropertyType"><annotation><documentation>
Encapsulates a ring to represent the surface boundary
property of a surface.
</documentation>

100

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</annotation><sequence><element ref="gml:_Ring"/></sequence></complexType><!-- ================================================= --><element name="_Ring" type="gml:AbstractRingType" abstract="true"
substitutionGroup="gml:_Geometry"><annotation><documentation>The "_Ring" element is the abstract head of thesubstituition group for all closed boundaries of a surface
patch.</documentation></annotation></element><!-- ================================================= --><complexType name="AbstractRingType" abstract="true"><annotation><documentation>
abstraction of a ring to support surface boundaries of different
complexity.
</documentation></annotation><complexContent><extension base="gml:AbstractGeometryType"/></complexContent></complexType><!-- ================================================= --><element name="interior" type="gml:AbstractRingPropertyType"><annotation><documentation>A boundary of a surface consists of a number ofrings. The "interior" rings seperate the surface / surface patch from thearea enclosed by the rings.</documentation></annotation></element><!-- ================================================= --><element name="_Surface" type="gml:AbstractSurfaceType" abstract="true"
substitutionGroup="gml:_GeometricPrimitive"><annotation><documentation>The "_Surface" element is the abstract head of thesubstituition group for all (continuous) surface elements.</documentation></annotation></element><!-- ================================================= --><element name="LinearRing" type="gml:LinearRingType"substitutionGroup="gml:_Ring"/><!-- ================================================= --><complexType name="LinearRingType"><annotation><documentation>A LinearRing is defined by four or more coordinate
tuples, with linear interpolation between them; the first and last
coordinates shall be coincident.</documentation></annotation><complexContent><extension base="gml:AbstractRingType"><sequence><choice><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

101

OGC 05-047r3<documentation>GML supports two different ways tospecify the control points of a linear ring.
. A sequence of "pos" (DirectPositionType) or "pointProperty"(PointPropertyType) elements. "pos" elements are control points that are
only part of this ring, "pointProperty" elements contain a point that may
be referenced from other geometry elements or reference another point
defined outside of this ring (reuse of existing points).
. The "posList" element allows for a compact way to specifiy thecoordinates of the control points, if all control points are in the same
coordinate reference systems and belong to this ring only. The number of
direct positions in the list shall be at least four.</documentation></annotation><choice minOccurs="4" maxOccurs="unbounded"><element ref="gml:pos"/><element ref="gml:pointProperty"/><element ref="gml:pointRep"><annotation><documentation>Deprecated with GML version 3.1.0.
Use "pointProperty" instead. Included for backwards compatibility with GML
3.0.0.</documentation></annotation></element></choice><element ref="gml:posList"/><element ref="gml:coordinates"><annotation><documentation>Deprecated with GML version 3.1.0.
Use "posList" instead.</documentation></annotation></element><element ref="gml:coord" minOccurs="4"maxOccurs="unbounded"><annotation><documentation>Deprecated with GML version 3.0 andincluded for backwards compatibility with GML 2. Use "pos" elements
instead.</documentation></annotation></element></choice></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="Dictionary" type="gml:DictionaryType"substitutionGroup="gml:Definition"/><!-- ================================================= --><complexType name="DictionaryType"><annotation><documentation>A non-abstract bag that is specialized for use as adictionary which contains a set of definitions. These definitions arereferenced from other places, in the same and different XML documents. In
this restricted type, the inherited optional "description" element can beused for a description of this dictionary. The inherited optional "name"element can be used for the name(s) of this dictionary. The inherited"metaDataProperty" elements can be used to reference or contain more
information about this dictionary. The inherited required gml:id attributeallows the dictionary to be referenced using this handle. </documentation>

102

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</annotation><complexContent><extension base="gml:DefinitionType"><sequence minOccurs="0" maxOccurs="unbounded"><choice><element ref="gml:dictionaryEntry"><annotation><documentation>An entry in this dictionary. The
content of an entry can itself be a lower level dictionary or definitioncollection. This element follows the standard GML property model, so thevalue may be provided directly or by reference. Note that if the value isprovided by reference, this definition does not carry a handle (gml:id) inthis context, so does not allow external references to this specific entry
in this context. When used in this way the referenced definition willusually be in a dictionary in the same XML document. </documentation></annotation></element><element ref="gml:indirectEntry"><annotation><documentation>An identified reference to a remoteentry in this dictionary, to be used when this entry should be identified
to allow external references to this specific entry. </documentation></annotation></element></choice></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="DefinitionType"><annotation><documentation>A definition, which can be included in orreferenced by a dictionary. In this extended type, the inherited"description" optional element can hold the definition whenever only text
is needed. The inherited "name" elements can provide one or more brief
terms for which this is the definition. The inherited "metaDataProperty"
elements can be used to reference or include more information about thisdefinition. gml:id attribute is required - it shall be possible toreference this definition using this handle. </documentation></annotation><complexContent><restriction base="gml:AbstractGMLType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:description" minOccurs="0"/><element ref="gml:name" maxOccurs="unbounded"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="dictionaryEntry" type="gml:DictionaryEntryType"/><!-- ================================================= --><complexType name="DictionaryEntryType"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

103

OGC 05-047r3<documentation>An entry in a dictionary of definitions. An
instance of this type contains or refers to a definition object.
number of definitions contained in this dictionaryEntry is restricted toone, but a DefinitionCollection or Dictionary that contains multiple
definitions can be substituted if needed. Specialized descendents of this
dictionaryEntry might be restricted in an application schema to allow only
including specified types of definitions as valid entries in a dictionary.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:Definition"><annotation><documentation>This element in a dictionary entry contains
the actual definition. </documentation></annotation></element></sequence><attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>A non-identified reference to a remote entry inthis dictionary, to be used when this entry need not be identified to allow
external references to this specific entry. The remote entry referenced
will usually be in a dictionary in the same XML document. This element willusually be used in dictionaries that are inside of another dictionary.
</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><element name="Definition" type="gml:DefinitionType"substitutionGroup="gml:_GML"/><!-- ================================================= --><element name="indirectEntry" type="gml:IndirectEntryType"/><!-- ================================================= --><complexType name="IndirectEntryType"><annotation><documentation>An entry in a dictionary of definitions that
contains a GML object which references a remote definition object. This
entry is expected to be convenient in allowing multiple elements in one XML
document to contain short (abbreviated XPointer) references, which areresolved to an external definition provided in a Dictionary element in thesame XML document. Specialized descendents of this dictionaryEntry might be
restricted in an application schema to allow only including specified typesof definitions as valid entries in a dictionary. </documentation></annotation><sequence><element ref="gml:DefinitionProxy"/></sequence></complexType><!-- ================================================= --><element name="DefinitionProxy" type="gml:DefinitionProxyType"substitutionGroup="gml:Definition"/><!-- ================================================= --><complexType name="DefinitionProxyType"><annotation><documentation>A proxy entry in a dictionary of definitions. An
element of this type contains a reference to a remote definition object.
This entry is expected to be convenient in allowing multiple elements in

104

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
one XML document to contain short (abbreviated XPointer) references, which
are resolved to an external definition provided in a Dictionary element in
the same XML document. </documentation></annotation><complexContent><extension base="gml:DefinitionType"><sequence><element ref="gml:definitionRef"><annotation><documentation>A reference to a remote entry in this
dictionary, used when this dictionary entry is identified to allow externalreferences to this specific entry. The remote entry referenced can be in adictionary in the same or different XML document. </documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="definitionRef" type="gml:ReferenceType"/><!-- ================================================= --><complexType name="ReferenceType"><annotation><documentation> A pattern or base for derived types used to
specify complex types corresponding to a UML aggregation association. An
instance of this type serves as a pointer to a remote Object.
</documentation></annotation><sequence/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><!-- ================================================= --><element name="BaseUnit" type="gml:BaseUnitType"substitutionGroup="gml:UnitDefinition"/><!-- ================================================= --><complexType name="BaseUnitType"><annotation><documentation>Definition of a unit of measure which is a baseunit from the system of units. A base unit cannot be derived by
combination of other base units within this system. Sometimes known as"fundamental unit". </documentation></annotation><complexContent><extension base="gml:UnitDefinitionType"><sequence><element name="unitsSystem" type="gml:ReferenceType"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="UnitDefinitionType"><annotation><documentation>Definition of a unit of measure (or uom). The
definition includes a quantityType property, which indicates the phenomenon
to which the units apply, and a catalogSymbol, which gives the short symbol

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

105

OGC 05-047r3
used for this unit. This element is used when the relationship of this unit
to other units or units systems is unknown.</documentation></annotation><complexContent><extension base="gml:DefinitionType"><sequence><element ref="gml:quantityType"/><element ref="gml:catalogSymbol" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="quantityType" type="gml:StringOrRefType"><annotation><documentation>Informal description of the phenomenon or type ofquantity that is measured or observed. For example, "length", "angle","time", "pressure", or "temperature". When the quantity is the result of anobservation or measurement, this term is known as Observable Type or
Measurand. </documentation></annotation></element><!-- ================================================= --><element name="catalogSymbol" type="gml:CodeType"><annotation><documentation>For global understanding of a unit of measure, it
is often possible to reference an item in a catalog of units, using asymbol in that catalog. The "codeSpace" attribute in "CodeType" identifies
a namespace for the catalog symbol value, and might reference the catalog.
The "string" value in "CodeType" contains the value of a symbol that is
unique within this catalog namespace. This symbol often appears explicitly
in the catalog, but it could be a combination of symbols using a specified
algebra of units. For example, the symbol "cm" might indicate that it isthe "m" symbol combined with the "c" prefix. </documentation></annotation></element><!-- ================================================= --><element name="UnitDefinition" type="gml:UnitDefinitionType"substitutionGroup="gml:Definition"/><!-- ================================================= --><element name="ConventionalUnit" type="gml:ConventionalUnitType"substitutionGroup="gml:UnitDefinition"/><!-- ================================================= --><complexType name="ConventionalUnitType"><annotation><documentation>Definition of a unit of measure which is related toa preferred unit for this quantity type through a conversion formula. A
method for deriving this unit by algebraic combination of more primitive
units, may also be provided. </documentation></annotation><complexContent><extension base="gml:UnitDefinitionType"><sequence><choice><element ref="gml:conversionToPreferredUnit"/><element ref="gml:roughConversionToPreferredUnit"/></choice>

106

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element ref="gml:derivationUnitTerm" minOccurs="0"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="conversionToPreferredUnit"
type="gml:ConversionToPreferredUnitType"><annotation><documentation>This element is included when this unit has an
accurate conversion to the preferred unit for this quantity type.
</documentation></annotation></element><!-- ================================================= --><complexType name="ConversionToPreferredUnitType"><annotation><documentation>Relation of a unit to the preferred unit for thisquantity type, specified by an arithmetic conversion (scaling and/or
offset). A preferred unit is either a base unit or a derived unit selected
for all units of one quantity type. The mandatory attribute "uom" shallreference the preferred unit that this conversion applies to. The
conversion is specified by one of two alternative elements: "factor" or"formula". </documentation></annotation><complexContent><extension base="gml:UnitOfMeasureType"><choice><element name="factor" type="double"><annotation><documentation>Specification of the scale factor bywhich a value using this unit of measure can be multiplied to obtain thecorresponding value using the preferred unit of measure. </documentation></annotation></element><element name="formula" type="gml:FormulaType"><annotation><documentation>Specification of the formula by which avalue using this unit of measure can be converted to obtain thecorresponding value using the preferred unit of measure. </documentation></annotation></element></choice></extension></complexContent></complexType><!-- ================================================= --><complexType name="UnitOfMeasureType"><annotation><documentation>Reference to a unit of measure definition thatapplies to all the numerical values described by the element containing
this element. Notice that a complexType which needs to include the uom
attribute can do so by extending this complexType. Alternately, thiscomplexType can be used as a pattern for a new complexType.
</documentation></annotation><sequence/>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

107

OGC 05-047r3<attribute name="uom" type="anyURI" use="required"><annotation><documentation>Reference to a unit of measure definition,
usually within the same XML document but possibly outside the XML document
which contains this reference. For a reference within the same XML
document, the "#" symbol should be used, followed by a text abbreviation of
the unit name. However, the "#" symbol may be optional, and still may beinterpreted as a reference. </documentation></annotation></attribute></complexType><!-- ================================================= --><complexType name="FormulaType"><annotation><documentation>Paremeters of a simple formula by which a value
using this unit of measure can be converted to the corresponding value
using the preferred unit of measure. The formula element contains elements
a, b, c and d, whose values use the XML Schema type "double". These values
are used in the formula y = (a + bx) / (c + dx), where x is a value using
this unit, and y is the corresponding value using the preferred unit. The
elements a and d are optional, and if values are not provided, thoseparameters are considered to be zero. If values are not provided for both aand d, the formula is equivalent to a fraction with numerator anddenominator parameters. </documentation></annotation><sequence><element name="a" type="double" minOccurs="0"/><element name="b" type="double"/><element name="c" type="double"/><element name="d" type="double" minOccurs="0"/></sequence></complexType><!-- ================================================= --><element name="roughConversionToPreferredUnit"
type="gml:ConversionToPreferredUnitType"><annotation><documentation>This element is included when the correct
definition of this unit is unknown, but this unit has a rough or inaccurate
conversion to the preferred unit for this quantity type. </documentation></annotation></element><!-- ================================================= --><element name="derivationUnitTerm" type="gml:DerivationUnitTermType"/><!-- ================================================= --><complexType name="DerivationUnitTermType"><annotation><documentation>Definition of one unit term for a derived unit ofmeasure. This unit term references another unit of measure (uom) andprovides an integer exponent applied to that unit in defining the compound
unit. The exponent can be positive or negative, but not zero.
</documentation></annotation><complexContent><extension base="gml:UnitOfMeasureType"><attribute name="exponent" type="integer"/></extension></complexContent></complexType>108

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><element name="DerivedUnit" type="gml:DerivedUnitType"substitutionGroup="gml:UnitDefinition"/><!-- ================================================= --><complexType name="DerivedUnitType"><annotation><documentation>Definition of a unit of measure which is defined
through algebraic combination of more primitive units, which are usuallybase units from a particular system of units. Derived units based directly
on base units are usually preferred for quantities other than the baseunits or fundamental quantities within a system. If a derived unit is not
the preferred unit, the ConventionalUnit element should be usedinstead.</documentation></annotation><complexContent><extension base="gml:UnitDefinitionType"><sequence><element ref="gml:derivationUnitTerm"maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="ProjectedCRS" type="gml:ProjectedCRSType"substitutionGroup="gml:_GeneralDerivedCRS"/><!-- ================================================= --><complexType name="ProjectedCRSType"><annotation><documentation>A 2D coordinate reference system used toapproximate the shape of the earth on a planar surface, but in such a waythat the distortion that is inherent to the approximation is carefully
controlled and known. Distortion correction is commonly applied to
calculated bearings and distances to produce values that are a close matchto actual field values. </documentation></annotation><complexContent><extension base="gml:AbstractGeneralDerivedCRSType"><sequence><element ref="gml:usesCartesianCS"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractGeneralDerivedCRSType" abstract="true"><annotation><documentation>A coordinate reference system that is defined byits coordinate conversion from another coordinate reference system (not bya datum). This abstract complexType shall not be used, extended, or
restricted, in an Application Schema, to define a concrete subtype with ameaning equivalent to a concrete subtype specified in this document.
</documentation></annotation><complexContent><extension base="gml:AbstractReferenceSystemType"><sequence><element ref="gml:baseCRS"/>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

109

OGC 05-047r3<element ref="gml:definedByConversion"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractReferenceSystemType" abstract="true"><annotation><documentation>Description of a spatial and/or temporal reference
system used by a dataset. </documentation></annotation><complexContent><extension base="gml:AbstractReferenceSystemBaseType"><sequence><element ref="gml:srsID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alterative identifications of
this reference system. The first srsID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thisreference system, including source information. </documentation></annotation></element><element ref="gml:validArea" minOccurs="0"/><element ref="gml:scope" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractReferenceSystemBaseType" abstract="true"><annotation><documentation>Basic encoding for reference system objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:srsName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="srsName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this reference system is
identified. </documentation></annotation>

110

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</element><!-- ================================================= --><element name="srsID" type="gml:IdentifierType"><annotation><documentation>An identification of a reference system.
</documentation></annotation></element><!-- ================================================= --><complexType name="IdentifierType"><annotation><documentation>An identification of a CRS object. The first use of
the IdentifierType for an object, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation><sequence><element ref="gml:name"><annotation><documentation>The code or name for this Identifier, often
from a controlled list or pattern defined by a code space. The optional
codeSpace attribute is normally included to identify or reference a code
space within which one or more codes are defined. This code space is often
defined by some authority organization, where one organization may define
multiple code spaces. The range and format of each Code Space identifier isdefined by that code space authority. Information about that code spaceauthority can be included as metaDataProperty elements which are optionallyallowed in all CRS objects. </documentation></annotation></element><element ref="gml:version" minOccurs="0"/><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Remarks about this code or alias.
</documentation></annotation></element></sequence></complexType><!-- ================================================= --><element name="version" type="string"><annotation><documentation>Identifier of the version of the associatedcodeSpace or code, as specified by the codeSpace or code authority. Thisversion is included only when the "code" or "codeSpace" uses versions. Whenappropriate, the version is identified by the effective date, coded using
ISO 8601 date format. </documentation></annotation></element><!-- ================================================= --><element name="remarks" type="gml:StringOrRefType"><annotation><documentation>Information about this object or code. Contains
text or refers to external text. </documentation></annotation></element><!-- ================================================= --><element name="validArea" type="gml:ExtentType"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

111

OGC 05-047r3<documentation>Area or region in which this CRS object is valid.
</documentation></annotation></element><!-- ================================================= --><complexType name="ExtentType"><annotation><documentation>Information about the spatial, vertical, and/or
temporal extent of a reference system object. Constraints: At least one of
the elements "description", "boundingBox", "boundingPolygon","verticalExtent", and temporalExtent" shall be included, but more that one
can be included when appropriate. Furthermore, more than one "boundingBox","boundingPolygon", "verticalExtent", and/or temporalExtent" element can be
included, with more than one meaning the union of the individual domains.
</documentation></annotation><sequence><element ref="gml:description" minOccurs="0"><annotation><documentation>Description of spatial and/or temporal extent
of this object. </documentation></annotation></element><choice><annotation><documentation>Geographic domain of this reference systemobject. </documentation></annotation><element ref="gml:boundingBox" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of bounding boxes (orenvelopes) whose union describes the spatial domain of this object.
</documentation></annotation></element><element ref="gml:boundingPolygon" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of bounding polygons whose
union describes the spatial domain of this object. </documentation></annotation></element></choice><element ref="gml:verticalExtent" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of vertical intervals whose
union describes the spatial domain of this object. </documentation></annotation></element><element ref="gml:temporalExtent" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of time periods whose union
describes the spatial domain of this object. </documentation></annotation></element>

112

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</sequence></complexType><!-- ================================================= --><element name="boundingBox" type="gml:EnvelopeType"><annotation><documentation>A bounding box (or envelope) defining the spatial
domain of this object. </documentation></annotation></element><!-- ================================================= --><element name="boundingPolygon" type="gml:PolygonType"><annotation><documentation>A bounding polygon defining the horizontal spatial
domain of this object. </documentation></annotation></element><!-- ================================================= --><element name="verticalExtent" type="gml:EnvelopeType"><annotation><documentation>An interval defining the vertical spatial domain of
this object. </documentation></annotation></element><!-- ================================================= --><element name="temporalExtent" type="gml:TimePeriodType"><annotation><documentation>A time period defining the temporal domain of thisobject. </documentation></annotation></element><!-- ================================================= --><complexType name="TimePeriodType"><complexContent><extension base="gml:AbstractTimeGeometricPrimitiveType"><sequence><choice><element name="beginPosition"
type="gml:TimePositionType"/><element name="begin"
type="gml:TimeInstantPropertyType"/></choice><choice><element name="endPosition" type="gml:TimePositionType"/><element name="end" type="gml:TimeInstantPropertyType"/></choice><group ref="gml:timeLength" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractTimeGeometricPrimitiveType" abstract="true"><annotation><documentation xml:lang="en">The abstract supertype for temporal geometric primitives.
A temporal geometry shall be associated with a temporal reference
system via URI.

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

113

OGC 05-047r3
The Gregorian calendar with UTC is the default reference system,
following ISO
8601. Other reference systems in common use include the GPS calendar
and theJulian calendar.
</documentation></annotation><complexContent><extension base="gml:AbstractTimePrimitiveType"><attribute name="frame" type="anyURI" use="optional"
default="#ISO-8601"/></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractTimePrimitiveType" abstract="true"><annotation><documentation xml:lang="en">The abstract supertype for temporal primitives.
</documentation></annotation><complexContent><extension base="gml:AbstractTimeObjectType"><sequence><element name="relatedTime" type="gml:RelatedTimeType"minOccurs="0" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="RelatedTimeType"><complexContent><extension base="gml:TimePrimitivePropertyType"><attribute name="relativePosition"><simpleType><restriction base="string"><enumeration value="Before"/><enumeration value="After"/><enumeration value="Begins"/><enumeration value="Ends"/><enumeration value="During"/><enumeration value="Equals"/><enumeration value="Contains"/><enumeration value="Overlaps"/><enumeration value="Meets"/><enumeration value="OverlappedBy"/><enumeration value="MetBy"/><enumeration value="BegunBy"/><enumeration value="EndedBy"/></restriction></simpleType></attribute></extension></complexContent></complexType><!-- ================================================= --><complexType name="TimePrimitivePropertyType">

114

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<sequence minOccurs="0"><element ref="gml:_TimePrimitive"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="_TimePrimitive" type="gml:AbstractTimePrimitiveType"abstract="true" substitutionGroup="gml:_TimeObject"><annotation><documentation xml:lang="en">This abstract element acts as the head of the substitution group for
temporal primitives.
</documentation></annotation></element><!-- ================================================= --><complexType name="TimePositionType" final="#all"><annotation><documentation xml:lang="en">Direct representation of a temporal
position.
Indeterminate time values are also allowed, as described in ISO 19108.
The indeterminatePosition
attribute can be used alone or it can qualify a specific value fortemporal position (e.g. before
2002-12, after 1019624400).
For time values that identify position within a calendar, thecalendarEraName attribute provides
the name of the calendar era to which the date is referenced (e.g. theMeiji era of the Japanese calendar).
</documentation></annotation><simpleContent><extension base="gml:TimePositionUnion"><attribute name="frame" type="anyURI" use="optional"
default="#ISO-8601"/><attribute name="calendarEraName" type="string"use="optional"/><attribute name="indeterminatePosition"
type="gml:TimeIndeterminateValueType" use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="TimePositionUnion"><annotation><documentation xml:lang="en">The ISO 19108:2002 hierarchy of subtypes for temporal position arecollapsedby defining a union of XML Schema simple types for indicating temporal
position relative
to a specific reference system.
Dates and dateTime may be indicated with varying degrees of precision.
dateTime by itself does not allow right-truncation, except for
fractions of seconds.
When used with non-Gregorian calendars based on years, months, days,
the same lexical representation should still be used, with leading
zeros added if the

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

115

OGC 05-047r3
year value would otherwise have fewer than four digits.
An ordinal position may be referenced via URI identifying thedefinition of an ordinal era.
A time coordinate value is indicated as a decimal (e.g. UNIX time, GPS
calendar).
</documentation></annotation><union memberTypes="gml:CalDate time dateTime anyURI decimal"/></simpleType><!-- ================================================= --><simpleType name="CalDate"><annotation><documentation xml:lang="en">Calendar dates may be indicated with varying degrees of precision,using year, year-month, date.
When used with non-Gregorian calendars based on years, months, days,
the same lexical representation should still be used, with leading
zeros added if theyear value would otherwise have fewer than four digits.
time is used for a position that recurs daily (see clause 5.4.4.2 of
ISO 19108:2002).
</documentation></annotation><union memberTypes="date gYearMonth gYear"/></simpleType><!-- ================================================= --><!-- ================================================= --><!-- ================================================= --><!-- ================================================= --><!-- ================================================= --><!-- ================================================= --><!-- ================================================= --><simpleType name="TimeIndeterminateValueType"><annotation><documentation xml:lang="en">This enumerated data type specifies values for indeterminate
positions.
</documentation></annotation><restriction base="string"><enumeration value="after"/><enumeration value="before"/><enumeration value="now"/><enumeration value="unknown"/></restriction></simpleType><!-- ================================================= --><complexType name="TimeInstantPropertyType"><sequence minOccurs="0"><element ref="gml:TimeInstant"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="TimeInstant" type="gml:TimeInstantType"substitutionGroup="gml:_TimeGeometricPrimitive"/>

116

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><complexType name="TimeInstantType"><annotation><documentation>Omit back-pointers begunBy, endedBy.
</documentation></annotation><complexContent><extension base="gml:AbstractTimeGeometricPrimitiveType"><sequence><element ref="gml:timePosition"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="timePosition" type="gml:TimePositionType"><annotation><documentation>Direct representation of a temporal
position</documentation></annotation></element><!-- ================================================= --><element name="_TimeGeometricPrimitive"
type="gml:AbstractTimeGeometricPrimitiveType" abstract="true"
substitutionGroup="gml:_TimePrimitive"><annotation><documentation xml:lang="en">This abstract element acts as the head of the substitution group for
temporal geometric primitives.
</documentation></annotation></element><!-- ================================================= --><group name="timeLength"><annotation><documentation>This model group is provided as an alternative tothe abstract susbstitutionGroup head _timeLength.
19136 comment 411</documentation></annotation><choice><element ref="gml:duration"/><element ref="gml:timeInterval"/></choice></group><!-- ================================================= --><element name="duration" type="duration"><annotation><documentation xml:lang="en">This element is an instance of the primitive xsd:duration simple typetoenable use of the ISO 8601 syntax for temporal length (e.g.
P5DT4H30M).
It is a valid subtype of TimeDurationType according to section 3.14.6,
rule 2.2.4 in XML Schema, Part 1.
</documentation></annotation></element><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

117

OGC 05-047r3<element name="timeInterval" type="gml:TimeIntervalLengthType"><annotation><documentation>
element is a valid subtype of TimeDurationType
to section 3.14.6, rule 2.2.4 in XML Schema, Part 1.
</documentation></annotation></element><!-- ================================================= --><complexType name="TimeIntervalLengthType" final="#all"><annotation><documentation xml:lang="en">This type extends the built-in xsd:decimal simple type to allow
floating-pointvalues for temporal length. According to the ISO 11404 model you haveto usepositiveInteger together with appropriate values for radix and factor.
The
resolution of the time interval is to one radix ^(-factor) of thespecifiedtime unit (e.g. unit="second", radix="10", factor="3" specifies a
resolutionof milliseconds). It is a subtype of TimeDurationType.
</documentation></annotation><simpleContent><extension base="decimal"><attribute name="unit" type="gml:TimeUnitType" use="required"/><attribute name="radix" type="positiveInteger" use="optional"/><attribute name="factor" type="integer" use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="TimeUnitType"><annotation><documentation xml:lang="en">Standard units for measuring time intervals (see ISO 31-1).
</documentation></annotation><union><simpleType><restriction base="string"><enumeration value="year"/><enumeration value="day"/><enumeration value="hour"/><enumeration value="minute"/><enumeration value="second"/></restriction></simpleType><simpleType><restriction base="string"><pattern value="other:\w{2,}"/></restriction></simpleType></union></simpleType><!-- ================================================= -->118

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element name="scope" type="string"><annotation><documentation>Description of domain of usage, or limitations ofusage, for which this CRS object is valid. </documentation></annotation></element><!-- ================================================= --><element name="baseCRS" type="gml:CoordinateReferenceSystemRefType"><annotation><documentation>Association to the coordinate reference system usedby this derived CRS. </documentation></annotation></element><!-- ================================================= --><complexType name="CoordinateReferenceSystemRefType"><annotation><documentation>Association to a coordinate reference system,
either referencing or containing the definition of that reference system.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:_CoordinateReferenceSystem"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="_CoordinateReferenceSystem"
type="gml:AbstractReferenceSystemType" abstract="true"
substitutionGroup="gml:_CRS"><annotation><documentation>A coordinate reference system consists of anordered sequence of coordinate system axes that are related to the earth
through a datum. A coordinate reference system is defined by one datum andby one coordinate system. Most coordinate reference system do not move
relative to the earth, except for engineering coordinate reference systems
defined on moving platforms such as cars, ships, aircraft, and spacecraft.
For further information, see OGC Abstract Specification Topic 2.
reference systems are commonly divided into sub-types. The common
classification criterion for sub-typing of coordinate reference systems is
the way in which they deal with earth curvature. This has a direct effecton the portion of the earth's surface that can be covered by that type of
CRS with an acceptable degree of error. The exception to the rule is thesubtype "Temporal" which has been added by analogy. </documentation></annotation></element><!-- ================================================= --><element name="_CRS" type="gml:AbstractReferenceSystemType"abstract="true" substitutionGroup="gml:_ReferenceSystem"><annotation><documentation>Abstract coordinate reference system, usually
defined by a coordinate system and a datum. This abstract complexType shallnot be used, extended, or restricted, in an Application Schema, to define a
concrete subtype with a meaning equivalent to a concrete subtype specified
in this document. </documentation></annotation></element><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

119OGC 05-047r3<element name="_ReferenceSystem" type="gml:AbstractReferenceSystemType"abstract="true" substitutionGroup="gml:Definition"/><!-- ================================================= --><element name="definedByConversion" type="gml:GeneralConversionRefType"><annotation><documentation>Association to the coordinate conversion used todefine this derived CRS. </documentation></annotation></element><!-- ================================================= --><complexType name="GeneralConversionRefType"><annotation><documentation>Association to a general conversion, either
referencing or containing the definition of that conversion.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:_GeneralConversion"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="_GeneralConversion"
type="gml:AbstractGeneralConversionType" abstract="true"
substitutionGroup="gml:_Operation"/><!-- ================================================= --><complexType name="AbstractGeneralConversionType" abstract="true"><annotation><documentation>An abstract operation on coordinates that does notinclude any change of datum. The best-known example of a coordinate
conversion is a map projection. The parameters describing coordinate
conversions are defined rather than empirically derived. Note that someconversions have no parameters.
abstract complexType is expected to be extended for well-known operation
methods with many Conversion instances, in Application Schemas that define
operation-method-specialized element names and contents. This conversion
uses an operation method, usually with associated parameter values.
However, operation methods and parameter values are directly associatedwith concrete subtypes, not with this abstract type. All concrete types
derived from this type shall extend this type to include a "usesMethod"element that references the "OperationMethod" element. Similarly, allconcrete types derived from this type shall extend this type to include
zero or more elements each named "uses...Value" that each use the type ofan element substitutable for the "_generalParameterValue" element.
</documentation></annotation><complexContent><restriction base="gml:AbstractCoordinateOperationType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:coordinateOperationName"/><element ref="gml:coordinateOperationID" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:remarks" minOccurs="0"/><element ref="gml:validArea" minOccurs="0"/><element ref="gml:scope" minOccurs="0"/>120

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element ref="gml:_positionalAccuracy" minOccurs="0"
maxOccurs="unbounded"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><complexType name="AbstractCoordinateOperationType" abstract="true"><annotation><documentation>A mathematical operation on coordinates thattransforms or converts coordinates to another coordinate reference system.
Many but not all coordinate operations (from CRS A to CRS B) also uniquely
define the inverse operation (from CRS B to CRS A). In some cases, theoperation method algorithm for the inverse operation is the same as for theforward algorithm, but the signs of some operation parameter values shallbe reversed. In other cases, different algorithms are required for theforward and inverse operations, but the same operation parameter values areused. If (some) entirely different parameter values are needed, a different
coordinate operation shall be defined.</documentation></annotation><complexContent><extension base="gml:AbstractCoordinateOperationBaseType"><sequence><element ref="gml:coordinateOperationID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this coordinate operation. The first coordinateOperationID, if any, isnormally the primary identification code, and any others are aliases.
</documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thiscoordinate operation, including source information. </documentation></annotation></element><element ref="gml:operationVersion" minOccurs="0"/><element ref="gml:validArea" minOccurs="0"/><element ref="gml:scope" minOccurs="0"/><element ref="gml:_positionalAccuracy" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered set of estimates of the
impact of this coordinate operation on point position accuracy. Gives
position error estimates for target coordinates of this coordinate
operation, assuming no errors in source coordinates. </documentation></annotation></element><element ref="gml:sourceCRS" minOccurs="0"/><element ref="gml:targetCRS" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

121

OGC 05-047r3<complexType name="AbstractCoordinateOperationBaseType" abstract="true"><annotation><documentation>Basic encoding for coordinate operation objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:coordinateOperationName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="coordinateOperationName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this coordinate operation is
identified. </documentation></annotation></element><!-- ================================================= --><element name="coordinateOperationID" type="gml:IdentifierType"><annotation><documentation>An identification of a coordinate operation.
</documentation></annotation></element><!-- ================================================= --><element name="operationVersion" type="string"><annotation><documentation>Version of the coordinate transformation (i.e.,
instantiation due to the stochastic nature of the parameters). Mandatorywhen describing a transformation, and should not be supplied for aconversion. </documentation></annotation></element><!-- ================================================= --><element name="_positionalAccuracy"
type="gml:AbstractPositionalAccuracyType" abstract="true"/><!-- ================================================= --><complexType name="AbstractPositionalAccuracyType" abstract="true"><annotation><documentation>Position error estimate (or accuracy) data.
</documentation></annotation><sequence><element ref="gml:measureDescription" minOccurs="0"/></sequence></complexType><!-- ================================================= --><element name="measureDescription" type="gml:CodeType"><annotation><documentation>A description of the position accuracy parameter(s)provided. </documentation>

122

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</annotation></element><!-- ================================================= --><element name="sourceCRS" type="gml:CRSRefType"><annotation><documentation>Association to the source CRS (coordinate reference
system) of this coordinate operation. </documentation></annotation></element><!-- ================================================= --><complexType name="CRSRefType"><annotation><documentation>Association to a CRS abstract coordinate reference
system, either referencing or containing the definition of that CRS.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:_CRS"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="targetCRS" type="gml:CRSRefType"><annotation><documentation>Association to the target CRS (coordinate reference
system) of this coordinate operation. For constraints on multiplicity of"sourceCRS" and "targetCRS", see UML model of Coordinate Operation package
in OGC Abstract Specification topic 2. </documentation></annotation></element><!-- ================================================= --><element name="_Operation" type="gml:AbstractCoordinateOperationType"abstract="true" substitutionGroup="gml:_SingleOperation"><annotation><documentation>A parameterized mathematical operation on
coordinates that transforms or converts coordinates to another coordinate
reference system. This coordinate operation uses an operation method,usually with associated parameter values. However, operation methods andparameter values are directly associated with concrete subtypes, not withthis abstract type.
abstract complexType shall not be directly used, extended, or restricted in
a compliant Application Schema. </documentation></annotation></element><!-- ================================================= --><element name="_SingleOperation"
type="gml:AbstractCoordinateOperationType" abstract="true"
substitutionGroup="gml:_CoordinateOperation"><annotation><documentation>A single (not concatenated) coordinate operation.
</documentation></annotation></element><!-- ================================================= --><element name="_CoordinateOperation"
type="gml:AbstractCoordinateOperationType" abstract="true"
substitutionGroup="gml:Definition"/><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

123

OGC 05-047r3<element name="usesCartesianCS" type="gml:CartesianCSRefType"><annotation><documentation>Association to the Cartesian coordinate system usedby this CRS. </documentation></annotation></element><!-- ================================================= --><complexType name="CartesianCSRefType"><annotation><documentation>Association to a Cartesian coordinate system,
either referencing or containing the definition of that coordinate system.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:CartesianCS"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="CartesianCS" type="gml:CartesianCSType"substitutionGroup="gml:_CoordinateSystem"/><!-- ================================================= --><complexType name="CartesianCSType"><annotation><documentation>A 1-, 2-, or 3-dimensional coordinate system. Gives
the position of points relative to orthogonal straight axes in the 2- and3-dimensional cases. In the 1-dimensional case, it contains a single
straight coordinate axis. In the multi-dimensional case, all axes shallhave the same length unit of measure. A CartesianCS shall have one, two, or
three usesAxis associations. </documentation></annotation><complexContent><extension base="gml:AbstractCoordinateSystemType"/></complexContent></complexType><!-- ================================================= --><complexType name="AbstractCoordinateSystemType" abstract="true"><annotation><documentation>A coordinate system (CS) is the set of coordinate
system axes that spans a given coordinate space. A CS is derived from a setof (mathematical) rules for specifying how coordinates in a given space are
to be assigned to points. The coordinate values in a coordinate tuple shallbe recorded in the order in which the coordinate system axes associations
are recorded, whenever those coordinates use a coordinate reference systemthat uses this coordinate system. This abstract complexType shall not be
used, extended, or restricted, in an Application Schema, to define a
concrete subtype with a meaning equivalent to a concrete subtype specified
in this document. </documentation></annotation><complexContent><extension base="gml:AbstractCoordinateSystemBaseType"><sequence><element ref="gml:csID" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this coordinate system. The first csID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation>

124

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thiscoordinate system, including data source information. </documentation></annotation></element><element ref="gml:usesAxis" maxOccurs="unbounded"><annotation><documentation>Ordered sequence of associations to thecoordinate system axes included in this coordinate system. </documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractCoordinateSystemBaseType" abstract="true"><annotation><documentation>Basic encoding for coordinate system objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:csName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="csName" type="gml:CodeType" substitutionGroup="gml:name"><annotation><documentation>The name by which this coordinate system is
identified. </documentation></annotation></element><!-- ================================================= --><element name="csID" type="gml:IdentifierType"><annotation><documentation>An identification of a coordinate system.
</documentation></annotation></element><!-- ================================================= --><element name="usesAxis" type="gml:CoordinateSystemAxisRefType"><annotation><documentation>Association to a coordinate system axis.
</documentation></annotation></element><!-- ================================================= --><complexType name="CoordinateSystemAxisRefType"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

125OGC 05-047r3<documentation>Association to a coordinate system axis, either
referencing or containing the definition of that axis. </documentation></annotation><sequence minOccurs="0"><element ref="gml:CoordinateSystemAxis"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType"substitutionGroup="gml:Definition"/><!-- ================================================= --><complexType name="CoordinateSystemAxisType"><annotation><documentation>Definition of a coordinate system axis.
</documentation></annotation><complexContent><extension base="gml:CoordinateSystemAxisBaseType"><sequence><element ref="gml:axisID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this coordinate system axis. The first axisID, if any, is normally the
primary identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thiscoordinate system axis, including data source information. </documentation></annotation></element><element ref="gml:axisAbbrev"/><element ref="gml:axisDirection"/></sequence><attribute ref="gml:uom" use="required"/></extension></complexContent></complexType><!-- ================================================= --><complexType name="CoordinateSystemAxisBaseType" abstract="true"><annotation><documentation>Basic encoding for coordinate system axis objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:name"><annotation><documentation>The name by which this coordinate
system axis is identified. </documentation></annotation></element>

126

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="axisID" type="gml:IdentifierType"><annotation><documentation>An identification of a coordinate system axis.
</documentation></annotation></element><!-- ================================================= --><element name="axisAbbrev" type="gml:CodeType"><annotation><documentation>The abbreviation used for this coordinate systemaxis. This abbreviation can be used to identify the ordinates in acoordinate tuple. Examples are X and Y. The codeSpace attribute canreference a source of more information on a set of standardized
abbreviations, or on this abbreviation. </documentation></annotation></element><!-- ================================================= --><element name="axisDirection" type="gml:CodeType"><annotation><documentation>Direction of this coordinate system axis (or in thecase of Cartesian projected coordinates, the direction of this coordinate
system axis at the origin). Examples: north or south, east or west, up or
down. Within any set of coordinate system axes, only one of each pair ofterms can be used. For earth-fixed CRSs, this direction is often
approximate and intended to provide a human interpretable meaning to theaxis. When a geodetic datum is used, the precise directions of the axes may
therefore vary slightly from this approximate direction. Note that an
EngineeringCRS can include specific descriptions of the directions of its
coordinate system axes. For example, the path of a linear CRS axis can bereferenced in another document, such as referencing a GML feature thatreferences or includes a curve geometry. The codeSpace attribute canreference a source of more information on a set of standardized directions,or on this direction. </documentation></annotation></element><!-- ================================================= --><attribute name="uom" type="anyURI"><annotation><documentation>Identifier of the unit of measure used for thiscoordinate system axis. The value of this coordinate in a coordinate tuple
shall be recorded using this unit of measure, whenever those coordinates
use a coordinate reference system that uses a coordinate system that uses
this axis.</documentation></annotation></attribute><!-- ================================================= --><element name="_CoordinateSystem"
type="gml:AbstractCoordinateSystemType" abstract="true"
substitutionGroup="gml:Definition"/><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

127

OGC 05-047r3<element name="_GeneralDerivedCRS"
type="gml:AbstractGeneralDerivedCRSType" abstract="true"
substitutionGroup="gml:_CoordinateReferenceSystem"/><!-- ================================================= --><element name="Conversion" type="gml:ConversionType"substitutionGroup="gml:_GeneralConversion"/><!-- ================================================= --><complexType name="ConversionType"><annotation><documentation>A concrete operation on coordinates that does notinclude any change of Datum. The best-known example of a coordinate
conversion is a map projection. The parameters describing coordinate
conversions are defined rather than empirically derived. Note that someconversions have no parameters.
concrete complexType can be used with all operation methods, without using
an Application Schema that defines operation-method-specialized element
names and contents, especially for methods with only one Conversion
instance. </documentation></annotation><complexContent><extension base="gml:AbstractGeneralConversionType"><sequence><element ref="gml:usesMethod"/><element ref="gml:usesValue" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of composition
associations to the set of parameter values used by this conversion
operation. </documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="usesMethod" type="gml:OperationMethodRefType"><annotation><documentation>Association to the operation method used by thiscoordinate operation. </documentation></annotation></element><!-- ================================================= --><complexType name="OperationMethodRefType"><annotation><documentation>Association to a concrete general-purpose operation
method, either referencing or containing the definition of that method.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:OperationMethod"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="OperationMethod" type="gml:OperationMethodType"substitutionGroup="gml:Definition"/><!-- ================================================= -->128

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<complexType name="OperationMethodType"><annotation><documentation>Definition of an algorithm used to perform acoordinate operation. Most operation methods use a number of operation
parameters, although some coordinate conversions use none. Each coordinate
operation using the method assigns values to these parameters.
</documentation></annotation><complexContent><extension base="gml:OperationMethodBaseType"><sequence><element ref="gml:methodID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this operation method. The first methodID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thisoperation method, including source information.</documentation></annotation></element><element ref="gml:methodFormula"/><element ref="gml:sourceDimensions"/><element ref="gml:targetDimensions"/><element ref="gml:usesParameter" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Unordered list of associations to theset of operation parameters and parameter groups used by this operation
method. </documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="OperationMethodBaseType" abstract="true"><annotation><documentation>Basic encoding for operation method objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:methodName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

129

OGC 05-047r3<element name="methodName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this operation method is
identified. </documentation></annotation></element><!-- ================================================= --><element name="methodID" type="gml:IdentifierType"><annotation><documentation>An identification of an operation method.
</documentation></annotation></element><!-- ================================================= --><element name="methodFormula" type="gml:CodeType"><annotation><documentation>Formula(s) used by this operation method. The value
may be a reference to a publication. Note that the operation method may not
be analytic, in which case this element references or contains theprocedure, not an analytic formula.</documentation></annotation></element><!-- ================================================= --><element name="sourceDimensions" type="positiveInteger"><annotation><documentation>Number of dimensions in the source CRS of thisoperation method. </documentation></annotation></element><!-- ================================================= --><element name="targetDimensions" type="positiveInteger"><annotation><documentation>Number of dimensions in the target CRS of thisoperation method. </documentation></annotation></element><!-- ================================================= --><element name="usesParameter"
type="gml:AbstractGeneralOperationParameterRefType"><annotation><documentation>Association to an operation parameter or parametergroup used by this operation method. </documentation></annotation></element><!-- ================================================= --><complexType name="AbstractGeneralOperationParameterRefType"><annotation><documentation>Association to an operation parameter or group,
either referencing or containing the definition of that parameter or group.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:_GeneralOperationParameter"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= -->130

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element name="_GeneralOperationParameter"
type="gml:AbstractGeneralOperationParameterType" abstract="true"
substitutionGroup="gml:Definition"/><!-- ================================================= --><complexType name="AbstractGeneralOperationParameterType"abstract="true"><annotation><documentation>Abstract definition of a parameter or group ofparameters used by an operation method. </documentation></annotation><complexContent><extension base="gml:DefinitionType"><sequence><element ref="gml:minimumOccurs" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="minimumOccurs" type="nonNegativeInteger"><annotation><documentation>The minimum number of times that values for thisparameter group or parameter are required. If this attribute is omitted,
the minimum number is one. </documentation></annotation></element><!-- ================================================= --><element name="usesValue" type="gml:ParameterValueType"><annotation><documentation>Composition association to a parameter value usedby this coordinate operation. </documentation></annotation></element><!-- ================================================= --><complexType name="ParameterValueType"><annotation><documentation>A parameter value, ordered sequence of values, orreference to a file of parameter values. This concrete complexType can beused for operation methods without using an Application Schema that defines
operation-method-specialized element names and contents, especially formethods with only one instance. This complexType can be used, extended, or
restricted for well-known operation methods, especially for methods withmany instances. </documentation></annotation><complexContent><extension base="gml:AbstractGeneralParameterValueType"><sequence><choice><element ref="gml:value"/><element ref="gml:dmsAngleValue"/><element ref="gml:stringValue"/><element ref="gml:integerValue"/><element ref="gml:booleanValue"/><element ref="gml:valueList"/><element ref="gml:integerValueList"/><element ref="gml:valueFile"/></choice><element ref="gml:valueOfParameter"/>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

131

OGC 05-047r3</sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractGeneralParameterValueType" abstract="true"><annotation><documentation>Abstract parameter value or group of parametervalues.
abstract complexType is expected to be extended and restricted forwell-known operation methods with many instances, in Application Schemas
that define operation-method-specialized element names and contents.
Specific parameter value elements are directly contained in concrete
subtypes, not in this abstract type. All concrete types derived from thistype shall extend this type to include one "...Value" element with anappropriate type, which should be one of the element types allowed in the
ParameterValueType. In addition, all derived concrete types shall extend
this type to include a "valueOfParameter" element that references one
element substitutable for the "OperationParameter" element.
</documentation></annotation><sequence/></complexType><!-- ================================================= --><element name="value" type="gml:MeasureType"><annotation><documentation>Numeric value of an operation parameter, with its
associated unit of measure. </documentation></annotation></element><!-- ================================================= --><element name="dmsAngleValue" type="gml:DMSAngleType"><annotation><documentation>Value of an angle operation parameter, in either
degree-minute-second format or single value format. </documentation></annotation></element><!-- ================================================= --><complexType name="DMSAngleType"><annotation><documentation>Angle value provided in degree-minute-second or
degree-minute format. </documentation></annotation><sequence><element ref="gml:degrees"/><choice minOccurs="0"><element ref="gml:decimalMinutes"/><sequence><element ref="gml:minutes"/><element ref="gml:seconds" minOccurs="0"/></sequence></choice></sequence></complexType><!-- ================================================= --><element name="degrees" type="gml:DegreesType"/><!-- ================================================= --><complexType name="DegreesType">132

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<annotation><documentation>Integer number of degrees, plus the angle
direction. This element can be used for geographic Latitude and Longitude.
For Latitude, the XML attribute direction can take the values "N" or "S",meaning North or South of the equator. For Longitude, direction can takethe values "E" or "W", meaning East or West of the prime meridian. Thiselement can also be used for other angles. In that case, the direction cantake the values "+" or "-" (of SignType), in the specified rotational
direction from a specified reference direction. </documentation></annotation><simpleContent><extension base="gml:DegreeValueType"><attribute name="direction"><simpleType><union><simpleType><restriction base="string"><enumeration value="N"/><enumeration value="E"/><enumeration value="S"/><enumeration value="W"/></restriction></simpleType><simpleType><restriction base="gml:SignType"/></simpleType></union></simpleType></attribute></extension></simpleContent></complexType><!-- ================================================= --><simpleType name="DegreeValueType"><annotation><documentation>Integer number of degrees in a degree-minute-secondor degree-minute angular value, without indication of direction.
</documentation></annotation><restriction base="nonNegativeInteger"><maxInclusive value="359"/></restriction></simpleType><!-- ================================================= --><simpleType name="SignType"><annotation><documentation>Utility type used in various places- e.g. to indicate the direction of topological objects;"+" for forwards, or "-" for backwards.</documentation></annotation><restriction base="string"><enumeration value="-"/><enumeration value="+"/></restriction></simpleType><!-- ================================================= --><element name="decimalMinutes" type="gml:DecimalMinutesType"/><!-- ================================================= -->Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

133

OGC 05-047r3<simpleType name="DecimalMinutesType"><annotation><documentation>Decimal number of arc-minutes in a degree-minuteangular value. </documentation></annotation><restriction base="decimal"><minInclusive value="0.00"/><maxExclusive value="60.00"/></restriction></simpleType><!-- ================================================= --><element name="minutes" type="gml:ArcMinutesType"/><!-- ================================================= --><simpleType name="ArcMinutesType"><annotation><documentation>Integer number of arc-minutes in a degree-minutesecond angular value. </documentation></annotation><restriction base="nonNegativeInteger"><maxInclusive value="59"/></restriction></simpleType><!-- ================================================= --><element name="seconds" type="gml:ArcSecondsType"/><!-- ================================================= --><simpleType name="ArcSecondsType"><annotation><documentation>Number of arc-seconds in a degree-minute-second
angular value. </documentation></annotation><restriction base="decimal"><minInclusive value="0.00"/><maxExclusive value="60.00"/></restriction></simpleType><!-- ================================================= --><element name="stringValue" type="string"><annotation><documentation>String value of an operation parameter. A stringvalue does not have an associated unit of measure. </documentation></annotation></element><!-- ================================================= --><element name="integerValue" type="positiveInteger"><annotation><documentation>Positive integer value of an operation parameter,
usually used for a count. An integer value does not have an associated unitof measure. </documentation></annotation></element><!-- ================================================= --><element name="booleanValue" type="boolean"><annotation><documentation>Boolean value of an operation parameter. A Boolean
value does not have an associated unit of measure. </documentation></annotation></element><!-- ================================================= -->134

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<element name="valueList" type="gml:MeasureListType"><annotation><documentation>Ordered sequence of two or more numeric values ofan operation parameter list, where each value has the same associated unitof measure. An element of this type contains a space-separated sequence of
double values. </documentation></annotation></element><!-- ================================================= --><complexType name="MeasureListType"><annotation><documentation>List of numbers with a uniform scale.
The value of uom (Units Of Measure) attribute is a reference toa Reference System for the amount, either a ratio or position scale.
</documentation></annotation><simpleContent><extension base="gml:doubleList"><attribute name="uom" type="anyURI" use="required"/></extension></simpleContent></complexType><!-- ================================================= --><element name="integerValueList" type="gml:integerList"><annotation><documentation>Ordered sequence of two or more integer values ofan operation parameter list, usually used for counts. These integer values
do not have an associated unit of measure. An element of this type contains
a space-separated sequence of integer values. </documentation></annotation></element><!-- ================================================= --><element name="valueFile" type="anyURI"><annotation><documentation>Reference to a file or a part of a file containing
one or more parameter values, each numeric value with its associated unitof measure. When referencing a part of a file, that file shall containmultiple identified parts, such as an XML encoded document. Furthermore,
the referenced file or part of a file can reference another part of thesame or different files, as allowed in XML documents. </documentation></annotation></element><!-- ================================================= --><element name="valueOfParameter" type="gml:OperationParameterRefType"><annotation><documentation>Association to the operation parameter that this isa value of. </documentation></annotation></element><!-- ================================================= --><complexType name="OperationParameterRefType"><annotation><documentation>Association to an operation parameter, either
referencing or containing the definition of that parameter.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:OperationParameter"/>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

135

OGC 05-047r3</sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="OperationParameter" type="gml:OperationParameterType"substitutionGroup="gml:_GeneralOperationParameter"/><!-- ================================================= --><complexType name="OperationParameterType"><annotation><documentation>The definition of a parameter used by an operation
method. Most parameter values are numeric, but other types of parametervalues are possible. This complexType is expected to be used or extended
for all operation methods, without defining operation-method-specialized
element names. </documentation></annotation><complexContent><extension base="gml:OperationParameterBaseType"><sequence><element ref="gml:parameterID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this operation parameter. The first parameterID, if any, is normally the
primary identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thisoperation parameter, including source information. </documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="OperationParameterBaseType" abstract="true"><annotation><documentation>Basic encoding for operation parameter objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:AbstractGeneralOperationParameterType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:parameterName"/><element ref="gml:minimumOccurs" minOccurs="0"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="parameterName" type="gml:CodeType"substitutionGroup="gml:name"><annotation>

136

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<documentation>The name by which this operation parameter is
identified. </documentation></annotation></element><!-- ================================================= --><element name="parameterID" type="gml:IdentifierType"><annotation><documentation>An identification of an operation parameter.
</documentation></annotation></element><!-- ================================================= --><element name="GeographicCRS" type="gml:GeographicCRSType"substitutionGroup="gml:_CoordinateReferenceSystem"/><!-- ================================================= --><complexType name="GeographicCRSType"><annotation><documentation>A coordinate reference system based on an
ellipsoidal approximation of the geoid; this provides an accurate
representation of the geometry of geographic features for a large portionof the earth's surface.</documentation></annotation><complexContent><extension base="gml:AbstractReferenceSystemType"><sequence><element ref="gml:usesEllipsoidalCS"/><element ref="gml:usesGeodeticDatum"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="usesEllipsoidalCS" type="gml:EllipsoidalCSRefType"><annotation><documentation>Association to the ellipsoidal coordinate systemused by this CRS. </documentation></annotation></element><!-- ================================================= --><complexType name="EllipsoidalCSRefType"><annotation><documentation>Association to an ellipsoidal coordinate system,
either referencing or containing the definition of that coordinate system.
</documentation></annotation><sequence minOccurs="0"><element ref="gml:EllipsoidalCS"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="EllipsoidalCS" type="gml:EllipsoidalCSType"substitutionGroup="gml:_CoordinateSystem"/><!-- ================================================= --><complexType name="EllipsoidalCSType"><annotation><documentation>A two- or three-dimensional coordinate system inwhich position is specified by geodetic latitude, geodetic longitude, andCopyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

137

OGC 05-047r3(in the three-dimensional case) ellipsoidal height. An EllipsoidalCS shallhave two or three usesAxis associations. </documentation></annotation><complexContent><extension base="gml:AbstractCoordinateSystemType"/></complexContent></complexType><!-- ================================================= --><element name="usesGeodeticDatum" type="gml:GeodeticDatumRefType"><annotation><documentation>Association to the geodetic datum used by this CRS.
</documentation></annotation></element><!-- ================================================= --><complexType name="GeodeticDatumRefType"><annotation><documentation>Association to a geodetic datum, either referencing
or containing the definition of that datum. </documentation></annotation><sequence minOccurs="0"><element ref="gml:GeodeticDatum"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="GeodeticDatum" type="gml:GeodeticDatumType"substitutionGroup="gml:_Datum"/><!-- ================================================= --><complexType name="GeodeticDatumType"><annotation><documentation>A geodetic datum defines the precise location andorientation in 3-dimensional space of a defined ellipsoid (or sphere) thatapproximates the shape of the earth, or of a Cartesian coordinate systemcentered in this ellipsoid (or sphere). </documentation></annotation><complexContent><extension base="gml:AbstractDatumType"><sequence><element ref="gml:usesPrimeMeridian"/><element ref="gml:usesEllipsoid"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractDatumType" abstract="true"><annotation><documentation>A datum specifies the relationship of a coordinate
system to the earth, thus creating a coordinate reference system. A datum
uses a parameter or set of parameters that determine the location of theorigin of the coordinate reference system. Each datum subtype can beassociated with only specific types of coordinate systems. This abstract
complexType shall not be used, extended, or restricted, in an Application
Schema, to define a concrete subtype with a meaning equivalent to a
concrete subtype specified in this document. </documentation></annotation><complexContent>138

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<extension base="gml:AbstractDatumBaseType"><sequence><element ref="gml:datumID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this datum. The first datumID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on this reference system,
including source information. </documentation></annotation></element><element ref="gml:anchorPoint" minOccurs="0"/><element ref="gml:realizationEpoch" minOccurs="0"/><element ref="gml:validArea" minOccurs="0"/><element ref="gml:scope" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractDatumBaseType" abstract="true"><annotation><documentation>Basic encoding for datum objects, simplifying andrestricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:datumName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="datumName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this datum is identified.
</documentation></annotation></element><!-- ================================================= --><element name="datumID" type="gml:IdentifierType"><annotation><documentation>An identification of a datum. </documentation></annotation></element><!-- ================================================= --><element name="anchorPoint" type="gml:CodeType"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

139

OGC 05-047r3<documentation>Description, possibly including coordinates, of thepoint or points used to anchor the datum to the Earth. Also known as the"origin", especially for engineering and image datums. The codeSpace
attribute can be used to reference a source of more detailed on this point
or surface, or on a set of such descriptions.
For a geodetic datum, this point is also known as the fundamental point,
which is traditionally the point where the relationship between geoid andellipsoid is defined. In some cases, the "fundamental point" may consist of
a number of points. In those cases, the parameters defining the
geoid/ellipsoid relationship have been averaged for these points, and theaverages adopted as the datum definition.
For an engineering datum, the anchor point may be a physical point, or it
may be a point with defined coordinates in another CRS. When appropriate,
the coordinates of this anchor point can be referenced in another document,such as referencing a GML feature that references or includes a point
position.
For an image datum, the anchor point is usually either the centre of theimage or the corner of the image.
For a temporal datum, this attribute is not defined. Instead of the anchor
point, a temporal datum carries a separate time origin of type DateTime.
</documentation></annotation></element><!-- ================================================= --><element name="realizationEpoch" type="date"><annotation><documentation>The time after which this datum definition isvalid. This time may be precise (e.g. 1997.0 for IRTF97) or merely a year
(e.g. 1983 for NAD83). In the latter case, the epoch usually refers to theyear in which a major recalculation of the geodetic control network,
underlying the datum, was executed or initiated. An old datum can remain
valid after a new datum is defined. Alternatively, a datum may besuperseded by a later datum, in which case the realization epoch for the
new datum defines the upper limit for the validity of the superseded datum.
</documentation></annotation></element><!-- ================================================= --><element name="usesPrimeMeridian" type="gml:PrimeMeridianRefType"><annotation><documentation>Association to the prime meridian used by thisgeodetic datum. </documentation></annotation></element><!-- ================================================= --><complexType name="PrimeMeridianRefType"><annotation><documentation>Association to a prime meridian, either referencing
or containing the definition of that meridian. </documentation></annotation><sequence minOccurs="0"><element ref="gml:PrimeMeridian"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="PrimeMeridian" type="gml:PrimeMeridianType"substitutionGroup="gml:Definition"/>140

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><complexType name="PrimeMeridianType"><annotation><documentation>A prime meridian defines the origin from whichlongitude values are determined.</documentation></annotation><complexContent><extension base="gml:PrimeMeridianBaseType"><sequence><element ref="gml:meridianID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this prime meridian. The first meridianID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thisprime meridian, including source information. </documentation></annotation></element><element ref="gml:greenwichLongitude"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="PrimeMeridianBaseType" abstract="true"><annotation><documentation>Basic encoding for prime meridian objects,
simplifying and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:meridianName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="meridianName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this prime meridian is
identified. The meridianName most common value is Greenwich, and that value
shall be used when the greenwichLongitude value is zero. </documentation></annotation></element><!-- ================================================= --><element name="meridianID" type="gml:IdentifierType"><annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

141

OGC 05-047r3<documentation>An identification of a prime meridian.
</documentation></annotation></element><!-- ================================================= --><element name="greenwichLongitude" type="gml:AngleChoiceType"><annotation><documentation>Longitude of the prime meridian measured from theGreenwich meridian, positive eastward. The greenwichLongitude most common
value is zero, and that value shall be used when the meridianName value isGreenwich. </documentation></annotation></element><!-- ================================================= --><complexType name="AngleChoiceType"><annotation><documentation>Value of an angle quantity provided in either
degree-minute-second format or single value format. </documentation></annotation><choice><element ref="gml:angle"/><element ref="gml:dmsAngle"/></choice></complexType><!-- ================================================= --><element name="angle" type="gml:AngleType"/><!-- ================================================= --><complexType name="AngleType"><annotation><documentation>Value of an angle quantity recorded as a single
number, with its units. Uses the MeasureType with the restriction that theunit of measure referenced by uom shall be suitable for an angle, such as
degrees or radians. </documentation></annotation><simpleContent><extension base="gml:MeasureType"/></simpleContent></complexType><!-- ================================================= --><element name="dmsAngle" type="gml:DMSAngleType"/><!-- ================================================= --><element name="usesEllipsoid" type="gml:EllipsoidRefType"><annotation><documentation>Association to the ellipsoid used by this geodetic
datum. </documentation></annotation></element><!-- ================================================= --><complexType name="EllipsoidRefType"><annotation><documentation>Association to an ellipsoid, either referencing or
containing the definition of that ellipsoid. </documentation></annotation><sequence minOccurs="0"><element ref="gml:Ellipsoid"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType>142

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<!-- ================================================= --><element name="Ellipsoid" type="gml:EllipsoidType"substitutionGroup="gml:Definition"/><!-- ================================================= --><complexType name="EllipsoidType"><annotation><documentation>An ellipsoid is a geometric figure that can be used
to describe the approximate shape of the earth. In mathematical terms, it
is a surface formed by the rotation of an ellipse about its minor
axis.</documentation></annotation><complexContent><extension base="gml:EllipsoidBaseType"><sequence><element ref="gml:ellipsoidID" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Set of alternative identifications of
this ellipsoid. The first ellipsoidID, if any, is normally the primary
identification code, and any others are aliases. </documentation></annotation></element><element ref="gml:remarks" minOccurs="0"><annotation><documentation>Comments on or information about thisellipsoid, including source information. </documentation></annotation></element><element ref="gml:semiMajorAxis"/><element ref="gml:secondDefiningParameter"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="EllipsoidBaseType" abstract="true"><annotation><documentation>Basic encoding for ellipsoid objects, simplifying
and restricting the DefinitionType as needed. </documentation></annotation><complexContent><restriction base="gml:DefinitionType"><sequence><element ref="gml:metaDataProperty" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:ellipsoidName"/></sequence><attribute ref="gml:id" use="required"/></restriction></complexContent></complexType><!-- ================================================= --><element name="ellipsoidName" type="gml:CodeType"substitutionGroup="gml:name"><annotation><documentation>The name by which this ellipsoid is identified.
</documentation></annotation>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

143

OGC 05-047r3</element><!-- ================================================= --><element name="ellipsoidID" type="gml:IdentifierType"><annotation><documentation>An identification of an ellipsoid. </documentation></annotation></element><!-- ================================================= --><element name="semiMajorAxis" type="gml:LengthType"><annotation><documentation>Length of the semi-major axis of the ellipsoid.
</documentation></annotation></element><!-- ================================================= --><complexType name="LengthType"><annotation><documentation>Value of a length (or distance) quantity, with its
units. Uses the MeasureType with the restriction that the unit of measurereferenced by uom shall be suitable for a length, such as metres or feet.
</documentation></annotation><simpleContent><extension base="gml:MeasureType"/></simpleContent></complexType><!-- ================================================= --><element name="secondDefiningParameter"
type="gml:SecondDefiningParameterType"/><!-- ================================================= --><complexType name="SecondDefiningParameterType"><annotation><documentation>Definition of the second parameter that defines theshape of an ellipsoid. An ellipsoid requires two defining parameters: semimajor axis and inverse flattening or semi-major axis and semi-minor axis.
When the reference body is a sphere rather than an ellipsoid, only a single
defining parameter is required, namely the radius of the sphere; in thatcase, the semi-major axis "degenerates" into the radius of thesphere.</documentation></annotation><choice><element ref="gml:inverseFlattening"/><element ref="gml:semiMinorAxis"/><element ref="gml:isSphere"/></choice></complexType><!-- ================================================= --><element name="inverseFlattening" type="gml:ScaleType"><annotation><documentation>Inverse flattening value of the ellipsoid.
</documentation></annotation></element><!-- ================================================= --><complexType name="ScaleType"><annotation><documentation>Value of a scale factor (or ratio) that has no
physical unit. Uses the MeasureType with the restriction that the unit of144

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
measure referenced by uom shall be suitable for a scale factor, such as
percent, permil, or parts-per-million. </documentation></annotation><simpleContent><extension base="gml:MeasureType"/></simpleContent></complexType><!-- ================================================= --><element name="semiMinorAxis" type="gml:LengthType"><annotation><documentation>Length of the semi-minor axis of the ellipsoid.
</documentation></annotation></element><!-- ================================================= --><element name="isSphere"><annotation><documentation>The ellipsoid is degenerate and is actually asphere. The sphere is completely defined by the semi-major axis, which is
the radius of the sphere. </documentation></annotation><simpleType><restriction base="string"><enumeration value="sphere"/></restriction></simpleType></element><!-- ================================================= --><element name="_Datum" type="gml:AbstractDatumType" abstract="true"
substitutionGroup="gml:Definition"/><!-- ================================================= --><element name="centerLineOf" type="gml:CurvePropertyType"/><!-- ================================================= --><complexType name="CurvePropertyType"><annotation><documentation>A property that has a curve as its value domain caneither be an appropriate geometry element encapsulated in anof this type or an XLink reference to a remote geometry element(where remote includes geometry elements located elsewhere
the same document). Either the reference or the contained element
shall be given, but neither both nor none.</documentation></annotation><sequence minOccurs="0"><element ref="gml:_Curve"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>This attribute group includes the XLink
attributes (see xlinks.xsd). XLink is used in GML to reference remote(including those elsewhere in the same document). A simple linkelement can be constructed by including a specificof XLink attributes. The XML Linking Language (XLink) is currently
a Proposed Recommendation of the World Wide Web Consortium.
allows elements to be inserted into XML documents so as to create
sophisticated links between resources; such links can be usedreference remote properties. A simple link element can be used to
implement pointer functionality, and this functionality has been built

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

145

OGC 05-047r3
various GML 3 elements by including thegml:AssociationAttributeGroup.
</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><element name="extentOf" type="gml:SurfacePropertyType"/><!-- ================================================= --><complexType name="SurfacePropertyType"><annotation><documentation>A property that has a surface as its value domain
can either be an appropriate geometry element encapsulated in an element of
this type or an XLink reference to a remote geometry element (where remote
includes geometry elements located elsewhere in the same document). Either
the reference or the contained element shall be given, but neither both nor
none.</documentation></annotation><sequence minOccurs="0"><element ref="gml:_Surface"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>This attribute group includes the XLink
attributes (see xlinks.xsd). XLink is used in GML to reference remoteresources (including those elsewhere in the same document). A simple linkelement can be constructed by including a specific set of XLink attributes.
The XML Linking Language (XLink) is currently a Proposed Recommendation of
the World Wide Web Consortium. XLink allows elements to be inserted into
XML documents so as to create sophisticated links between resources; such
links can be used to reference remote properties.simple link element can beused to implement pointer functionality, and this functionality has been
built into various GML 3 elements by including thegml:AssociationAttributeGroup.
</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><complexType name="GeometryPropertyType"><annotation><documentation>A geometric property can either be any geometry
element encapsulated in an element of this type or an XLink referencea remote geometry element (where remote includes geometry elements
located elsewhere in the same document). Note that either
reference or the contained element shall be given, but not both or
none.</documentation></annotation><sequence minOccurs="0"><element ref="gml:_Geometry"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>This attribute group includes the XLink
attributes (see xlinks.xsd). XLink is used in GML to reference
resources (including those elsewhere in the same document). A
simple link element can be constructed bya specific set of XLink attributes. The XML Linking Language(XLink) is currently a Proposed Recommendation

146

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3
the World Wide Web Consortium. XLink allows elements to beinserted into XML documents so as to create
links between resources; such links can be used to reference
remote properties. A simple link element
be used to implement pointer functionality, and this functionality
has been built into various GML 3 elements by
the gml:AssociationAttributeGroup.</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><complexType name="PolygonPropertyType"><annotation><documentation>This type is deprecated with GML 3 and shall not be
used. It is included for backwards compatibility with GML 2. Use
SurfacePropertyType instead.property that has a polygon as its value domain
can either be an appropriate geometry element encapsulated in an element of
this type or an XLink reference to a remote geometry element (where remote
includes geometry elements located elsewhere in the same document). Either
the reference or the contained element shall be given, but neither both nor
none.</documentation></annotation><sequence minOccurs="0"><element ref="gml:Polygon"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"><annotation><documentation>This attribute group includes the XLink
attributes (see xlinks.xsd). XLink is used in GML to reference remoteresources (including those elsewhere in the same document). A simple linkelement can be constructed by including a specific set of XLink attributes.
The XML Linking Language (XLink) is currently a Proposed Recommendation of
the World Wide Web Consortium. XLink allows elements to be inserted into
XML documents so as to create sophisticated links between resources; such
links can be used to reference remote properties.simple link element can beused to implement pointer functionality, and this functionality has been
built into various GML 3 elements by including thegml:AssociationAttributeGroup.</documentation></annotation></attributeGroup></complexType><!-- ================================================= --><element name="defaultStyle" type="gml:DefaultStylePropertyType"><annotation><documentation>Top-level property. Used in application schemas to"attach" the styling information to GML data. The link between the data andthe style should be established through this property only.</documentation></annotation></element><!-- ================================================= --><complexType name="DefaultStylePropertyType"><annotation><documentation>[complexType of] Top-level property. Used inapplication schemas to "attach" the styling information to GML data. The
link between the data and the style should be established through thisproperty only.</documentation></annotation><sequence>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

147

OGC 05-047r3<element ref="gml:_Style" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="_Style" type="gml:AbstractStyleType" abstract="true"
substitutionGroup="gml:_GML"><annotation><documentation>The value of the top-level property. It is an
abstract element. Used as the head element of the substitution group forextensibility purposes.</documentation></annotation></element><!-- ================================================= --><complexType name="AbstractStyleType" abstract="true"><annotation><documentation>[complexType of] The value of the top-levelproperty. It is an abstract element. Used as the head element of thesubstitution group for extensibility purposes.</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"/></complexContent></complexType><!-- ================================================= --><element name="MultiSurface" type="gml:MultiSurfaceType"substitutionGroup="gml:_GeometricAggregate"/><!-- ================================================= --><complexType name="MultiSurfaceType"><annotation><documentation>
MultiSurface is defined by one or more Surfaces, referenced
through surfaceMember elements.
</documentation></annotation><complexContent><extension base="gml:AbstractGeometricAggregateType"><sequence><annotation><documentation>The members of the geometric aggregate canbe specified either using the "standard" property or the array property
style. It is also valid to use both the "standard" and the array property
style in the same collection.: Array properties cannot reference remote
geometry elements.</documentation></annotation><element ref="gml:surfaceMember" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:surfaceMembers" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="AbstractGeometricAggregateType" abstract="true"><annotation><documentation>This is the abstract root type of the geometricaggregates.</documentation>

148

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3</annotation><complexContent><extension base="gml:AbstractGeometryType"/></complexContent></complexType><!-- ================================================= --><element name="surfaceMember" type="gml:SurfacePropertyType"><annotation><documentation>This property element either references a surface
via the XLink-attributes or contains the surface element. A surface element
is any element which is substitutable for "_Surface".</documentation></annotation></element><!-- ================================================= --><element name="surfaceMembers" type="gml:SurfaceArrayPropertyType"><annotation><documentation>This property element contains a list of surfaces.
The order of the elements is significant and shall be preserved whenprocessing the array.</documentation></annotation></element><!-- ================================================= --><complexType name="SurfaceArrayPropertyType"><annotation><documentation>A container for an array of surfaces. The elements
are always contained in the array property, referencing geometry elements
or arrays of geometry elements is not supported.</documentation></annotation><sequence><element ref="gml:_Surface" minOccurs="0" maxOccurs="unbounded"/></sequence></complexType><!-- ================================================= --><element name="_GeometricAggregate"
type="gml:AbstractGeometricAggregateType" abstract="true"
substitutionGroup="gml:_Geometry"><annotation><documentation>The "_GeometricAggregate" element is the abstract
head of the substituition group for all geometricaggremates.</documentation></annotation></element><!-- ================================================= --><element name="Style" type="gml:StyleType"substitutionGroup="gml:_Style"><annotation><documentation>Predefined concrete value of the top-levelproperty. Encapsulates all other styling information.</documentation></annotation></element><!-- ================================================= --><complexType name="StyleType"><annotation><documentation>[complexType of] Predefined concrete value of the
top-level property. Encapsulates all other stylinginformation.</documentation></annotation><complexContent>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

149

OGC 05-047r3<extension base="gml:AbstractStyleType"><sequence><element ref="gml:featureStyle" maxOccurs="unbounded"/><element ref="gml:graphStyle" minOccurs="0"/></sequence></extension></complexContent></complexType><!-- ================================================= --><element name="featureStyle" type="gml:FeatureStylePropertyType"><annotation><documentation/></annotation></element><!-- ================================================= --><complexType name="FeatureStylePropertyType"><annotation><documentation/></annotation><sequence><element ref="gml:FeatureStyle" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="FeatureStyle" type="gml:FeatureStyleType"substitutionGroup="gml:_GML"><annotation><documentation>The style descriptor for features.</documentation></annotation></element><!-- ================================================= --><complexType name="FeatureStyleType"><annotation><documentation>[complexType of] The style descriptor forfeatures.</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"><sequence><element name="featureConstraint" type="string"
minOccurs="0"/><element ref="gml:geometryStyle" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:topologyStyle" minOccurs="0"
maxOccurs="unbounded"/><element ref="gml:labelStyle" minOccurs="0"/></sequence><attribute name="featureType" type="string" use="optional"/><attribute name="baseType" type="string" use="optional"/><attribute name="queryGrammar"
type="gml:QueryGrammarEnumeration"/></extension></complexContent></complexType><!-- ================================================= --><element name="geometryStyle" type="gml:GeometryStylePropertyType">

150

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<annotation><documentation/></annotation></element><!-- ================================================= --><complexType name="GeometryStylePropertyType"><annotation><documentation/></annotation><sequence><element ref="gml:GeometryStyle" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="GeometryStyle" type="gml:GeometryStyleType"substitutionGroup="gml:_GML"><annotation><documentation>The style descriptor for geometries of afeature.</documentation></annotation></element><!-- ================================================= --><complexType name="GeometryStyleType"><annotation><documentation>[complexType of] The style descriptor forgeometries of a feature.</documentation></annotation><complexContent><extension base="gml:BaseStyleDescriptorType"><sequence><choice><element ref="gml:symbol"/><element name="style" type="string"><annotation><appinfo>deprecated</appinfo><documentation>Deprecated in GML version 3.1.0. Usesymbol with inline content instead.</documentation></annotation></element></choice><element ref="gml:labelStyle" minOccurs="0"/></sequence><attribute name="geometryProperty" type="string"/><attribute name="geometryType" type="string"/></extension></complexContent></complexType><!-- ================================================= --><complexType name="BaseStyleDescriptorType"><annotation><documentation>Base complex type for geometry, topology, label andgraph styles.</documentation></annotation><complexContent><extension base="gml:AbstractGMLType"><sequence>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

151

OGC 05-047r3<element name="spatialResolution" type="gml:ScaleType"minOccurs="0"/><element name="styleVariation" type="gml:StyleVariationType"minOccurs="0" maxOccurs="unbounded"/><element ref="smil20:animate" minOccurs="0"
maxOccurs="unbounded"/><element ref="smil20:animateMotion" minOccurs="0"
maxOccurs="unbounded"/><element ref="smil20:animateColor" minOccurs="0"
maxOccurs="unbounded"/><element ref="smil20:set" minOccurs="0"
maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="StyleVariationType"><annotation><documentation>Used to vary individual graphic parameters andattributes of the style, symbol or text.</documentation></annotation><simpleContent><extension base="string"><attribute name="styleProperty" type="string" use="required"/><attribute name="featurePropertyRange" type="string"use="optional"/></extension></simpleContent></complexType><!-- ================================================= --><!-- ================================================= --><element name="symbol" type="gml:SymbolType"><annotation><documentation>The symbol property. Extends thegml:AssociationType to allow for remote referencing ofsymbols.</documentation></annotation></element><!-- ================================================= --><complexType name="SymbolType"><annotation><documentation>[complexType of] The symbol property. Allows forremote referencing of symbols.</documentation></annotation><sequence><any processContents="skip" minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="symbolType" type="gml:SymbolTypeEnumeration"use="required"/><attribute ref="gml:transform" use="optional"/><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><simpleType name="SymbolTypeEnumeration"><annotation>

152

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<documentation>Used to specify the type of the symbolused.</documentation></annotation><restriction base="string"><enumeration value="svg"/><enumeration value="xpath"/><enumeration value="other"/></restriction></simpleType><!-- ================================================= --><attribute name="transform" type="string"><annotation><documentation>Defines the geometric transformation of entities.
There is no particular grammar defined for this value.</documentation></annotation></attribute><!-- ================================================= --><element name="labelStyle" type="gml:LabelStylePropertyType"><annotation><documentation/></annotation></element><!-- ================================================= --><complexType name="LabelStylePropertyType"><annotation><documentation/></annotation><sequence><element ref="gml:LabelStyle" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="LabelStyle" type="gml:LabelStyleType"substitutionGroup="gml:_GML"><annotation><documentation>The style descriptor for labels of a feature,geometry or topology.</documentation></annotation></element><!-- ================================================= --><complexType name="LabelStyleType"><annotation><documentation>[complexType of] The style descriptor for labels ofa feature, geometry or topology.</documentation></annotation><complexContent><extension base="gml:BaseStyleDescriptorType"><sequence><element name="style" type="string"/><element name="label" type="gml:LabelType"/></sequence></extension></complexContent></complexType><!-- ================================================= --><complexType name="LabelType" mixed="true">

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

153

OGC 05-047r3<annotation><documentation>Label is mixed -- composed of text and XPathexpressions used to extract the useful information from thefeature.</documentation></annotation><sequence><element name="LabelExpression" type="string" minOccurs="0"
maxOccurs="unbounded"/></sequence><attribute ref="gml:transform" use="optional"/></complexType><!-- ================================================= --><element name="topologyStyle" type="gml:TopologyStylePropertyType"><annotation><documentation/></annotation></element><!-- ================================================= --><complexType name="TopologyStylePropertyType"><annotation><documentation/></annotation><sequence><element ref="gml:TopologyStyle" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="TopologyStyle" type="gml:TopologyStyleType"substitutionGroup="gml:_GML"><annotation><documentation>The style descriptor for topologies of a feature.
Describes individual topology elements styles.</documentation></annotation></element><!-- ================================================= --><complexType name="TopologyStyleType"><annotation><documentation>[complexType of] The style descriptor for
topologies of a feature. Describes individual topology elements
styles.</documentation></annotation><complexContent><extension base="gml:BaseStyleDescriptorType"><sequence><choice><element ref="gml:symbol"/><element name="style" type="string"><annotation><appinfo>deprecated</appinfo><documentation>Deprecated in GML version 3.1.0. Usesymbol with inline content instead.</documentation></annotation></element></choice><element ref="gml:labelStyle" minOccurs="0"/></sequence>

154

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<attribute name="topologyProperty" type="string"/><attribute name="topologyType" type="string"/></extension></complexContent></complexType><!-- ================================================= --><simpleType name="QueryGrammarEnumeration"><annotation><documentation>Used to specify the grammar of the feature querymechanism.</documentation></annotation><restriction base="string"><enumeration value="xpath"/><enumeration value="xquery"/><enumeration value="other"/></restriction></simpleType><!-- ================================================= --><element name="graphStyle" type="gml:GraphStylePropertyType"><annotation><documentation/></annotation></element><!-- ================================================= --><complexType name="GraphStylePropertyType"><annotation><documentation/></annotation><sequence><element ref="gml:GraphStyle" minOccurs="0"/></sequence><attribute name="about" type="anyURI" use="optional"/><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ================================================= --><element name="GraphStyle" type="gml:GraphStyleType"substitutionGroup="gml:_GML"><annotation><documentation>The style descriptor for a graph consisting of anumber of features. Describes graph-specific styleattributes.</documentation></annotation></element><!-- ================================================= --><complexType name="GraphStyleType"><annotation><documentation>[complexType of] The style descriptor for a graphconsisting of a number of features. Describes graph-specific styleattributes.</documentation></annotation><complexContent><extension base="gml:BaseStyleDescriptorType"><sequence><element name="planar" type="boolean" minOccurs="0"/><element name="directed" type="boolean" minOccurs="0"/><element name="grid" type="boolean" minOccurs="0"/><element name="minDistance" type="double" minOccurs="0"/><element name="minAngle" type="double" minOccurs="0"/>Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

155

OGC 05-047r3<element name="graphType" type="gml:GraphTypeType"minOccurs="0"/><element name="drawingType" type="gml:DrawingTypeType"minOccurs="0"/><element name="lineType" type="gml:LineTypeType"minOccurs="0"/><element name="aestheticCriteria"
type="gml:AesheticCriteriaType" minOccurs="0" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ================================================= --><simpleType name="GraphTypeType"><annotation><documentation>Graph-specific styling property.</documentation></annotation><restriction base="string"><enumeration value="TREE"/><enumeration value="BICONNECTED"/></restriction></simpleType><!-- ================================================= --><simpleType name="DrawingTypeType"><annotation><documentation>Graph-specific styling property.</documentation></annotation><restriction base="string"><enumeration value="POLYLINE"/><enumeration value="ORTHOGONAL"/></restriction></simpleType><!-- ================================================= --><simpleType name="LineTypeType"><annotation><documentation>Graph-specific styling property.</documentation></annotation><restriction base="string"><enumeration value="STRAIGHT"/><enumeration value="BENT"/></restriction></simpleType><!-- ================================================= --><simpleType name="AesheticCriteriaType"><annotation><documentation>Graph-specific styling property.</documentation></annotation><restriction base="string"><enumeration value="MIN_CROSSINGS"/><enumeration value="MIN_AREA"/><enumeration value="MIN_BENDS"/><enumeration value="MAX_BENDS"/><enumeration value="UNIFORM_BENDS"/><enumeration value="MIN_SLOPES"/><enumeration value="MIN_EDGE_LENGTH"/><enumeration value="MAX_EDGE_LENGTH"/><enumeration value="UNIFORM_EDGE_LENGTH"/><enumeration value="MAX_ANGULAR_RESOLUTION"/>156

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 05-047r3<enumeration value="MIN_ASPECT_RATIO"/><enumeration value="MAX_SYMMETRIES"/></restriction></simpleType><!-- ================================================= --><element name="_MetaData" type="gml:AbstractMetaDataType"abstract="true" substitutionGroup="gml:_Object"><annotation><documentation>Abstract element which acts as the head of a
substitution group for packages of MetaData properties. </documentation></annotation></element><!-- ================================================= --><complexType name="AbstractMetaDataType" abstract="true" mixed="true"><annotation><documentation> An abstract base type for complex metadata
types.</documentation></annotation><attribute ref="gml:id" use="optional"/></complexType></schema>

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.

157

OGC 05-047r3

Bibliography[1]

ISO 1000, SI units and recommendations for the use of their multiples and of certain
other units.

[2]

ISO/IEC JTC 1/SC 29/WG1 N2887 (Klaus Jung), Including GML data based on the
OpenGIS standard in JPEG 2000 family files (March 2003)[3]

OGC 01-019, XML for Image and Map Annotation (XIMA).

158

Copyright © 2006. Open Geospatial Consortium, Inc. All Rights Reserved.