37
TOP10NL GML prototype 2nd GML Relay, 13-12-2002 Marian de Vries

TOP10NL GML prototype

Embed Size (px)

DESCRIPTION

TOP10NL GML prototype. 2nd GML Relay, 13-12-2002 Marian de Vries. 1st GML Relay 12 June 2001: 2 participants. IONIC Software. Laser-Scan. Maybe too early !. Why this 2nd Relay. 1,5 year later more companies have invested in GML .. but GML is still not mainstream - PowerPoint PPT Presentation

Citation preview

Page 1: TOP10NL GML prototype

TOP10NL GML prototype

2nd GML Relay, 13-12-2002

Marian de Vries

Page 2: TOP10NL GML prototype

1st GML Relay 12 June 2001:2 participants

IONIC Software

Laser-Scan

Maybe too early !

Page 3: TOP10NL GML prototype

Why this 2nd Relay

• 1,5 year later

• more companies have invested in GML

• .. but GML is still not mainstream

• ‘data barrier’ problem not yet solved

• (GIS) users want ‘transparent’ data exchange

Page 4: TOP10NL GML prototype
Page 5: TOP10NL GML prototype

Overview

• TOP10Vector project

• GML: why

• GML: how

• TOP10NL GML prototype

Page 6: TOP10NL GML prototype

TOP10Vector project

• Started in 2000

• Project cooperation:– Topografische Dienst (= Dutch NMA)– Center for Geo Information Wageningen– ITC Enschede– Geodesy dept. TU Delft– User groups

Page 7: TOP10NL GML prototype

TOP10Vector project

• Dutch topographic data originally:– ‘old’ goal: map making– lines, points and label-points (annotiation +

symbols), ‘implicit’ polygons– no unique id’s– no feature info, only classification code

(TDN-code)

Page 8: TOP10NL GML prototype

TOP10Vector project

• User groups asked for– more object-oriented data model– also non-spatial attributes (names, road

type, …)– metadata– history / temporal queries– easy aggregation (thematic, geometry)– unique id --> linking with other data

Page 9: TOP10NL GML prototype
Page 10: TOP10NL GML prototype

TOP10Vector project

• Additional goal:– conformance to standards: OpenGIS, ISO,

CEN

• Why? – mif, e00, dxf, SQLLoad files = vendor

specific– NEN 1878 = Dutch, not international

Page 11: TOP10NL GML prototype

Overview

• TOP10Vector project

• GML: why

• GML: how

• TOP10NL GML prototype

Page 12: TOP10NL GML prototype

GML= Geography Markup Language

• Has XML as technical format– ‘content’ between begin and end tags– supported by non-GIS tools– XML = eXtensible– has XML Schema as ‘data definition’

language

Page 13: TOP10NL GML prototype

GML = XML

<Polygon srsName=”http://www.opengis.net/gml/srs/epsg.xml#2393”> <outerBoundaryIs> <LinearRing> <coordinates>

3586549.54,6790984.34 3586598.23,6790924.09 3586649.23,6790952.23 3586549.54,6790984.34

</coordinates> </LinearRing> </outerBoundaryIs> <innerBoundaryIs>

… </innerBoundaryIs></Polygon>

Page 14: TOP10NL GML prototype

Dutch NEN 1878: ‘fixed position’01278. N200001200001 100000101top10vector 01020110100000 0 0 1 0 10103M26113 G030000 D20000101 0004I1 X161310549Y475005000 0103M25013 G030000 D20000101 0004I1 X183335225Y475005000 0103M25263 G030000 D20000101 0004I1 X160005000Y494859812 0103M24044 G110000 D19930101 0004I1 X178992927Y484947328I2 X178816060Y4852776900103M24044 G110000 D19930101 0004I1 X178882670Y484888126I2 X178705879Y4852193180103M24044 G110000 D19930101 0004I1 X177288961Y484137212I2 X177135174Y4844792350103M24044 G110000 D19930101 0004I1 X177175005Y484085750I2 X177021186Y4844277740103M24044 G110000 D19930101 0004I1 X175141766Y483726716I2 X175123406Y4841010870103M24044 G110000 D19930101 0004I1 X175274285Y483736331I2 X175255829Y4841107050103M24044 G110000 D19930101 0004I1 X173463187Y483656494I2 X173449143Y48403110801

Page 15: TOP10NL GML prototype

GML fits TOP10 renewal wishes

• Is open standard (of OpenGIS Consortium, in cooperation with ISO)

