ࡱ > N ` I K 0 T bjbj 7
j j * l ) ) ) ) ., ., ., B, 0B 0B 0B 8 hB t B B, f C . F F F F J \ P R 1 3 3 3 ^ T T 9 $ Z z ] Q ., S J J S S ] o ) ) F F o o o S F ) F ., F 1 o S 1 o $ o u G 4 + ., F C pblB, 0B %c { D 0 A X Ao d X o B, B, ) ) ) ) WORLD METEOROLOGICAL ORGANIZATION________CBS EXPERT TEAM ON INTEGRATED DATA MANAGEMENT
FOURTH MEETINGGENEVA, 1 TO 3 SEPTEMBER 2004ET-IDM-III/Doc. 3.1(3) (30.IV.2004) ____ITEM: 3.1 ENGLISH ONLY
Proposal for a Unified Definition of a Boundary Polygon in GML
(Submitted by Dieter Schrder)
Summary and Purpose of the Document
This document describes the possibilities to define boundary functions in GML. Derived from these possibilities a proposal for a unified definition of boundary functions for the WMO community is presented. This document was prepared in April 2004 and the author will provide additional inputs during the meeting.
ACTION PROPOSED
The meeting is invited to discuss the proposal, to select alternative coordinate systems and to make suggestions for further action.
CONTENTS
TOC \o "1-3" Executive Summary PAGEREF _Toc71996522 \h 3
Section 1: Problem Oriented Summary of GML PAGEREF _Toc71996523 \h 4
1.1 What is GML? PAGEREF _Toc71996524 \h 4
1.2 General Structure of GML PAGEREF _Toc71996525 \h 4
1.3 Basic Geometries PAGEREF _Toc71996526 \h 5
1.3.2.1 gml:LineString PAGEREF _Toc71996527 \h 7
1.3.2.2 gml:Curve PAGEREF _Toc71996528 \h 8
1.3.3.1 gml:LinearRing PAGEREF _Toc71996529 \h 8
1.3.3.2 gml:Ring PAGEREF _Toc71996530 \h 9
1.3.4.1 gml:Polygon PAGEREF _Toc71996531 \h 9
1.3.4.2 gml:Surface PAGEREF _Toc71996532 \h 11
1.3.7.1 gml:location PAGEREF _Toc71996533 \h 14
1.3.7.2 gml:boundedBy PAGEREF _Toc71996534 \h 15
Section 2: Further Examples PAGEREF _Toc71996535 \h 17
2.1 FeatureCollection PAGEREF _Toc71996536 \h 17
2.2 Crossing the Date-Line and Encompassing of Poles PAGEREF _Toc71996537 \h 19
Section 3: Coordinate Reference Systems PAGEREF _Toc71996538 \h 21
Section 4: Recommendations PAGEREF _Toc71996539 \h 22
References PAGEREF _Toc71996540 \h 23
Executive Summary
The GML standard primarily provides the possibility for a unified and product independent definition of boundary functions. With GML simple as well as multiple connected areas can be described. Areas defined by GML are stable even if a pole or the date boundary is incorporated. Above that special properties can be assigned to the defined geometric areas.
The GML definition, however, does not describe the boundary problem in earth coordinates entirely. In addition a reference coordinate system has to be introduced and this task cannot yet be solved with GML. But this problem can be handled by applying one of the well known reference coordinate systems developed by other scientific societies. The reference coordinate system proposed here is the EPSG:4326 specified from the European Petroleum Survey Group ( HYPERLINK http://www.epsg.org www.epsg.org). This system describes the earth coordinates in latitude and longitude. It is equal to the WGS84 (=World Geodetic System 1984), which is the basis of the GPS coordinates.
This paper consists of four sections: In the first section a problem oriented summary of the GML standard and its structures is given. This summary, however, is restricted to the aspects of geometric figure definition only. The second section shows examples of complex areas and areas containing the date boundary and a geographic pole. The third section discusses the coordinate reference problem. In the fourth section recommendations for a unified boundary definition in the WMO community are presented.
Section 1: Problem Oriented Summary of GML
1.1 What is GML?
The Geography Markup Language (GML) was developed to create a universal and freely available interface via which spatial information can be exchanged. By doing so, the Extensible Markup Language (XML) which creates appropriate basic structures was made use of. GML can therefore be understood as an XML dialect that allows individual, content-related and object-oriented data management, which both corresponds to the XML grammar and follows specific global rules. The basic elements for building a data model of this kind are held in various XML Schema files, which can be individually extended to one's own requirements by adding other schema files.
As a result of the transparent data management, GML offers a number of advantages in favour of a universal use of the language. For example, it is vector-oriented so that the geographical objects contained are not tied to a particular resolution, which, for example, would be the case in the transmission of images. Definition of the elementary basic structures allows the geographical data to be displayed in a browser using the SVG graphical format (Scalable Vector Graphics). Because GML transmits only the contents of maps, and not the way in which they are displayed, the symbolism and coloration of the individual elements can be individually adapted at the client end. This means that the same map can be replicated in different ways, depending on the main focus of the respective representation. In addition to the purely geographical data, one can assign any desired additional information to the objects in GML, such as a name or other characteristics. The ability to use links to tie data together allows information from external sources to be included. Taking a simple case: clicking on a public building within a city map can lead to that public facility's home page. As a result of the content-based depiction of data, it is also possible to select just the specific data relevant to the required representation from a large supply of geo-based data. This allows, for instance, transmission times to be reduced or maps to be presented with greater clarity. As well as storing of spatial data, GML also defines the specification of time constraints and reference points. Hence, it is possible to produce various features for a moving object with successive time constraints and differing coordinates. Similarly, the position of an object can also be defined algorithmically. Because GML is based on XML, the data can be sent to any program containing an XML interface. This standardises and simplifies the exchange of geo-based data between various applications or databases.
An example of the use of the GML format is the possibility of import/export geographical data to the ESRI GIS. This creates the possibility of not only providing geographic data in the form of SDE data or shape files, but also converting the latter into GML data.
Nowadays, GML data is primarily used in conjunction with Internet-based map display tools. An example of the use of GML data in an Internet-based environment is the WMS standard (Web Map Service), also specified by the OGC. With a WMS, GML data can be generated as output of various requests to the WMS and displayed with various viewers in a client (Internet browsers). A viewer of this kind based on the WMS specification is, for instance, the "NASA Web Map Viewer" (http://viewer.digitalearth.gov).
A further example of Internet-based presentation of geographical data is the Web Map Server of ESA (http://mapserv2.esrin.esa.it/map/wtf/).
1.2 General Structure of GML
In order to store geographical referenced data, GML provide so-called feature elements. They describe phenomena in the real world. Thus, a GML file always consists of a collection of features. All features contain sub elements, the properties. They identify the characteristics of a feature. At the same time, each feature can contain several properties, which in turn may exhibit simple information or further features as sub elements. Thus, a feature "City" may use several properties "cityMember", which in turn may contain features such as "River", "Road", "Bridge" or "Building".
Instead of specifying the features directly within the Properties, it is also possible to link to them. For example, in the properties Bridge it is possible to describe the river crossed without having to redefine River. For this purpose, an attribute gml:id can be specified for each GML, which value is unique throughout the entire document and serves as a reference destination for references.
The conventions for GML prescribe that the element names of features are always written in upper case and the names of property elements are always in lower case. Elements defined as abstract begin with an underscore character.
As already described, GML was specified with the aid of several schema files. Alltogether they form the namespace "gml". The XML Schema definition language represents a separate XML dialect, which can define further dialects. At the same time, the GML schema files describe how the data is arranged, whereas the GML instance document contains the actual data. Usually, one writes an individual schema file for one's own application in order to specify the precise properties of the features required. In this file, one derives the types for one's own features from the predefined GML types. The basic type for _Feature Element is defined abstractly anyway, so that without the definition of separate feature types and feature elements one cannot replicate any general objects in GML.
The current version number of GML is 3.0. However, this standard is not yet completely specified in all units. For example, some agreements about coordinate reference systems are still missing. Version 3.0 is basically downwards compatible with Version 2.0 and also supports a few new elements. This includes, for instance, 3D geometries and temporal or dynamic properties of features. Support for complex features has also been extended. Besides this, it is now possible to specify spatial and temporal references and to define units of measure or a reference scale for data contents.
1.3 Basic Geometries
Any feature describing a real object can contain within its property elements one or more items of geometric information that determine its appearance or define its boundaries. This means, for example, that street routes can be replicated or ground plans depicted.
As standard, it is already possible to specify a location and a boundedBy property for each feature, whose precise notation is described at the end of the section. The predefined aliases centerOf, position, extentOf, edgeOf and centerLineOf make it easier to define additional geometric properties of a feature. However, geometric properties may also be completely self-defined. The already predefined geometric elements that can be used in such geometric properties all derived from a higher order element _Geometry. REF _Ref68342493 \h Figure 1 depicts the hierarchy of the available geometric elements.
EMBED Word.Picture.8
Figure SEQ Abbildung \* ARABIC 1: Object hierarchy of geometries
Various geometric primitives and complexes are defined in GML. Geometric primitives are used to represent simple structures such as points, lines, surfaces or solids. Geometric complexes are composed of geometric primitives and thus enter into greater detail concerning the inner structure of the object described. Beside this, geometries which are of the same type but do not border one another, can be combined in a universal set. Since this brief report is oriented towards the limitations of two-dimensional areas, the following text ignores three-dimensional and orientable geometries.
All the geometric structures described here are predefined in the GML schema file geometryBasic0d1d.xsd. This provides a basic set of geometric types and elements, which can be extended in a separate schema file to include the special requirements of a particular application case.
1.3.1 Coordinate Data
The geometric dimensions are always specified by using coordinate data that relates to a specific coordinate reference system. It indicates how the coordinates are to be interpreted (coordinate system, dimensional units, reference points etc.), in what order the individual dimensions are quoted (e.g. Northing/Easting or x/y pairs) and how one can convert the coordinates from one system into those of another. The reference system can be specified for each geometric element individually, although in general it is named once within a collection of geometries. In the following examples the coordinate figures always relate to longitudes and latitudes. The associated coordinate reference system can be specified for the geometries using the attribute srsName="EPSG:4326".
The coordinates of features are always properties and essentially can be specified in three ways. These include pos, pointRep and coordinates. Since the introduction of version 3.0 the fourth possibility coord is no longer used. The individual points are represented as follows:
pos: contains exactly one coordinate tuple which values are separated by white spaces. Example:
13.1 52.4
pointRep: contains either a point (with pos or coordinates specified) or a reference to a point that was uniquely identified beforehand with the attribute gml:id. Examples:
12 48
coordinates: contains a list of points coordinates. The components of a coordinate tuple are usually separated by commas and the individual tuples are separated from one another by spaces. Example: 12,48 14,49
1.3.2 Line Definitions
_Curve constitutes the basic element for line strings. All other definitions are derived from it (see REF _Ref68342493 \h Figure 1). It is used to describe line progressions and to enclose two-dimensional surfaces.
1.3.2.1 gml:LineString
Simple line strings are composed of a number of points. They are used to reproduce unbounded structures, like the course of rivers, for example, or to mark boundary sections from which other geometries can be assembled.
EMBED Visio.Drawing.6
Figure SEQ Abbildung \* ARABIC 2: Line string
The example in REF _Ref67903772 \h \* MERGEFORMAT Figure 2 can be generated using the following LineString:
12,48 14,49 15,50 14,52 14,51
1.3.2.2 gml:Curve
The Curve feature is composed of at least one Curve segment. The individual segments can have differing curvature or forms as a result of various predefined segment types. Curvatures in line strings are possible only by the definition of a Curve element with individual segments. They are specified in the segments property. Common to all Curve features is that they describe a continuous line of measurable length. At the same time, the end point of one segment is identical to the starting point of the next segment. Hence, the line string in REF _Ref67903772 \h Figure 2, for example, could be composed of one segment that contains the first point through to the fourth point and a further segment that joins the fourth and fifth points. However, LineString is better suited to a quick definition of a simple line string. Segments are not derived from _Geometry and thus cannot be considered an independent Curve.
1.3.3 Area Boundaries
The _Ring element is used to mark the boundaries of a surface. It must be emphasised that the _Ring was not itself derived from _Geometry, and is therefore unsuitable for delimiting an entire feature (e.g. a country). As a property element of a surface, the sole task of the ring is to specify its boundaries. This is normally done by using the exterior and interior property elements (see REF _Ref68342493 \h Figure 1). The geometry of the feature (e.g. the country) is then determined by the surface element. GML already offers two derived elements, a simple form, the gml:LinearRing and a composite form, the gml:Ring.
1.3.3.1 gml:LinearRing
The simplest method of specifying a ring is offered by the LinearRing element. It has at least four points as its property, which are specified similar to a LineString. However, the first and last points need to be identical. An example:
12,48 14,49 15,50 14,52 14,51 12,48
EMBED Visio.Drawing.6
Figure SEQ Abbildung \* ARABIC 3: LinearRing
1.3.3.2 gml:Ring
The Ring element offers a more elaborate method of specifying boundaries of surfaces (not features!). It can be composed of several _Curve elements, i.e. of LineString and Curve. Therefore this must contain at least one curveMember property element. The starting point of every curveMember element has to correspond to the end point of the preceding element. Since the ring is closed, this also applies for the first and last point of all curveMember elements. Because _Curve also allows curved line strings to be defined, Ring element would be the appropriate means where curve-shaped boundaries are to be described. This specification is slightly more elaborate though, and has mathematical description of the curve as a prerequisite. Therefore, LinarRing is more suitable for a fast generation of surface boundaries.
1.3.4 Surfaces
_Surface represents the sole option for delimiting two-dimensional surfaces. For this, each feature can be assigned in its location property an element derived from _Surface. This can be either a simple polygon (gml:Polygon) or can be composed of so-called patches" (gml:Surface).
1.3.4.1 gml:Polygon
The simplest surface that can be described without being composed of other surfaces is the Polygon. It can be defined through an outer ring (exterior) and several inner rings (interior). The bounded surface contains all areas that lie within the outer ring and outside the inner rings. It is not mandatory to specify an inner ring, so even simple surfaces can be specified. The direction of rotation of the outer ring should be defined as positive in the mathematical sense (anti-clockwise) and that of the inner ring as negative (clockwise). If one now travels along the ring in the direction of rotation, the result is that the area to the left of the line string lies within the enclosed surface, and the area to the right lies outside of it.
It is not mandatory to specify an outer boundary. For example, this is not sensible if the outer boundary cannot be specified with any degree of certainty (in the case of a belt around the equator, for example). The contents of such a polygon can easily be determined via the direction of rotation of the bounding rings.
EMBED Visio.Drawing.6
Figure SEQ Abbildung \* ARABIC 4: Two polygons
The two polygons shown in REF _Ref67909416 \h \* MERGEFORMAT Figure 4 have contiguous surfaces. The polygon on the left has a hole within it bounded by an inner ring, whereas the polygon on the right exhibits only an outer ring. By re-using the bounding points with the help of XLinks it is possible to clarify the common boundary in the specification of the outer Ring elements:
12 48
14 49
15 50
14 52
14 51
10 50
12 54
10 53
10 50
11,50 11,51 12,52 13,51 11,50
Should the position of the common points now change, the GML file only needs be adapted in one place.
Depending on the system of coordinates, it is possible that the coordinates enclose one of the poles or cross the date line. An example of this is listed later in section 2.
1.3.4.2 gml:Surface
Upon rough consideration, each Surface in turn has the external form of a polygon. Similarly to the way Curves can be composed of segments, a Surface is built from several patches. However, this is used only to specify the inner surface structure. A patch does not represent any independent surface, but rather is merely a building block. If a feature specifies a location property, it must not contain any references to a patch but must always specify a complete surface. However, for fast manual generation of complete surfaces, in which the inner structure is not relevant, the specifying of individual patches demands too much effort.
Each Surface element contains a patches property, which contains all of the former's building blocks. A number of predefined elements are available as possible patches.
Figure SEQ Abbildung \* ARABIC 5: Surface patches
1.3.4.2.1 gml:Triangle
The simplest defined patch consists of a Triangle. Here, exterior is specified as the property element, consisting of a ring with exactly four points. It is to be noted at the same time that the last point corresponds to the first point.
1.3.4.2.2 gml:Rectangle
A Rectangle is constructed in exactly the same way as a Triangle. Here, too, the exterior property specifies the appearance. However, five points are specified in the ring it contains.
1.3.4.2.3 gml:PolygonPatch
The construction of a PolygonPatch is analogous to that of a Polygon. However, here, too, it is to be noted that it is not a complete surface but merely a patch you are dealing with.
1.3.5 Geometric Complexes and Geometric Composites
Geometric complexes are used to describe compound geometries. Therefore, the GeometricComplex feature was defined. It can contain any given number of element properties and any of those can contain a geometric primitive.
Geometric composites have exactly the same purpose, but they restrict all the features contained to of a particular form (e.g. to lines or surfaces). A condition for geometric composites is that the depicted composite feature is also able to be described as an individual geometric primitive. The putting together from individual features is intended to clarify the internal structure. Because, in XML, a type cannot be derived from two other types, all geometric composites were assigned with the corresponding geometric primitives. However, geometric composites can also be used anywhere where a geometric complex is required.
The polygons defined in section 1.3.4 can be combined in a CompositeSurface: