Top10nl gml prototype
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

TOP10NL GML prototype PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

TOP10NL GML prototype

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Top10nl gml prototype

TOP10NL GML prototype

2nd GML Relay, 13-12-2002

Marian de Vries


1st gml relay 12 june 2001 2 participants

1st GML Relay 12 June 2001:2 participants

IONIC Software

Laser-Scan

Maybe too early !


Why this 2nd relay

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


Overview

Overview

  • TOP10Vector project

  • GML: why

  • GML: how

  • TOP10NL GML prototype


Top10vector project

TOP10Vector project

  • Started in 2000

  • Project cooperation:

    • Topografische Dienst (= Dutch NMA)

    • Center for Geo Information Wageningen

    • ITC Enschede

    • Geodesy dept. TU Delft

    • User groups


Top10vector project1

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)


Top10vector project2

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


Top10vector project3

TOP10Vector project

  • Additional goal:

    • conformance to standards: OpenGIS, ISO, CEN

  • Why?

    • mif, e00, dxf, SQLLoad files = vendor specific

    • NEN 1878 = Dutch, not international


Overview1

Overview

  • TOP10Vector project

  • GML: why

  • GML: how

  • TOP10NL GML prototype


Gml geography markup language

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


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>


Dutch nen 1878 fixed position

Dutch NEN 1878: ‘fixed position’


Gml fits top10 renewal wishes

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


Gml 2 1 geometry model

GML 2.1 geometry model

Point

LineString

LinearRing

Polygon

MultiPoint

MultiLineString

MultiPolygon

Box


Basic gml element tree

Basic GML element ‘tree’

FeatureCollection

featureMember

Feature

nonSpatialProperty

nonSpatialProperty

geometryProperty

Geometry (Polygon, LineString, Point etc.)

geometryProperty

Geometry (Polygon, LineString, Point etc.)

nonSpatialProperty


Top10nl gml data example

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>


Gml implementations

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’


Gml ready to use format

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’ ...


Gml spec class repository

GML spec. = class repository

(abstract) types

gml:AbstractFeatureCollectionType

gml:FeatureAssociationType

gml:AbstractFeatureType

gml:GeometryPropertyType

gml:AbstractGeometry

element names

gml:polygonProperty

gml:lineStringProperty ...

gml:Polygon

gml:Point ...

gml:coordinates

gml:Box


From conceptual data model

From conceptual data model …


To technical gml model

… to technical GML model


To gml xsd schema

… 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>


Reuse of classes in gml spec

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:AbstractFeatureCollectionType

gml:FeatureAssociationType

gml:AbstractFeatureType

gml:GeometryPropertyType

gml:AbstractGeometry

gml:polygonProperty

gml:lineStringProperty ...

gml:Polygon

gml:Point ...

gml:coordinates

gml:Box


Overview2

Overview

  • TOP10Vector project

  • GML: why

  • GML: how

  • TOP10NL GML prototype


Top10nl gml prototype1

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


Top10nl gml prototype2

TOP10NL GML prototype

  • Some characteristics:

    • feature types with more than 1 geometry

    • mixed geometries

    • use of Xlink/XPointer

    • cardinality (multiplicity) of properties

    • ...


Infrastructure types have 2 geometries

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


Intersection polygon point same id

Intersection: polygon + point, same id


Metadata per object xlink xpointer

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>


More than 1 value more than 1 element

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


Example 2 wegnummer roadno

Example 2: WegNummer (RoadNo.)


Null value no element

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


Processing gml

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


And now the 2nd relay

And now … the 2nd Relay

  • Will they succeed ?

  • Which strategy did they choose ?

  • What dangers will they encounter ...


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)


  • Login