440 likes | 783 Views
Onderwerpen. Structuur van TOP10NL algemeenStructuur van TOP10NL in UML en GMLIndeling TOP10NL objectklassen en geometrieCardinalitiet van attributenGebruikte domeinen en coderingNamen in TOP10NLBeschrijving opslagstructuur Gebruikte programmatuurVlak_lijn topologieTekortkomingen TOP10NLDe
E N D
1. Conversie van TOP10NL GML naar relationele DBMS structuur
2. Onderwerpen Structuur van TOP10NL algemeen
Structuur van TOP10NL in UML en GML
Indeling TOP10NL objectklassen en geometrie
Cardinalitiet van attributen
Gebruikte domeinen en codering
Namen in TOP10NL
Beschrijving opslagstructuur
Gebruikte programmatuur
Vlak_lijn topologie
Tekortkomingen TOP10NL
Demo
3. TOP10NL structuur algemeen Gebaseerd op de Nederlandse standaard NEN3610, Basismodel voor Geo-informatie
Indeling in objectklassen (Wegdeel, Waterdeel, Terrein etc.)
Op eenzelfde locatie kunnen meerdere objecten aanwezig zijn op verschillende hoogteniveaus
Informatie van object in verschillende attributen
Meerdere geometriesoorten per object mogelijk
Naast vlakken ook Hartlijnen van wegen aanwezig
Naast vlakken ook Hartpunten van kruisingen van wegen
4. Attribuutwaarden TOP10NL Elke objectklasse heeft een aantal (eigen) attributen
Bepaalde attributen kunnen meerdere waarden hebben
Van namen, bijv. straatnaam, kan ook de taal zijn vastgelegd (nl of fr)
Van een aantal attributen is het domein vastgelegd
TDN-code ontbreekt
5. Voorbeeld van attributen in TOP10NL
6. TOP10NL als UML model
7. Globale opbouw van een TOP10NL GML <?xml version="1.0" encoding="windows-1252" standalone="no"?>
<gml:FeatureCollection
xmlns:gml="http://www.opengis.net/gml"
xmlns:tdn="http://www.tdn.nl/tdn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink=http://www.w3.org/1999/xlink
xmlns:nen3610="http://www.ravi.nl/nen3610"
xmlns:top10nl="http://www.kadaster.nl/top10nl"
xsi:schemaLocation="http://www.kadaster.nl/top10nl top10nl.xsd"
gml:id="uuid6afec866-c4bc-4b16-bd2d-7fc5810af83f">
<gml:boundedBy>
<gml:Envelope srsName="urn:opengis:def:crs:EPSG::28992">
<gml:lowerCorner>99962.228 500116.356</gml:lowerCorner>
<gml:upperCorner>278026.1 625000</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<gml:featureMembers>
<top10nl:Inrichtingselement gml:id="nl.top10nl.104401653" >
<nen3610:identificatie>NL.TOP10NL.104401653</nen3610:identificatie>
.
</top10nl:Inrichtingselement>
.
.
</gml:featureMembers>
</gml:FeatureCollection>
8. TOP10NL objectklassen
9. Gebouw object in GML <top10nl:Gebouw gml:id=nl.top10nl.100249029>
<nen3610:identificatie>NL.TOP10NL.100249029</nen3610:identificatie>
<nen3610:objectBeginTijd >2006-03-24T10:03:39</nen3610:objectBeginTijd>
<nen3610:versieBeginTijd>2006-03-24T10:03:39</nen3610:versieBeginTijd>
<nen3610:status>in gebruik</nen3610:status>
<top10nl:typeGebouw>overig</top10nl:typeGebouw>
<top10nl:hoogteklasse>laagbouw</top10nl:hoogteklasse>
<top10nl:hoogteniveau>0</top10nl:hoogteniveau>
<top10nl:brontype>TOP10vector</top10nl:brontype>
<top10nl:bronbeschrijving>Topografisch basisbestand van TDKadaster als vectorbestand met een gesloten vlakken structuur, opgebouwd uit gecodeerde en onderling verbonden lijnelementen. Objecttypen en attributen zijn middels elementcodering opgeslagen</top10nl:bronbeschrijving>
<top10nl:bronactualiteit> 2005-04-28</top10nl:bronactualiteit>
<top10nl:bronnauwkeurigheid>2</top10nl:bronnauwkeurigheid>
<top10nl:dimensie>2D</top10nl:dimensie>
<top10nl:geometrieVlak>
<gml:Polygon srsName=urn:opengis:def:crs:EPSG::28992>
<gml:exterior>
<gml:LinearRing>
<gml:posList srsDimension=2>
173651.151 449774.307 173644.684 449772.503 173647.312 449763.085
173653.779 449764.889 173651.151 449774.307
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</top10nl:geometrieVlak>
</top10nl:Gebouw>
10. Wegobject met 2 instanties van geometrie <nen3610:typeInfrastructuur>kruising</nen3610:typeInfrastructuur>
<top10nl:geometrieVlak>
<gml:Polygon srsName=urn:opengis:def:crs:EPSG::28992>
<gml:exterior>
<gml:LinearRing>
<gml:posList srsDimension=2>
176484.570 449640.827 176481.969 449642.727
176479.942 449644.208 176477.961 449641.245
176475.990 449638.298 176478.823 449637.889
176482.328 449637.382 176484.570 449640.827
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</top10nl:geometrieVlak>
<top10nl:hartPunt>
<gml:Point srsName=urn:opengis:def:crs:EPSG::28992>
<gml:posList srsDimension=2>
176481.339 449641.757
</gml:posList>
</gml:Point>
</top10nl:hartPunt>
11. Wegobject met 2 instanties van typeWeg <top10nl:Wegdeel gml:id="nl.top10nl.115815038">
<nen3610:identificatie>NL.TOP10NL.115815038</nen3610:identificatie>
<nen3610:objectBeginTijd>2007-06-05T00:00:00</nen3610:objectBeginTijd>
<nen3610:versieBeginTijd>2007-06-05T00:00:00</nen3610:versieBeginTijd>
<nen3610:status>in gebruik</nen3610:status>
<top10nl:typeWeg>lokale weg</top10nl:typeWeg>
<top10nl:typeWeg>regionale weg</top10nl:typeWeg>
<top10nl:typeInfrastructuurWegdeel>kruising</top10nl:typeInfrastructuurWegdeel>
<top10nl:hoofdverkeersgebruik>gemengd verkeer</top10nl:hoofdverkeersgebruik>
<top10nl:verhardingsbreedteklasse>4 - 7 meter</top10nl:verhardingsbreedteklasse>
<top10nl:gescheidenRijbaan>nee</top10nl:gescheidenRijbaan>
<top10nl:verhardingstype>verhard</top10nl:verhardingstype>
<top10nl:straatnaam xml:lang="nl">Binnenweg</top10nl:straatnaam>
<top10nl:straatnaam xml:lang=nl">Zomerweg</top10nl:straatnaam>
<top10nl:hoogteniveau>0</top10nl:hoogteniveau>
.
.
</top10nl:Wegdeel
12. Wegobject met 2 instanties van straatnaam <top10nl:Wegdeel gml:id="nl.top10nl.115815038">
<nen3610:identificatie>NL.TOP10NL.115815038</nen3610:identificatie>
<nen3610:objectBeginTijd>2007-06-05T00:00:00</nen3610:objectBeginTijd>
<nen3610:versieBeginTijd>2007-06-05T00:00:00</nen3610:versieBeginTijd>
<nen3610:status>in gebruik</nen3610:status>
<top10nl:typeWeg>lokale weg</top10nl:typeWeg>
<top10nl:typeWeg>regionale weg</top10nl:typeWeg>
<top10nl:typeInfrastructuurWegdeel>kruising</top10nl:typeInfrastructuurWegdeel>
<top10nl:hoofdverkeersgebruik>gemengd verkeer</top10nl:hoofdverkeersgebruik>
<top10nl:verhardingsbreedteklasse>4 - 7 meter</top10nl:verhardingsbreedteklasse>
<top10nl:gescheidenRijbaan>nee</top10nl:gescheidenRijbaan>
<top10nl:verhardingstype>verhard</top10nl:verhardingstype>
<top10nl:straatnaam xml:lang="nl">Binnenweg</top10nl:straatnaam>
<top10nl:straatnaam xml:lang=nl">Zomerweg</top10nl:straatnaam>
<top10nl:hoogteniveau>0</top10nl:hoogteniveau>
.
.
</top10nl:Wegdeel
13. Definitie van Gebouw in top10nl.xsd <group name="Top10Object">
<sequence>
<element name="brontype" type="top10nl:BrontypeType"/>
<element name="bronbeschrijving" type="string"/>
<element name="bronactualiteit" type="date"/>
<element name="bronnauwkeurigheid" type="double"/>
<element name="dimensie" type="top10nl:DimensieType"/>
</sequence>
</group>
..
<complexType name= "GebouwType">
<complexContent>
<extension base="nen3610:GebouwType">
<sequence>
<element name= "hoogteklasse" type="top10nl:HoogteklasseGebouwType" minOccurs="0"
maxOccurs="unbounded"/>
<element name="hoogte" type="double" minOccurs="0"/>
<element name="hoogteniveau" type="integer" minOccurs="0 "/>
<element name="geometrieVlak" type="gml:SurfacePropertyType"/>
<group ref="top10nl:Top10Object"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="Gebouw" substitutionGroup="nen3610:Gebouw" type="top10nl:GebouwType"/>
14. GML elementen voor objectklasse Gebouw
15. GML elementen voor objectklasse Wegdeel
16. TOP10NL objectklassen en geometriesoort
17. Converteren van GML naar geodatabase Vragen bij conversie:
Hoe ga je om met meervoudige geometrien?
Hoe ga je om met meerdere instanties van attributen?
Hoe ga je om met namen in zowel Nederlands als Fries?
Wil je bepaalde attributen coderen en welke dan?
18. Indeling TOP10NL geometrie in GIS bestanden (1)
19. Indeling TOP10NL geometrie in GIS bestanden (2)
20. Opslag van geometrie 1 geometriesoort per tabel
Overige attribute opslaan bij de geometrie (alleen bij cardinalitiet van 1)
Geometriepunt van wegdeel niet opslaan (al als hartpunt aanwezig)
21. Opslag van attributen met mogelijk meerdere waarden In aparte tabellen plaatsen:
Alle attributen met namen en met taalcode (naam, straatnaam) . Taalcode ook opnemen als attribuut.
Gecodeerde attributen (Typeweg, Typegebouw, Typelandgebruik en Hoofdverkeersgebruik)
Wegnummers (aWegnummer, eWegnummer, nWegnummer en sWegnummer)
Achter elkaar plaatsen (CSV)
Alle attributen met namen die een taalcode hebben (straatnaam etc.)
Alle attributen met namen zonder taalcode (brugnaam, tunnelnaam etc.)
Omschrijvingen van gecodeerde attributen (Typeweg etc.)
Wegnummers (aWegnummer, eWegnummer, nWegnummer en sWegnummer)
22. GML elementen voor objectklasse Wegdeel
23. Domeinen (codespaces) van TOP10NL
24. Domeinen met elkaar uitsluitende waarden FYSIEKVOORKOMEN_WATER
in afsluitbare duiker
in afsluitbare grondduiker
in duiker
in grondduiker
in sluis
op brug
Overkluisd
FYSIEKVOORKOMEN_TERREIN
in tunnel
op brug
overkluisd
VOORKOMEN_TERREIN
dras, moerassig
met riet
dras, moerassig|met riet ? toegevoegd
25. Opslag van attributen van type codespace Attributen van het type codespace (domein) krijgen een numerieke code. De codes van een domein lopen van 1 t/m N (N is aantal waardes in het domein)
Van gecodeerde attributen worden zowel de code als de werkelijke waarde (omschrijving) opgenemen
Bij max. n waarde de code in de hoofdtabel plaatsen
Indien meerdere waarden mogelijk zijn, de codes in een aparte tabel plaatsen, behalve als de domeinwaarden elkaar uitsluiten
Bij meerdere waarden de omschrijvingen achter elkaar plaatsen in hoofdtabel (gescheiden door een | )
26. Domeinen in XSD, meerdere waarden per object
27. Domeinen (codespaces), niet gecodeerd in Oracle
28. Namen in GML Alle namen kunnen een taalcode meekrijgen
De volgende naam attributen zijn nergens ingevuld:
naam van Spoorbaandeel
naam van HoogteOfDieptePunt, KadeofWal en IsoHoogte
naam van Wegdeel
De volgende namen hebben wel een taalcode:
straatnaam
naam (gebouw, functioneel gebied, water etc.)
De volgende namen hebben geen taalcode:
brugnaam
tunnelnaam
afritnaam
sluisnaam
baanvaknaam
29. Namen in GML (vervolg) Een object kan n of meer Nederlandse en n of meer Friese namen hebben.
Alleen eerste Nederlandse en/of Friese naam van een object heeft een taalcode.
Dit is een fout in de GML
Als er een Friese naam is ingevuld, is er meestal geen Nederlandse naam ingevuld (Voor provincie Friesland gecontroleerd)
30. Opslag van naam attributen Indien taalcode WEL is ingevuld:
Naam en taalcode in aparte tabellen plaatsen (bijv. wegdeel_straatnaam)
Tevens Nederlandse of de Friese naam of namen in de hoofdtabel plaatsen. De Nederlandse naam heeft de voorkeur. Bij meerdere namen, deze achter elkaar plaatsen.
Indien taalcode NIET is ingevuld:
Naam attributen zonder taalcode in de hoofdtabel plaatsen, eventueel achter elkaar geplaatst.
31. Niet ingelezen attributen Een aantal elementen staan wel in nen3610.xsd, maar komen niet voor in de de GMLs, de shapefiles en de database bij TD-kadaster.
Deze elementen worden niet meegenomen als attribuut in de Oracle tabellen.
Voorbeelden zijn:
Sommige namen (bijv. van spoorbaan)
Toegankelijkheid (van gebouw of weg)
Locatie van object (naam, adres, woonplaats etc.)
Bestemmingsfunctie van gebouw
Materiaal (van gebouw of terrein of inrichtingselement)
Verharding van terrein
SpanningOfDruk van inrichtingselement
RechtenOpObject
32. Uitbreiding van TOP10NL Code voor visualisatie
SYMBOL
SYMBOL_H0 (alleen ingevuld als HOOGTENIVEAU = 0)
TDN-code uit TOP10Vector
TDN_CODE
Vlak-lijn topologie
Als aparte objectklasses (nog niet helemaal gereed)
33. Opslagstructuur met zo efficint mogelijke opslag
34. Uiteindelijke opslagslagstructuur Wegdeel
35. Conversieprogammatuur voor GMLs FME van Safe Software
Uitvoer naar allerlei formaten (SDE, Oracle Spatial, DGN etc.)
Diverse bewerkingen mogelijk
TOP10NL GMLreader plaatst meerdere instanties van attributen achter elkaar
GML reader plaatst meerdere instanties van attributen in een list
Interoperability Extensie van ArcGIS (is FME)
Directe conversie van GML naar File geodatabase is gratis, maar niet echt bruikbaar
GO Loader van Snowflake Software
Uitvoer alleen naar Oracle Spatial
Zeer gebruiksvriendelijk
In te stellen bij voor welke attributen de waarden achter elkaar geplaatst worden, of in een aparte tabel.
Snel
Nabewerking met SQL*Plus nodig
36. Eenvoudige conversie met FME (in ArcGIS)
37. FME conversie
38. GO Loader conversie
39. Topologie TOP10NL bevat geen expliciete topologie
Tijdens conversie van TOP10vector is wel gebruik gemaakt van topologie om consistentie te bevorderen en kwaliteit te verbeteren
Gebruiker kan indien nodig zelf topologie aanmaken in applicatie
Aanbrengen topologie veroorzaakt ook extra opdeling
40. Vlak-lijn topologie
41. Vlak-lijn topologie vastleggen
42. Vlak-lijn topologie vastleggen
43. Fouten in TOP10NL Er ontbreken vlakken
Topologische relaties tussen vlakken en lijnen niet in orde
Gebouwen overlappen elkaar soms
Er zijn bebouwd gebied terreinen zonder bebouwing
Niet alle straten hebben een taal code
TDN-code niet altijd herleidbaar omdat attributen niet altijd zijn ingevuld (bijv. breedteklasse van wegen en typegebouw)
44. Demo