• Is based on ‘object oriented’ data model:– features with spatial + non-spatial

properties, unique id’s– data oriented, not map oriented

Page 16: TOP10NL GML prototype

GML 2.1 geometry model

PointLineStringLinearRingPolygonMultiPointMultiLineStringMultiPolygon

Box

Page 17: TOP10NL GML prototype

Basic GML element ‘tree’

FeatureCollection featureMember Feature nonSpatialProperty nonSpatialProperty … geometryProperty Geometry (Polygon, LineString, Point etc.) geometryProperty Geometry (Polygon, LineString, Point etc.) … nonSpatialProperty …

Page 18: TOP10NL GML prototype

TOP10NL GML data example<tdn:WegDeel fid="TOP10.402814"> <tdn:top10_id>2400001</tdn:top10_id> <tdn:bronRef xlink:type="simple" xlink:href="metadata.xml#TOP10.9000017"/> <tdn:object_begindatum>2001-12-17T13:24:10+02:00</tdn:object_begindatum> ... <tdn:toegankelijkheid>Openbaar</tdn:toegankelijkheid> <tdn:status>In gebruik</tdn:status> <gml:polygonProperty> <gml:Polygon srsName="EPSG:28992"> ... </gml:Polygon> </gml:polygonProperty> <gml:geometryProperty> <gml:LineString srsName="EPSG:28992"> <gml:coordinates>

106045.396,449000 105965.228,448967.705 105619.713,448827.507 </gml:coordinates> </gml:LineString> </gml:geometryProperty> <tdn:wegtype>Autosnelweg</tdn:wegtype> <tdn:hoofdverkeersgebruik>Snelverkeer</tdn:hoofdverkeersgebruik> ... <tdn:wegnummer>A12</tdn:wegnummer> <tdn:wegnummer>E25</tdn:wegnummer> <tdn:wegnummer>E30</tdn:wegnummer></tdn:WegDeel>

Page 19: TOP10NL GML prototype

GML implementations

• First implementor: – Ordnance Survey Master Map

• Runners-up:– Germany (NorthRhine Westphalia)– American Census Bureau (TIGER/Line)– Dutch Topographic Service (TDN)– Scandinavia, France, ...

• Both ‘online’ (OGC WFS) and ‘offline’

Page 20: TOP10NL GML prototype

GML != ready-to-use format

• you have to design your own data model

• organisation or domain specific, e.g.– for topographic data– for cadastral data– for environmental data

• each in their own ‘namespace’ ...

Page 21: TOP10NL GML prototype

GML spec. = class repository

gml:AbstractFeatureCollectionTypegml:FeatureAssociationType

gml:AbstractFeatureType

gml:GeometryPropertyTypegml:AbstractGeometry

gml:polygonPropertygml:lineStringProperty ...

gml:Polygongml:Point ...

gml:coordinatesgml:Box

(abstract) types

element names

Page 22: TOP10NL GML prototype

From conceptual data model …

Page 23: TOP10NL GML prototype

… to technical GML model

Page 24: TOP10NL GML prototype

… to GML .xsd schema<!-- ==============================================================

Type definition of Top10ObjectType (= inherited and extended by

all TOP10 feature types)

=================================================================== -->

<complexType name="Top10ObjectType" abstract="true">

<complexContent>

<extension base="gml:AbstractFeatureType">

<sequence>

<element name="top10_id" type="integer"/>

<element ref="tdn:bronRef"/>

<group ref="tdn:Temporeel"/>

<element name="dimensie" type="tdn:dimensie"/>

<element name="tdncode" type="integer"/>

</sequence>

</extension>

</complexContent>

</complexType>

Page 25: TOP10NL GML prototype

Reuse of classes in GML spec.<!-- ==============================================================

Type definition of Top10ObjectType (= inherited and extended by

all TOP10 feature types)

=================================================================== -->

<complexType name="Top10ObjectType" abstract="true">

<complexContent>

<extension base="gml:AbstractFeatureType">

<sequence>

<element name="top10_id" type="integer"/>

<element ref="tdn:bronRef"/>

<group ref="tdn:Temporeel"/>

<element name="dimensie" type="tdn:dimensie"/>

<element name="tdncode" type="integer"/>

</sequence>

</extension>

</complexContent>

</complexType>

gml:AbstractFeatureCollectionTypegml:FeatureAssociationType

gml:AbstractFeatureType

gml:GeometryPropertyTypegml:AbstractGeometry

gml:polygonPropertygml:lineStringProperty ...

