One document matched: draft-thomson-geopriv-geo-shape-03.txt
Differences from draft-thomson-geopriv-geo-shape-02.txt
GEOPRIV M. Thomson
Internet-Draft Andrew
Expires: June 16, 2007 December 13, 2006
Geodetic Shapes for the Representation of Uncertainty in PIDF-LO
draft-thomson-geopriv-geo-shape-03.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 16, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2006).
Thomson Expires June 16, 2007 [Page 1]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Abstract
This document defines a set of shapes for the representation of
uncertainty for PIDF-LO geodetic location information. This includes
a GML profile and a schema that defines additional geometries.
Further recommendations are made to restrict the use of geographic
Coordinate Reference Systems (CRS) and units of measure restrictions
that improve interoperability.
Thomson Expires June 16, 2007 [Page 2]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions used in this document . . . . . . . . . . . . . . 5
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1. About Location Information . . . . . . . . . . . . . . . . 6
3.1.1. Coordinate Reference Systems . . . . . . . . . . . . . 6
3.1.2. Uncertainty . . . . . . . . . . . . . . . . . . . . . 6
3.1.3. Confidence . . . . . . . . . . . . . . . . . . . . . . 7
4. General Information . . . . . . . . . . . . . . . . . . . . . 9
4.1. GML Version and Profile . . . . . . . . . . . . . . . . . 9
4.2. Coordinate Reference Systems . . . . . . . . . . . . . . . 9
4.3. Units of Measure . . . . . . . . . . . . . . . . . . . . . 9
4.4. Approximations . . . . . . . . . . . . . . . . . . . . . . 10
4.4.1. Lines and Distances . . . . . . . . . . . . . . . . . 10
4.4.2. Planar Approximation . . . . . . . . . . . . . . . . . 11
5. Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1. Point . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2. Polygon . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2.1. Polygon Upward Normal . . . . . . . . . . . . . . . . 14
5.3. Circle . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4. Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.5. Arc Band . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.6. Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7. Ellipsoid . . . . . . . . . . . . . . . . . . . . . . . . 19
5.8. Prism . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6. Application Schema . . . . . . . . . . . . . . . . . . . . . . 21
7. GML Profile Schema . . . . . . . . . . . . . . . . . . . . . . 24
7.1. geometryPrimitives.xsd . . . . . . . . . . . . . . . . . . 24
7.2. geometryBasic2d.xsd . . . . . . . . . . . . . . . . . . . 28
7.3. geometryBasic0d1d.xsd . . . . . . . . . . . . . . . . . . 30
7.4. measures.xsd . . . . . . . . . . . . . . . . . . . . . . . 34
7.5. gmlBase.xsd . . . . . . . . . . . . . . . . . . . . . . . 35
7.6. basicTypes.xsd . . . . . . . . . . . . . . . . . . . . . . 36
8. Security Considerations . . . . . . . . . . . . . . . . . . . 37
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
9.1. URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:pidf:geopriv10:geoShape . . . . . . 38
9.2. XML Schema Registration . . . . . . . . . . . . . . . . . 38
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 40
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1. Normative References . . . . . . . . . . . . . . . . . . . 41
11.2. Informative References . . . . . . . . . . . . . . . . . . 41
Appendix A. Calculating the Upward Normal of a Polygon . . . . . 43
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 44
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 45
Intellectual Property and Copyright Statements . . . . . . . . . . 46
Thomson Expires June 16, 2007 [Page 3]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
1. Introduction
This document defines how geodetic location information is specified
in a PIDF-LO [RFC4119] document.
PIDF-LO [RFC4119] specifies that the feature schema from version 3.0
of GML be supported by all implementations. However, this is not
practical for a number of reasons.
The feature schema, and the schema that it relies upon, includes a
sizable proportion of the GML data types. This includes parts of the
geometry and temporal schema that are rarely applicable in the domain
where PIDF-LO is used. This means that implementations are required
to support portions of the GML specification that are not and, in
some cases, cannot be used.
GML is structured to be used within an application schema. An
application schema being a schema constructed for a particular
application that both limits GML to what is applicable and provides
application-specific types. PIDF-LO does not define such a schema.
As a result this increases the complexity of implementation and
decreases the usability of GML within PIDF-LO. If PIDF-LO is to be
usable in the internet domain, it requires that such a schema is
defined.
This document defines an application schema and profile for using GML
within PIDF-LO. This includes a small subset of GML geometry that is
expanded by a new schema that defines additional geometries.
These geometries, or shapes, are designed to provide a simple
representation of shapes that are in common usage. In particular,
these shapes are useful for the representation of uncertainty that
arises from location determination technologies. A range of these
shapes arise from wireless location technologies, and others are
suited to geodetic representations of civic features, such as
buildings and residental allotments. These shapes enable easy
translation from location information in other document formats into
the PIDF-LO form.
This document also updates the PIDF-LO specification [RFC4119] to
state that the geometry specified in this document is the only
requirement for geodetic shapes.
Thomson Expires June 16, 2007 [Page 4]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
This document uses geodesy and mathematics terminology. While this
has been limited as far as is practical, some degree of familiarity
with these disciplines and their terminology is helpful. In
particular, terminology following the definitions in GML 3.1.1
[OGC.GML-3.1.1] is used.
When referring to XML element, attribute and type definitions by
name, this document uses namespace prefixes to distinguish between
elements in different namespaces. The "gml:" prefix refers to
elements from the "http://www.opengis.net/gml" namespace
[OGC.GML-3.1.1]; the "gs:" prefix refers to elements from the
"urn:ietf:params:xml:ns:pidf:geopriv10:geoShape" namespace.
Thomson Expires June 16, 2007 [Page 5]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
3. Overview
PIDF-LO serves as a document for the representation of Location
Information (LI). This LI identifies the spatial location of a
Target; the Target being a generic entity that is likely to be either
a person or a Device. LI is a component of the Target's presence
information.
The LI that forms the core of a PIDF-LO document originates in the
Location Generator (LG). Depending on the specific circumstances,
particularly the type of access network, the LG can use any number of
methods to determine LI. The range of technologies available for
determining LI are numerous and range from user-provided LI, to
automatic methods such as wire mapping, radio timing, and GPS.
PIDF-LO is designed to be consumed in a wide range of applications.
In some cases the information is presented to a user, maybe in a
graphical representation, as a way of identifying the location of the
Target. Other applications use LI as input to assist in providing a
service.
3.1. About Location Information
Two forms of LI are defined for use in PIDF-LO. Geodetic information
consists of coordinates that identify a location in a particular
coordinate reference system; and civic addresses
[I-D.ietf-geopriv-revised-civic-lo] that identify a location based on
civic norms (countries, cities, streets, etc...). This document is
concerned with geodetic LI only.
The remainder of this section introduces location concepts that
affect how geodetic LI is represented and interpreted.
3.1.1. Coordinate Reference Systems
A coordinate reference system (CRS) specifies how coordinates are
interpreted. For the shapes defined in thie document, only the two-
and three-dimensional WGS84 coordinate reference systems (latitude,
longitude, and perhaps altitude) are mandatory, see Section 4.2. The
shapes defined in this document assume one or both of these CRSs and
may not be applicable to other coordinate reference systems.
3.1.2. Uncertainty
Under ideal circumstances LI would describe a point in space
unambiguously. However, in reality, location determination methods
are imprecise for a variety of reasons.
Thomson Expires June 16, 2007 [Page 6]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Uncertainty can be quantified in measurement in a number of ways,
usually depending on the method that is used to determine LI. An
area or volume is the most common way of representing uncertainty.
For example, an ellipsoid is common for representing uncertainty in
GPS measurements; polygons may be used when LI is converted from a
civic address form; or a circle or ellipse is often used to describe
the coverage area of a radio antenna.
Even if location determination results in a single point, uncertainty
may be specified as a distance from that point. This form of
uncertainty indicates the furthest distance from the given point that
the actual Target is expected to be located given certain sources of
measurement error. This still effectively defines a circular area,
or spherical volume, in which the Target could be located.
This document assumes that any method for determining location is
subject to uncertainty. The absence of uncertainty does not indicate
that there is none, or that the measurement was infinitely precise;
instead, the absence of uncertainty data indicates that the value of
uncertainty could not be (or was not) provided.
3.1.3. Confidence
Confidence is also used in some cases to express the innate
variability of location determination. Variability in determining
location cannot always be addressed by uncertainty. Confidence is a
statistical measure indicating the probability that the given region
of uncertainty actually covers the Target's actual location.
Confidence is typically affected by variation in measurement
parameters. However, confidence can also account for the chance of
human error in the form of data entry errors or exceptional software
faults. Likewise, confidence can cover the probability of
intentional modification of LI (location fraud) beyond the capability
of providers or protocol to prevent.
The application of confidence is controversial. Location
determination methods do not often directly provide this sort of
information, and likewise many applications do not use the value in
any way. In most cases the confidence cannot be used to make a
decision. For instance, one such decision that uses confidence is
whether or not the LI can be used; however, many applications rely on
the assumption that any LI is better than none, so uncertainty is not
considered.
Because uncertainty is difficult to manage, this document does not
include a parameter for conveying confidence. Individual
applications MAY recommend a target level of confidence, but this
Thomson Expires June 16, 2007 [Page 7]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
information is not included in the core geodetic shape formats.
Thomson Expires June 16, 2007 [Page 8]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
4. General Information
4.1. GML Version and Profile
This document is based on the version 3.1.1 schema of GML
[OGC.GML-3.1.1]. This version updates RFC 4119 [RFC4119].
This document restricts the required set of GML. A profile schema is
included in Section 7. This profile follows the guidelines of
[OGC.GML-3.1.1], it is a copy of the GML schema with portions
removed. GML compliant implementations MAY use the full GML schema
or the "geometryPrimitives.xsd" schema in place of this profile, as
identified by
"urn:opengis:specification:gml:schema-xsd:geometryPrimitives:3.1.1".
The GML profile defined in Section 7 removes all unused parts of GML
from the schema definition. In particular, this includes cross
references using XLink [W3C.REC-xlink-20010627]. The "gml:id"
attribute is retained so that geometry objects MAY still be the
target of a reference.
4.2. Coordinate Reference Systems
Implementations are REQUIRED to support the following coordinate
reference systems based on WGS 84 [NIMA.TR8350.2-3e]. These are
identified using the European Petroleum Survey Group (EPSG) Geodetic
Parameter Dataset, as formalized by the Open Geospatial Consortium
(OGC):
3D: WGS 84 (latitude, longitude, altitude), as identified by the URN
"urn:ogc:def:crs:EPSG::4979". This is a three dimensional CRS.
2D: WGS 84 (latitude, longitude), as identified by the URN
"urn:ogc:def:crs:EPSG::4326". This is a two dimensional CRS.
The most recent version of the EPSG Geodetic Parameter Dataset SHOULD
be used. A CRS MUST be specified using the above URN notation only,
implementations do not need to support user-defined CRSs.
Implementations MUST specify the CRS using the "srsName" attribute on
the outermost geometry element. The CRS MUST NOT be respecified or
changed for any sub-elements. The "srsDimension" attribute SHOULD be
omitted, since the number of dimensions in these CRSs is known.
4.3. Units of Measure
GML permits a range of units of measure for all parameters. This
document restricts this set to a single length unit and two angle
Thomson Expires June 16, 2007 [Page 9]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
units.
Length measures MUST be specified using metres, which is identified
using the URN "urn:ogc:def:uom:EPSG::9001".
Angular measures MUST use either degrees or radians. Measures in
degrees MUST be identified by the URN "urn:ogc:def:uom:EPSG::9102".
Measures in radians MUST be identified by the URN
"urn:ogc:def:uom:EPSG::9101".
The units of measure MUST be specified on the property element that
contains the value.
4.4. Approximations
The shapes provided in this document are primarily intended to
represent areas of uncertainty. Uncertainty is a product of the
inexact science of determining a location estimate. These estimates
are subject to a range of errors. For these shapes, using
approximations in processing this data does not significantly affect
the quality of the data.
Several approximation methods are described in this document that can
be used to reduce the complexity of algorithms that use these shapes.
Applications and algorithms that rely on this data SHOULD tolerate
small errors that could arise from approximation.
The guidance in this document on approximation techniques are not
appropriate for shapes that cover large areas, or for applications
where greater precision is required. Any guidance on approximations
is appropriate to the application of these shapes to personal
location, but might not be appropriate in other application domains.
4.4.1. Lines and Distances
In this document, all lines and measurements are formed by straight
lines. When joining two points, linear interpolation is used, that
is, the shortest path in space rather than the path across the
surface of the ellipsoid (geodesic interpolation). Likewise for
distances, the distance is the length of the shortest path in space.
Implementations MAY use geodesic interpolation between points and for
distance measurement. A geodesic is a line that follows the surface
of a geoid or ellipsoid, which in this context is usually the WGS 84
ellipsoid. Geodesic interpolation can produce a small difference
from straight line interpolation. For use in uncertainty this error
can be accepted, but it is RECOMMENDED that this variation is
constrained to approximately 3% of the total distance.
Thomson Expires June 16, 2007 [Page 10]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
For WGS84, the error between a geodesic and a straight line reaches
3% of the distance of the line at approximately 382km at the equator.
This distance becomes approximately 131km in the East-West direction
at 70 degrees latitude (North or South). Therefore, for the
representation of uncertainty it is RECOMMENDED that the maximum
distance between two points in a shape be less than 130km. Shapes
that have an absolute latitude of more than 70 degrees SHOULD be
smaller before any approximation is used.
4.4.2. Planar Approximation
A common approximation used for geodesy applications treats the
surface of the ellipsoid as if it were a plane over a small area.
This approximation is more intuitive and simplifies mathematical
operations. Implementations MAY use this approximation method in
interpreting the shapes in this document providing that the size of
the shape is within the guidelines in Section 4.4.1.
Thomson Expires June 16, 2007 [Page 11]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
5. Geometry
This document defines a set of geometry that is appropriate for the
encoding of the sorts of LI described in Section 3.1. This section
describes how geometries can be represented using the application
schema defined in Section 6. Pre-existing GML geometries,
"gml:Point" and "gml:Polygon" are also described with examples.
This section clarifies the usage of the zero dimensional Point
(Section 5.1). The following two dimensional shapes are either
clarified or defined: Polygon (Section 5.2), Circle (Section 5.3),
Ellipse (Section 5.4) and Arc Band (Section 5.5). The following
three dimensional shapes are defined: Sphere (Section 5.6), Ellipsoid
(Section 5.7) and Prism (Section 5.8).
A description of the Point, Circle, Ellipse, Sphere, Ellipsoid,
Polygon and Arc Band, including descriptions of their parameters and
explanatory diagrams, can be found in [3GPP.TS23032].
5.1. Point
The point shape type is the simplest form of geodetic LI, which is
natively supported by GML. The "gml:Point" element is used when
there is no known uncertainty. A point also forms part of a number
of other geometries.
A point MAY be specified using either WGS 84 (latitude, longitude) or
WGS 84 (latitude, longitude, altitude). This is shown in the
following examples:
<gml:Point srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>-34.407 150.883</gml:pos>
</gml:Point>
<gml:Point srsName="urn:ogc:def:crs:EPSG::4979"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>-34.407 150.883 24.8</gml:pos>
</gml:Point>
5.2. Polygon
A polygon uses the "gml:Polygon" element. A polygon is specified by
a sequence of points. A polygon requires at least four points, where
the first and last point MUST be the same.
Points specified in a polygon MUST be coplanar. However,
implementations SHOULD be prepared to accept small variations that
Thomson Expires June 16, 2007 [Page 12]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
might occur depending on whether the the polygon is specified on a
plane in space, or only relative to the ellipsoid. To avoid
implementation complexity, implementations MAY choose to not support
polygons that include varying altitude. Therefore, two polygon forms
are permitted: polygons specified using EPSG 4326, and polygons
specified using EPSG 4979 with a constant altitude value.
Interpolation between points is linear, as defined for the
"gml:LinearRing" element. Note that this interpolation is different
for that specified in [3GPP.TS23032], which uses geodesic
interpolation. Since geodesic interpolation is non-trivial to
implement and some error is acceptable in both [3GPP.TS23032] and
this document, implementations SHOULD minimize this error by ensuring
that the sides of polygons are as short as possible.
Note: [3GPP.TS23032] limits the number of unique points to 15 for a
polygon. Therefore, if interoperability is required, polygons should
not have more than 16 points in total.
The following example shows a polygon that is specified using EPSG
4326 and the "gml:pos" element. No altitude is included in this
example, indicating that altitude is unknown.
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gml="http://www.opengis.net/gml">
<gml:exterior>
<gml:LinearRing>
<gml:pos>42.556844 -73.248157</gml:pos>
<gml:pos>42.549631 -73.237283</gml:pos>
<gml:pos>42.539087 -73.240328</gml:pos>
<gml:pos>42.535756 -73.254242</gml:pos>
<gml:pos>42.542969 -73.265115</gml:pos>
<gml:pos>42.553513 -73.262075</gml:pos>
<gml:pos>42.556844 -73.248157</gml:pos>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
Thomson Expires June 16, 2007 [Page 13]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
The following alternative example shows the same polygon with a
constant altitude included that is specified using EPSG 4979 and the
"gml:posList" element.
<gml:Polygon srsName="urn:ogc:def:crs:EPSG::4979"
xmlns:gml="http://www.opengis.net/gml">
<gml:exterior>
<gml:LinearRing>
<gml:posList>
42.556844 -73.248157 36.6
42.549631 -73.237283 36.6
42.539087 -73.240328 36.6
42.535756 -73.254242 36.6
42.542969 -73.265115 36.6
42.553513 -73.262075 36.6
42.556844 -73.248157 36.6
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
The "gml:posList" element is interpreted as a list with the dimension
of the CRS indicating how many values are required for each point.
5.2.1. Polygon Upward Normal
The upward normal of a polygon determines the orientation of the
surface. The upward normal of a polygon is important for the
definition of the Prism (Section 5.8).
[OGC.GML-3.1.1] describes the upward normal of a surface as a unit
vector pointing to the side of the surface from which the exterior
boundary appears counterclockwise. It is RECOMMENDED therefore that
polygons are specified in a counterclockwise direction, so that their
upward normal corresponds to an actual _up_.
The upward normal can also be determined using the _Right Hand Rule_.
Take your right hand and curl the fingers in the predominant
direction that the polygon is defined; your thumb then points in the
direction of the upward normal.
Polygons with four or more unique points that are specified with
constant altitude are unlikely to be perfectly coplanar. An
approximate method for determining the upward normal of a polygon
that is not guaranteed to be coplanar is described in Appendix A.
Thomson Expires June 16, 2007 [Page 14]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
5.3. Circle
The circular area is used for coordinates in two-dimensional CRSs to
describe uncertainty about a point. The definition is based on the
one-dimensional geometry in GML, "gml:CircleByCenterPoint".
The centre point of a circular area MUST be specified using a two
dimensional CRS; in three dimensions, the orientation of the circle
cannot be specified correctly using this representation. A point
with uncertainty that is specified in three dimensions SHOULD use the
Sphere (Section 5.6) shape type.
<gs:Circle srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>
42.5463 -73.2512
</gml:pos>
<gml:radius uom="urn:ogc:def:uom:EPSG::9001">
850.24
</gml:radius>
</gs:Circle>
5.4. Ellipse
An elliptical area describes an ellipse in two dimensional space.
The ellipse is described by a center point, the length of its semi-
major and semi-minor axes, and the orientation of the semi-major
axis.
Like the circular area (Section 5.3), the ellipse MUST be specified
using a two dimensional CRS.
<gs:Ellipse srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>
42.5463 -73.2512
</gml:pos>
<gs:semiMajorAxis uom="urn:ogc:def:uom:EPSG::9001">
1275
</gs:semiMajorAxis>
<gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001">
670
</gs:semiMinorAxis>
<gs:orientation uom="urn:ogc:def:uom:EPSG::9102">
43.2
</gs:orientation>
Thomson Expires June 16, 2007 [Page 15]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
</gs:Ellipse>
The "gml:pos" element indicates the position of the center, or
origin, of the ellipse.
The "gs:semiMajorAxis" and "gs:semiMinorAxis" elements are the length
of the semi-major and semi-minor axes respectively.
The "gs:orientation" element is the angle by which the semi-major
axis is rotated from the first axis of the CRS towards the second
axis. For WGS 84, the orientation indicates rotation from Northing
to Easting, which, if specified in degrees, is roughly equivalent to
a compass bearing (if magnetic north were the same as the WGS north
pole).
Note: An ellipse with equal major and minor axis lengths is a circle.
5.5. Arc Band
An arc band is a section of a circular area that is constrained to an
arc between two radii. The arc band shape is most useful when radio
timing technologies are used to determine location, based on a single
wireless transmitter. These technologies provide a result that is a
range from the transmitter, which might also be constrained in
direction.
An arc band is defined by the center point of the circle, an inner
and outer radius, a start angle, and an opening angle.
The following figure shows a sample arc band, with the center point
"c", inner radius "r(i)", outer radius "r(o)", start angle "a(s)",
and opening angle "a(o)" indicated.
Thomson Expires June 16, 2007 [Page 16]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
N ^ ,.__
| / `-.
| a(s) / `-.
|--. / `.
| `/ \
| /__ \
| . `-. \
| . `. \
|. \ \ .
---c-- a(o) -- | | -->
|. / ' | E
| . / '
| . / ;
.,' /
r(i)`. /
`. /
`. ,'
`. ,'
r(o)`'
Arc Band Diagram
The center point, "gml:pos", MUST be specified in a two dimensional
CRS.
The inner radius, "gs:innerRadius", defines the minimum distance from
the center point. The outer radius, "gs:outerRadius", defines the
maximum distance from the center point.
The start angle, "gs:startAngle", and opening angles,
"gs:openingAngle", define where the arc begins and ends. The arc
covers an arc the size of the opening (or included) angle that begins
at the start (or offset) angle. Angles are measured clockwise from
North (Northing to Easting).
Thomson Expires June 16, 2007 [Page 17]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
The following example includes an arc band shape. This arc band
starts at 266 degrees and has a 120 degree opening; therefore, the
end of the band is at a 26 degree bearing.
<gs:ArcBand srsName="urn:ogc:def:crs:EPSG::4326"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>
42.5463 -73.2512
</gml:pos>
<gs:innerRadius uom="urn:ogc:def:uom:EPSG::9001">
1661.55
</gs:innerRadius>
<gs:outerRadius uom="urn:ogc:def:uom:EPSG::9001">
2215.4
</gs:outerRadius>
<gs:startAngle uom="urn:ogc:def:uom:EPSG::9102">
266
</gs:startAngle>
<gs:openingAngle uom="urn:ogc:def:uom:EPSG::9102">
120
</gs:openingAngle>
</gs:ArcBand>
Note: An arc band with an inner radius of zero, and equal start and
opening angles is a circle.
5.6. Sphere
The sphere is a volume that provides the same information as a circle
(Section 5.3) in three dimensions. The sphere MUST be specified
using a three dimensional CRS.
The following example shows a sphere shape, which is identical to the
circle example, except for the addition of an altitude in the
provided coordinates.
<gs:Sphere srsName="urn:ogc:def:crs:EPSG::4979"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>
42.5463 -73.2512 26.3
</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::9001">
850.24
</gs:radius>
</gs:Sphere>
Thomson Expires June 16, 2007 [Page 18]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
5.7. Ellipsoid
The ellipsoid is a volume that is based on the ellipse (Section 5.4)
shape, with the addition of a third dimension. A single value,
vertical uncertainty, is added to the ellipse to form an ellipsoid.
A full specification of an ellipsoid would include three angles in
order to be able to orient the ellipsoid in three dimensions. This
representation is limited to a single orientation angle, which is the
same value that is used for the ellipse. This limits the major and
minor axes of the base ellipse to a plane that is parallel to the
surface of the WGS 84 ellipsoid at the given latitude and longitude.
Implementations MAY also choose to place these axes on the surface of
the WGS 84 ellipsoid. The difference between these two
interpretations are not considered significant.
The third length measurement, "gs:vertical", indicates the length of
the third axis of the ellipsoid, which is a line that is always
perpindicular to the surface of the WGS 84 ellipsoid, that is, it is
vertical.
This ellipsoid representation is similar to that described in
[3GPP.TS23032].
The following example shows an ellipsoid.
<gs:Ellipsoid srsName="urn:ogc:def:crs:EPSG::4979"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gml:pos>
42.5463 -73.2512 26.3
</gml:pos>
<gs:semiMajorAxis uom="urn:ogc:def:uom:EPSG::9001">
7.7156
</gs:semiMajorAxis>
<gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001">
3.31
</gs:semiMinorAxis>
<gs:verticalAxis uom="urn:ogc:def:uom:EPSG::9001">
28.7
</gs:verticalAxis>
<gs:orientation uom="urn:ogc:def:uom:EPSG::9102">
142
</gs:orientation>
</gs:Ellipsoid>
Note: An ellipsoid with equal major, minor and vertical axis lengths
is a sphere.
Thomson Expires June 16, 2007 [Page 19]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
5.8. Prism
The prism is a volume that is commonly used to represent a shape that
has a constant cross section along one axis. For the purposes of
PIDF-LO, a prism is most useful when representing a building, or
single floor of a building.
A prism is defined by its base, which is a two dimensional surface
specified using a three dimensional CRS, and a height. The height is
a scalar value that is projected in the direction of the upward
normal of the base surface, see Section 5.2.1.
It is strongly RECOMMENDED that the base shape for a prism is level,
that is, it exists at the same altitude for all points.
Implementations MAY reject prisms that have a base that is not at the
same altitude.
The following hexagonal prism might be used to represent a floor of a
building in geodetic form.
<gs:Prism srsName="urn:ogc:def:crs:EPSG::4979"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gml="http://www.opengis.net/gml">
<gs:base>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
42.556844 -73.248157 36.6
42.549631 -73.237283 36.6
42.539087 -73.240328 36.6
42.535756 -73.254242 36.6
42.542969 -73.265115 36.6
42.553513 -73.262075 36.6
42.556844 -73.248157 36.6
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gs:base>
<gs:height uom="urn:ogc:def:uom:EPSG::9001">
2.4
</gs:height>
</gs:Prism>
The Circle (Section 5.3) and Ellipse (Section 5.4) shapes do not have
a defined upward normal, so they cannot be used as the base of a
Prism.
Thomson Expires June 16, 2007 [Page 20]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
6. Application Schema
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:gs="urn:ietf:params:xml:ns:pidf:geopriv10:geoShape"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:annotation>
<xs:appinfo
source="urn:ietf:params:xml:schema:pidf:geopriv10:geoShape">
GEOPRIV Geodetic Shapes
</xs:appinfo>
<xs:documentation source="http://www.ietf.org/rfc/rfcXXXX.txt">
<!-- [[NOTE TO RFC-EDITOR: Please replace above URL with URL of
published RFC and remove this note.]] -->
This document defines geodetic shape types for PIDF-LO.
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml"
schemaLocation="geometryPrimitives.xsd"/>
<xs:element name="Circle" type="gs:CircleType"
substitutionGroup="gml:_Surface"/>
<xs:complexType name="CircleType">
<xs:complexContent>
<xs:extension base="gml:AbstractSurfaceType">
<xs:sequence>
<xs:group ref="gs:centerGroup"/>
<xs:element name="radius" type="gml:LengthType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Ellipse" type="gs:EllipseType"
substitutionGroup="gml:_Surface"/>
<xs:complexType name="EllipseType">
<xs:complexContent>
<xs:extension base="gml:AbstractSurfaceType">
<xs:sequence>
<xs:group ref="gs:centerGroup"/>
<xs:element name="semiMajorAxis" type="gml:LengthType"/>
<xs:element name="semiMinorAxis" type="gml:LengthType"/>
Thomson Expires June 16, 2007 [Page 21]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<xs:element name="orientation" type="gml:AngleType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ArcBand" type="gs:ArcBandType"
substitutionGroup="gml:_Surface"/>
<xs:complexType name="ArcBandType">
<xs:complexContent>
<xs:extension base="gml:AbstractSurfaceType">
<xs:sequence>
<xs:group ref="gs:centerGroup"/>
<xs:element name="innerRadius" type="gml:LengthType"/>
<xs:element name="outerRadius" type="gml:LengthType"/>
<xs:element name="startAngle" type="gml:AngleType"/>
<xs:element name="openingAngle" type="gml:AngleType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Prism" type="gs:PrismType"
substitutionGroup="gml:_Solid"/>
<xs:complexType name="PrismType">
<xs:complexContent>
<xs:extension base="gml:AbstractSolidType">
<xs:sequence>
<xs:element name="base" type="gml:SurfacePropertyType"/>
<xs:element name="height" type="gml:LengthType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Sphere" type="gs:SphereType"
substitutionGroup="gml:_Solid"/>
<xs:complexType name="SphereType">
<xs:complexContent>
<xs:extension base="gml:AbstractSolidType">
<xs:sequence>
<xs:group ref="gs:centerGroup"/>
<xs:element name="radius" type="gml:LengthType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Thomson Expires June 16, 2007 [Page 22]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<xs:element name="Ellipsoid" type="gs:EllipsoidType"
substitutionGroup="gml:_Solid"/>
<xs:complexType name="EllipsoidType">
<xs:complexContent>
<xs:extension base="gml:AbstractSolidType">
<xs:sequence>
<xs:group ref="gs:centerGroup"/>
<xs:element name="semiMajorAxis" type="gml:LengthType"/>
<xs:element name="semiMinorAxis" type="gml:LengthType"/>
<xs:element name="verticalAxis" type="gml:LengthType"/>
<xs:element name="orientation" type="gml:AngleType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="centerGroup">
<xs:choice>
<xs:element ref="gml:pos"/>
<xs:element ref="gml:pointProperty"/>
</xs:choice>
</xs:group>
</xs:schema>
Thomson Expires June 16, 2007 [Page 23]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
7. GML Profile Schema
This section defines a profile of GML that follows the
recommendations in Section 22 of [OGC.GML-3.1.1]. The _copy and
delete_ method has been employed to generate this schema. The
profile includes abridged versions of the files:
"geometryPrimitives.xsd", "geometryBasic2d.xsd",
"geometryBasic0d1d.xsd", "measures.xsd", "gmlBase.xsd", and
"basicTypes.xsd". Note that "units.xsd" and "dictionary.xsd" are
excluded from this profile.
For the purposes of brevity, all comments and annotations from the
original GML schema have been removed. Schematron [ISO.19757-3.2005]
validation has also been removed.
7.1. geometryPrimitives.xsd
The following file is the profile version of
"geometryPrimitives.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
version="3.1.1" elementFormDefault="qualified">
<include schemaLocation="geometryBasic2d.xsd"/>
<element name="Curve" type="gml:CurveType"
substitutionGroup="gml:_Curve"/>
<complexType name="CurveType">
<complexContent>
<extension base="gml:AbstractCurveType">
<sequence>
<element ref="gml:segments"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="_CurveSegment"
type="gml:AbstractCurveSegmentType" abstract="true"/>
<complexType name="AbstractCurveSegmentType" abstract="true">
<sequence/>
<attribute name="numDerivativesAtStart" type="integer"
use="optional" default="0"/>
<attribute name="numDerivativesAtEnd" type="integer"
use="optional" default="0"/>
Thomson Expires June 16, 2007 [Page 24]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<attribute name="numDerivativeInterior" type="integer"
use="optional" default="0"/>
</complexType>
<element name="segments" type="gml:CurveSegmentArrayPropertyType"/>
<complexType name="CurveSegmentArrayPropertyType">
<sequence>
<element ref="gml:_CurveSegment"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="LineStringSegment" type="gml:LineStringSegmentType"
substitutionGroup="gml:_CurveSegment"/>
<complexType name="LineStringSegmentType">
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<choice>
<choice minOccurs="2" maxOccurs="unbounded">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
</choice>
<element ref="gml:posList"/>
</choice>
</sequence>
<attribute name="interpolation"
type="gml:CurveInterpolationType" fixed="linear"/>
</extension>
</complexContent>
</complexType>
<element name="ArcByCenterPoint" type="gml:ArcByCenterPointType"
substitutionGroup="gml:_CurveSegment"/>
<complexType name="ArcByCenterPointType">
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<choice>
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
</choice>
<element name="radius" type="gml:LengthType"/>
<element name="startAngle" type="gml:AngleType"
minOccurs="0"/>
<element name="endAngle" type="gml:AngleType"
minOccurs="0"/>
</sequence>
Thomson Expires June 16, 2007 [Page 25]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<attribute name="interpolation"
type="gml:CurveInterpolationType"
fixed="circularArcCenterPointWithRadius"/>
<attribute name="numArc" type="integer"
use="required" fixed="1"/>
</extension>
</complexContent>
</complexType>
<element name="CircleByCenterPoint"
type="gml:CircleByCenterPointType"
substitutionGroup="gml:ArcByCenterPoint"/>
<complexType name="CircleByCenterPointType">
<complexContent>
<extension base="gml:ArcByCenterPointType"/>
</complexContent>
</complexType>
<element name="Surface" type="gml:SurfaceType"
substitutionGroup="gml:_Surface"/>
<complexType name="SurfaceType">
<complexContent>
<extension base="gml:AbstractSurfaceType">
<sequence>
<element ref="gml:patches"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="_SurfacePatch" type="gml:AbstractSurfacePatchType"
abstract="true"/>
<complexType name="AbstractSurfacePatchType" abstract="true">
<sequence/>
</complexType>
<element name="patches" type="gml:SurfacePatchArrayPropertyType"/>
<complexType name="SurfacePatchArrayPropertyType">
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="gml:_SurfacePatch"/>
</sequence>
</complexType>
<element name="PolygonPatch" type="gml:PolygonPatchType"
substitutionGroup="gml:_SurfacePatch"/>
<complexType name="PolygonPatchType">
<complexContent>
<extension base="gml:AbstractSurfacePatchType">
Thomson Expires June 16, 2007 [Page 26]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<sequence>
<element ref="gml:exterior" minOccurs="0"/>
</sequence>
<attribute name="interpolation"
type="gml:SurfaceInterpolationType"
fixed="planar"/>
</extension>
</complexContent>
</complexType>
<element name="Rectangle" type="gml:RectangleType"
substitutionGroup="gml:_SurfacePatch"/>
<complexType name="RectangleType">
<complexContent>
<extension base="gml:AbstractSurfacePatchType">
<sequence>
<element ref="gml:exterior"/>
</sequence>
<attribute name="interpolation"
type="gml:SurfaceInterpolationType"
fixed="planar"/>
</extension>
</complexContent>
</complexType>
<element name="PolyhedralSurface" type="gml:PolyhedralSurfaceType"
substitutionGroup="gml:Surface"/>
<complexType name="PolyhedralSurfaceType">
<complexContent>
<restriction base="gml:SurfaceType">
<sequence>
<element ref="gml:polygonPatches"/>
</sequence>
</restriction>
</complexContent>
</complexType>
<element name="polygonPatches"
type="gml:PolygonPatchArrayPropertyType"
substitutionGroup="gml:patches"/>
<complexType name="PolygonPatchArrayPropertyType">
<complexContent>
<restriction base="gml:SurfacePatchArrayPropertyType">
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="gml:PolygonPatch"/>
</sequence>
</restriction>
</complexContent>
Thomson Expires June 16, 2007 [Page 27]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
</complexType>
<element name="_Solid" type="gml:AbstractSolidType" abstract="true"
substitutionGroup="gml:_GeometricPrimitive"/>
<complexType name="AbstractSolidType">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>
<element name="Solid" type="gml:SolidType"
substitutionGroup="gml:_Solid"/>
<complexType name="SolidType">
<complexContent>
<extension base="gml:AbstractSolidType">
<sequence>
<element name="exterior" type="gml:SurfacePropertyType"
minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<simpleType name="CurveInterpolationType">
<restriction base="string">
<enumeration value="linear"/>
<enumeration value="geodesic"/>
<enumeration value="circularArc3Points"/>
<enumeration value="circularArcCenterPointWithRadius"/>
</restriction>
</simpleType>
<simpleType name="SurfaceInterpolationType">
<restriction base="string">
<enumeration value="planar"/>
</restriction>
</simpleType>
</schema>
7.2. geometryBasic2d.xsd
The following file is the profile version of "geometryBasic2d.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
Thomson Expires June 16, 2007 [Page 28]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
version="3.1.1" elementFormDefault="qualified">
<include schemaLocation="geometryBasic0d1d.xsd"/>
<element name="_Surface" type="gml:AbstractSurfaceType"
abstract="true"
substitutionGroup="gml:_GeometricPrimitive"/>
<complexType name="AbstractSurfaceType">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>
<element name="surfaceProperty" type="gml:SurfacePropertyType"/>
<complexType name="SurfacePropertyType">
<sequence>
<element ref="gml:_Surface"/>
</sequence>
</complexType>
<element name="Polygon" type="gml:PolygonType"
substitutionGroup="gml:_Surface"/>
<complexType name="PolygonType">
<complexContent>
<extension base="gml:AbstractSurfaceType">
<sequence>
<element ref="gml:exterior" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="_Ring" type="gml:AbstractRingType" abstract="true"
substitutionGroup="gml:_Geometry"/>
<complexType name="AbstractRingType" abstract="true">
<complexContent>
<extension base="gml:AbstractGeometryType"/>
</complexContent>
</complexType>
<element name="exterior" type="gml:AbstractRingPropertyType"/>
<complexType name="AbstractRingPropertyType">
<sequence>
<element ref="gml:_Ring"/>
</sequence>
</complexType>
<element name="LinearRing" type="gml:LinearRingType"
Thomson Expires June 16, 2007 [Page 29]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
substitutionGroup="gml:_Ring"/>
<complexType name="LinearRingType">
<complexContent>
<extension base="gml:AbstractRingType">
<sequence>
<choice>
<choice minOccurs="4" maxOccurs="unbounded">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
</choice>
<element ref="gml:posList"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
7.3. geometryBasic0d1d.xsd
The following file is the profile version of "geometryBasic0d1d.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
version="3.1.1" elementFormDefault="qualified">
<include schemaLocation="measures.xsd"/>
<element name="_Geometry" type="gml:AbstractGeometryType"
abstract="true" substitutionGroup="gml:_GML"/>
<complexType name="GeometryPropertyType">
<sequence>
<element ref="gml:_Geometry"/>
</sequence>
</complexType>
<complexType name="GeometryArrayPropertyType">
<sequence>
<element ref="gml:_Geometry"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="AbstractGeometryType" abstract="true">
<complexContent>
Thomson Expires June 16, 2007 [Page 30]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
<extension base="gml:AbstractGMLType">
<attribute name="gid" type="string" use="optional">
</attribute>
<attributeGroup ref="gml:SRSReferenceGroup"/>
</extension>
</complexContent>
</complexType>
<attributeGroup name="SRSReferenceGroup">
<attribute name="srsName" type="anyURI" use="optional"/>
<attribute name="srsDimension" type="positiveInteger"
use="optional"/>
<attributeGroup ref="gml:SRSInformationGroup"/>
</attributeGroup>
<attributeGroup name="SRSInformationGroup">
<attribute name="axisLabels" type="gml:NCNameList"
use="optional"/>
<attribute name="uomLabels" type="gml:NCNameList"
use="optional">
</attribute>
</attributeGroup>
<element name="_GeometricPrimitive"
type="gml:AbstractGeometricPrimitiveType" abstract="true"
substitutionGroup="gml:_Geometry"/>
<complexType name="AbstractGeometricPrimitiveType" abstract="true">
<complexContent>
<extension base="gml:AbstractGeometryType"/>
</complexContent>
</complexType>
<element name="Point" type="gml:PointType"
substitutionGroup="gml:_GeometricPrimitive"/>
<complexType name="PointType">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType">
<sequence>
<element ref="gml:pos"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="pointProperty" type="gml:PointPropertyType"/>
<complexType name="PointPropertyType">
<sequence>
<element ref="gml:Point"/>
Thomson Expires June 16, 2007 [Page 31]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
</sequence>
</complexType>
<element name="_Curve" type="gml:AbstractCurveType" abstract="true"
substitutionGroup="gml:_GeometricPrimitive"/>
<complexType name="AbstractCurveType" abstract="true">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>
<element name="curveProperty" type="gml:CurvePropertyType"/>
<complexType name="CurvePropertyType">
<sequence>
<element ref="gml:_Curve"/>
</sequence>
</complexType>
<element name="LineString" type="gml:LineStringType"
substitutionGroup="gml:_Curve"/>
<complexType name="LineStringType">
<complexContent>
<extension base="gml:AbstractCurveType">
<sequence>
<choice>
<choice minOccurs="2" maxOccurs="unbounded">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
</choice>
<element ref="gml:posList"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="pos" type="gml:DirectPositionType"/>
<complexType name="DirectPositionType">
<simpleContent>
<extension base="gml:doubleList"/>
</simpleContent>
</complexType>
<element name="posList" type="gml:DirectPositionListType"/>
<complexType name="DirectPositionListType">
<simpleContent>
<extension base="gml:doubleList">
<attribute name="count" type="positiveInteger"
Thomson Expires June 16, 2007 [Page 32]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
use="optional"/>
</extension>
</simpleContent>
</complexType>
<element name="Envelope" type="gml:EnvelopeType"/>
<complexType name="EnvelopeType">
<choice>
<sequence>
<element name="lowerCorner" type="gml:DirectPositionType"/>
<element name="upperCorner" type="gml:DirectPositionType"/>
</sequence>
<element ref="gml:pos" minOccurs="2" maxOccurs="2"/>
</choice>
<attributeGroup ref="gml:SRSReferenceGroup"/>
</complexType>
</schema>
Thomson Expires June 16, 2007 [Page 33]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
7.4. measures.xsd
The following file is the profile version of "measures.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
version="3.1.1" elementFormDefault="qualified">
<include schemaLocation="gmlBase.xsd"/>
<element name="measure" type="gml:MeasureType"/>
<complexType name="LengthType">
<simpleContent>
<restriction base="gml:MeasureType"/>
</simpleContent>
</complexType>
<element name="angle" type="gml:MeasureType"/>
<complexType name="AngleType">
<simpleContent>
<restriction base="gml:MeasureType"/>
</simpleContent>
</complexType>
</schema>
Thomson Expires June 16, 2007 [Page 34]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
7.5. gmlBase.xsd
The following file is the profile version of "gmlBase.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
version="3.1.1" elementFormDefault="qualified">
<include schemaLocation="basicTypes.xsd"/>
<element name="_Object" abstract="true"/>
<element name="_GML" type="gml:AbstractGMLType" abstract="true"
substitutionGroup="gml:_Object"/>
<complexType name="AbstractGMLType" abstract="true">
<attribute ref="gml:id" use="optional"/>
</complexType>
<attribute name="id" type="ID"/>
</schema>
Thomson Expires June 16, 2007 [Page 35]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
7.6. basicTypes.xsd
The following file is the profile version of "basicTypes.xsd".
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/gml"
version="3.1.1" elementFormDefault="qualified">
<simpleType name="SignType">
<restriction base="string">
<enumeration value="-"/>
<enumeration value="+"/>
</restriction>
</simpleType>
<simpleType name="booleanList">
<list itemType="boolean"/>
</simpleType>
<simpleType name="NameList">
<list itemType="Name"/>
</simpleType>
<simpleType name="doubleList">
<list itemType="double"/>
</simpleType>
<simpleType name="integerList">
<list itemType="integer"/>
</simpleType>
<complexType name="MeasureType">
<simpleContent>
<extension base="double">
<attribute name="uom" type="anyURI" use="required"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="NCNameList">
<list itemType="NCName"/>
</simpleType>
</schema>
Thomson Expires June 16, 2007 [Page 36]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
8. Security Considerations
It is believed that this document does not have any security
considerations. If this information is included within a PIDF-LO
document, the security considerations of [RFC4119] apply, especially
those that are related to privacy.
Thomson Expires June 16, 2007 [Page 37]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
9. IANA Considerations
This section registers the application schema for geodetic shapes and
its namespace with IANA.
9.1. URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:pidf:geopriv10:geoShape
This section registers a new XML namespace,
"urn:ietf:params:xml:ns:pidf:geopriv10:geoShape", as per the
guidelines in [RFC3688].
URI: urn:ietf:params:xml:ns:pidf:geopriv10:geoShape
Registrant Contact: IETF, GEOPRIV working group,
(geopriv@ietf.org), Martin Thomson (martin.thomson@andrew.com).
XML:
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GEOPRIV GML Application Schema</title>
</head>
<body>
<h1>Namespace for GEOPRIV GML Application Schema</h1>
<h2>urn:ietf:params:xml:ns:pidf:geopriv10:geoShape</h2>
[[NOTE TO IANA/RFC-EDITOR: Please update RFC URL and replace XXXX
with the RFC number for this specification.]]
<p>See <a href="[[RFC URL]]">RFCXXXX</a>.</p>
</body>
</html>
END
9.2. XML Schema Registration
This section registers an XML schema as per the guidelines in
[RFC3688].
URI: urn:ietf:params:xml:schema:pidf:geopriv10:geoShape
Registrant Contact: IETF, GEOPRIV working group, (geopriv@ietf.org),
Martin Thomson (martin.thomson@andrew.com).
Thomson Expires June 16, 2007 [Page 38]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Schema: The XML for this schema can be found as the entirety of
Section 6 of this document.
Thomson Expires June 16, 2007 [Page 39]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
10. Acknowledgements
The author would like to thank Carl Reed and Ron Lake of the OGC for
their help in understanding geodesy and GML. The author would also
like to thank Cullen Jennings for asking intelligent questions when
noone else did.
Thomson Expires June 16, 2007 [Page 40]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object
Format", RFC 4119, December 2005.
[OGC.GML-3.1.1]
Cox, S., Daisey, P., Lake, R., Portele, C., and A.
Whiteside, "Geographic information - Geography Markup
Language (GML)", OpenGIS 03-105r1, April 2004,
<http://portal.opengeospatial.org/files/
?artifact_id=4700>.
11.2. Informative References
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004.
[I-D.ietf-geopriv-revised-civic-lo]
Thomson, M. and J. Winterbottom, "Revised Civic Location
Format for PIDF-LO",
draft-ietf-geopriv-revised-civic-lo-04 (work in progress),
September 2006.
[W3C.REC-xlink-20010627]
DeRose, S., Orchard, D., and E. Maler, "XML Linking
Language (XLink) Version 1.0", World Wide Web Consortium
Recommendation REC-xlink-20010627, June 2001,
<http://www.w3.org/TR/2001/REC-xlink-20010627>.
[NIMA.TR8350.2-3e]
US National Imagery and Mapping Agency, "Department of
Defense (DoD) World Geodetic System 1984 (WGS 84), Third
Edition", NIMA TR8350.2, January 2000.
[EPSG.GN7-2]
European Petroleum Survey Group, "Coordinate Conversions
and Transforms including Formulas", EPSG Guidance Note 7,
part 2 , November 2005,
<http://www.epsg.org/guides/G7-2.html>.
[3GPP.TS23032]
3GPP, "Universal Geographical Area Description (GAD)",
3GPP TS 23.032 v6.0.0, December 2004.
Thomson Expires June 16, 2007 [Page 41]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
[ISO.19757-3.2005]
International Organization for Standardization and
International Electrotechnical Commission, "Document
Schema Definitions Languages (DSDL): Part 3 - Rule-based
validation - Schematron", ISO/IEC FDIS 19757-3, 2005.
[Sunday02]
Sunday, D., "Fast polygon area and Newell normal
computation.", Journal of Graphics Tools JGT, 7(2):9-
13,2002, 2002, <http://www.acm.org/jgt/papers/Sunday02/>.
Thomson Expires June 16, 2007 [Page 42]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Appendix A. Calculating the Upward Normal of a Polygon
For a polygon that is guaranteed to be convex and coplanar, the
upward normal can be found by finding the vector cross product of
adjacent edges.
For more general cases the Newell method of approximation described
in [Sunday02] may be applied. In particular, this method can be used
if the points are only approximately coplanar, and for non-convex
polygons.
This method can be condensed to the following set of equations:
Ux := sum from i=1..n of (y[i] * (z[i+1] - z[i-1]))
Uy := sum from i=1..n of (z[i] * (x[i+1] - x[i-1]))
Uz := sum from i=1..n of (x[i] * (y[i+1] - y[i-1]))
For these formulae, the polygon is made of points (x[1], y[1], z[1])
through (x[n], y[n], x[n]). Each array is treated as circular, that
is, x[0] = x[n] and x[n+1] = x[1].
Note: This method assumes a cartesian coordinate system, this SHOULD
NOT be applied to coordinates specified in the WGS 84 (latitude,
longitude, altitude) CRS. Coordinates specified in a geographic CRS
SHOULD be transformed to a cartesian, geocentric CRS (such as EPSG
4978) before this method is applied, see [EPSG.GN7-2] and
[NIMA.TR8350.2-3e] for details.
Thomson Expires June 16, 2007 [Page 43]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Appendix B. Change Log
[[The RFC Editor is requested to remove this section at
publication.]]
Changes since draft-thomson-geopriv-geo-shape-02:
o Corrected typographical errors.
Changes since -01:
o Added more guidance on applicability.
o Added more guidance on approximations methods and the limits to
those methods.
Changes since -00:
o Removed 16 point limit on Polygons.
o Resolved outstanding issues (no changes).
Thomson Expires June 16, 2007 [Page 44]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Author's Address
Martin Thomson
Andrew
PO Box U40
Wollongong University Campus, NSW 2500
AU
Phone: +61 2 4221 2915
Email: martin.thomson@andrew.com
URI: http://www.andrew.com/
Thomson Expires June 16, 2007 [Page 45]
Internet-Draft PIDF-LO Geodetic Shapes December 2006
Full Copyright Statement
Copyright (C) The IETF Trust (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Thomson Expires June 16, 2007 [Page 46]
| PAFTECH AB 2003-2026 | 2026-04-21 23:06:05 |