gml:Polygongml:Point ...

gml:coordinatesgml:Box

Page 26: TOP10NL GML prototype

Overview

• TOP10Vector project

• GML: why

• GML: how

• TOP10NL GML prototype

Page 27: TOP10NL GML prototype

TOP10NL GML prototype

• 10 Feature types– WegDeel, WaterDeel, SpoorbaanDeel,

Terrein = complete cover of surface– Gebouw– InrichtingsElement– 4 ‘Gebieden’ (= Admin. Areas) feature

types

• 7 Feature collections

Page 28: TOP10NL GML prototype

TOP10NL GML prototype

• Some characteristics:– feature types with more than 1 geometry– mixed geometries– use of Xlink/XPointer– cardinality (multiplicity) of properties– ...

Page 29: TOP10NL GML prototype

Infrastructure types have 2 geometries

<complexType name="InfrastructuurType" abstract="true"> <complexContent> <extension base="tdn:Top10ObjectType"> <sequence> <element name="type" type= .../> <element name="toegankelijkheid" type= … /> <element name="status" type="tdn:status"/> <element ref="gml:polygonProperty"/> <element ref="gml:geometryProperty"/> </sequence> </extension> </complexContent></complexType>

Road, Railway, Water inherit from this type

Page 30: TOP10NL GML prototype

Intersection: polygon + point, same id

Page 31: TOP10NL GML prototype

Metadata per object -> XLink/XPointer

<tdn:WaterDeel fid="TOP10.101221"> <tdn:top10_id>6100001</tdn:top10_id> <tdn:bronRef xlink:href="metadata.xml#TOP10.9000017"/>

<tdn:Bron id="TOP10.9000017"> <tdn:bron_id>9000017</tdn:bron_id> <tdn:brontype>Geïnterpreteerde luchtfoto</tdn:brontype> <tdn:bronbeschrijving>Orthogonale luchtfoto, vlieghoogte ca 3800 meter; schaal 1:18000</tdn:bronbeschrijving> <tdn:bronactualiteit>1998</tdn:bronactualiteit> <tdn:bronnauwkeurigheid>5 meter</tdn:bronnauwkeurigheid> </tdn:Bron>

Page 32: TOP10NL GML prototype

More than 1 value -> more than 1 element

<tdn:WegDeel fid="TOP10.150044"> <tdn:top10_id>2105003</tdn:top10_id> <tdn:bronRef xlink:type="simple” xlink:href .../> <tdn:ontstaan_uit>6100004</tdn:ontstaan_uit> <tdn:ontstaan_uit>2100012</tdn:ontstaan_uit> <tdn:ontstaan_uit>5100212</tdn:ontstaan_uit> …

history in data: ‘originated_from’ property

Page 33: TOP10NL GML prototype

Example 2: WegNummer (RoadNo.)

Page 34: TOP10NL GML prototype

Null value --> no element

<tdn:WegDeel fid="TOP10.101784"> <tdn:top10_id>2110084</tdn:top10_id> <tdn:bronRef xlink:type="simple" xlink:href= .../> <tdn:ontstaan_uit></tdn:ontstaan_uit> <tdn:object_begindatum>2001-12-11T11:38:15+02:00</tdn:object_begindatum> ...

Leave ‘empty’ element out

Page 35: TOP10NL GML prototype

Processing GML

• Three strategies– write data specific software (e.g. Ordnance

Survey GML importers)– offer ‘core’ compliance / only support

standard GML geometry names and data types

– try to write generic software -> parse .xsd schema first

Page 36: TOP10NL GML prototype

And now … the 2nd Relay

• Will they succeed ?

• Which strategy did they choose ?

• What dangers will they encounter ...

Page 37: TOP10NL GML prototype

</complexType>

<element name="Gebouw" type="tdn:GebouwType" substitutionGroup="gml:_Feature"/> <complexType name="GebouwType"> <complexContent> <extension base="tdn:Top10ObjectType"> <sequence> <element name="type" type="tdn:typeGebouw"/> <element name="functie" type="tdn:functieGebouw"/> <element name="hoogteklasse" type="tdn:hoogteklasse"/> <element name="hoogte" type="tdn:numeriekOnb"/> <element name="status" type="tdn:status"/> <element ref="gml:geometryProperty"/> <element name="hoogteniveau" type="integer" minOccurs="0"/> <element name="naam" type="string" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>

<!-- ============================================================== Declarations for InrichtingsElementen (= one of the themes)