Die Oracle-Schnittstelle der Berliner 3D-Geodatenbank

Slides:



Advertisements
Ähnliche Präsentationen
Heterogene Informationssysteme
Advertisements

Das Studium der Informatik
DataCite Jan Brase, TIB & DataCite 3. November 2011 TIB-Workshop zur DOI-Registrierung Hannover.
Institut für Bibliotheks- und Informationswissenschaft Literaturverwaltung mit Plone Matti Stöhr Vortrag auf dem Plone-Workshop im Rahmen der Multimedia-Tage.
Zeitliche Verwaltung XML-basierter Metadaten in digitalen Bibliotheken M. Kalb, G. SpechtUniversität Ulm, Abteilung DBIS.
GESIS Bernd Hermes, Heiko Hellweg, Dr. Maximilian Stempfhuber Informationszentrum Sozialwissenschaften, Bonn Unterstützung kooperativer Verfahren beim.
Erfahrungen mit der kooperativen Erschließung von Internetquellen in DBClear Dr. Ulrike Mühlschlegel Ibero-Amerikanisches Institut PK Berlin.
E-Learning Modul Lehr-/ Lernarrangements für Gesundheitsfachberufe Institut für Berufliche Fachrichtungen Arbeitsbereich Medizin- und Pflegepädagogik.
Geodaten im Internet ( II )
Archivierung und Erschließung von Audio/Video-Material mit miless und MyCoRe F. Lützenkirchen Universitätsbibliothek.
Räumliche Orientierung Lehrveranstaltungsraum:
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
Verbreitung von europäischen Bodendaten im
Gliederung der Vorlesung Software Engineering WS 2001/2002
GDI NRW Testbed 1 Überblick
Einführungssitzung Architekturen interoperabler Systeme für raumzeitliche Prozesse Einführungssitzung Lars Bernard, Udo Einspanier,
WIESEL – Integration von Wissensmanagement und E-Learning auf der Basis von Semantic Web Technologien Matthias Rust, XML-Tage 2004, Berlin WIESEL Integration.
PinK Plattform für intelligente Kollaborationsportale Dr. Joachim Quantz, e.V. Berlin, 13. September 2005.
Technische Grundlagen der Interoperabilität
Nationale und internationale Anwendungsmodelle
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
© 2005 Prof. Dr. Rainer Manthey Seminar IDB SS 05 1 Seminar Intelligente Datenbanken Seminar Prof. Dr. Rainer Manthey Andreas Behrend Institut für Informatik.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Ergebnisse der Makrozoobenthos-Beprobung März 2007 Vergleich detaillierter Nachweisverfahren nach BWK-Merkblatt 3 für das Morsbacheinzugsgebiet Wuppertal,
ENOVIA SmarTeam CATIA Integration
Einführung und Überblick
IS Gesamtstraßennetz SMI GDI-Forum 2004.
Münchner Fortbildungsseminar Geoinformationssystem
Andre Schücker und Martin Gemeinholzer
EDC Entwicklerforum Geoprocessing im Web 18. Juli 2013 Benjamin Proß Ein erweiterbarer WPS Client für ArcMap.
Rainer Spittel Technologie-Zentrum Informatik, Universität Bremen
Second City: 3D Stadtmodelle 11. Workshop am 13
Institut Software- und Systemtechnik Fraunhofer ISST Automatisierter Bezug von Geoinformationen in einer Geodateninfrastruktur (GDI) GIL Jahrestagung.
Das 3D-Gebäudemodell der Bayerischen Vermessungsverwaltung
StadtCAD Anwendertagung Ulm 2009
1 Fernerkundung 1.1 IKONOS und SRTM – Neue hochauflösende Satellitenbilddaten 1.2 Neue digitale Luftbildkameras 1.3 Flugzeuggestützte Laseraltimeter und.
Sesame Florian Mayrhuber
Das umfassende Geoinformationssystem
Räumliche Orientierung Lehrveranstaltungsraum:
Geodaten-Infrastruktur Brandenburg
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
CityGML für die 3D-Navigation
...connecting worlds INTERGEO Dienste-basierte Architekturen für die Web-basierte 3D-Geovisualisierung Benno Schmidt, Christoph Uhlenküken.
Beispiele von Objektkatalogen
Anbindung von Converis
ALS Daten Klassifizierung
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
ASTROnomie Interaktiv & Dynamisch ASTROID C. Reimers Institut für Astronomie, Universität Wien Projektleitung: E. Dorfi, Institut für Astronomie, Universität.
XML-Lösungen für Geoinformationen
Integration oberflächenbestimmender Objekte ins DGM Seminar GIS IV SS
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Fakultät Informatik Institut für Angewandte Informatik, Professur Modellierung und Simulation Arbeitsgruppe Qualitätskriterien. Berlin,
Eine kurze Einführung.  Software zur Erstellung eines Dokumenten- servers  Dient zur Aufbewahrung von allen Typen von digitalen Inhalten (Texte, Bilder,
ATLAS2000 Modellintegration in digitalen Atlanten Konzepte und Lösungsvorschläge am Beispiel ATLAS2000.
3D-Gebäudemodelle Mareike Dietrich.
Proseminar Geoinformation II
Datenaustausch und Interoperabilität Dienste für eine offene Geodateninfrastruktur von Mathias Ott.
Modellierung der Wirklichkeit
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Proseminar Geoinformation II Werkzeuge (ArcCatalog, ArcMap, ArcToolbox) und Formate.
Zusammenfassung. Ebenen der Modellierung Geoobjekte und ihre Modellierung II Ebenen der Modellierung Konzeptionelle Modellierung –Entity-Relationship.
Folie 1 Reiner Buzin, BfS + Marcus Briesen, disy, DOAG „Spatial Day“, Montag, 30. Mai 2016 GISterm Integration von disy GISterm in IMIS.
JaGo Ja va Framework for G e o graphical Information Systems Prof. Dr. Klaus Greve Dr. Andreas Poth TZ GIS i.G.
AUTONOME PROVINZ BOZEN - SÜDTIROLPROVINCIA AUTONOMA DI BOLZANO – ALTO ADIGE Ripartizione 9 – InformaticaAbteilung 9 - Informationstechnik Amt 9.6 – Amt.
Konsistente Modellierung von 3D-Geodaten für Stadtmodelle
3D-Modellierung mit den offenen Standards des OGC und der ISO
Aktuelle Ergebnisse der AG Basismodellierung Integration thematischer Daten und mehrerer Level-of-Detail Gerhard Gröger.
Konsistente Modellierung von 3D-Geodaten für Stadtmodelle
Dreidimensionale topologische Modelle
Geography Markup Language GML
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
 Präsentation transkript:

Die Oracle-Schnittstelle der Berliner 3D-Geodatenbank Claus Nagel, Alexandra Stadler, Gerhard König, Thomas H. Kolbe Technische Universität Berlin Institut für Geodäsie und Geoinformationstechnik Fachgebiet Methodik der Geoinformationstechnik 25. November 2008

Geodaten-Sammelstelle Motivation Geodaten-Sammelstelle Zusammentragen, vergleichen, anpassen, fortführen und austauschen Daten beliebiger Herkunft Voraussetzung: Grundlegendes Datenmodell und Austauschformat für 3D-Stadtmodelle Einheitliche Strukturierung garantiert Verwendung von CityGML 25. November 2008

Oracle 10g R2 Systementscheidung Designentscheidung Unterstützung von räumlichen Datentypen (2D-4D) Datenbankverbindung zu kommerziellen GIS Methoden zur effizienten Verwaltung von Rasterdaten Workspace Manager (Versions- und Historienmanagement) Designentscheidung Beschränkung auf Standard Datentypen von Oracle Spatial Abbildung des objektorientierten Datenmodells auf relationales Schema 24. Juli 2008

CityGML: Überblick Technisches Geschichtliches Modelliert alle wesentlichen Bestandteile einer virtuellen Stadt in ihrer Semantik, Geometrie, Topologie und Erscheinung GML-Anwendungsschema, XML-basiert Datenmodell und Austauschformat für virtuelle 3D Stadtmodelle Geschichtliches Entwickelt in der SIG3D NRW unter Federführung von Prof. Thomas H. Kolbe (IGG TU Berlin) Dr. Gerhard Gröger (IGG Uni Bonn) Seit August 2008 internationaler Standard des Open Geospatial Consortium (OGC) 25. November 2008

CityGML: Auf dem Weg zum OGC-Standard CityGML 0.3.0 OGC Discussion Paper 2006-03-06 CityGML 0.4.0 OGC Best Practices Paper 2007-05-30 CityGML 1.0.0 (Proposal) OGC Request for Comments 2008-02-04 2008-02-19 2008-03-20 <<<<<<< Public Comment Phase >>>>>>> CityGML 1.0.0 OGC Implementation Specification (after final OGC TC vote) 2008-08-20  Internationaler Standard 24. Juli 2008

CityGML: thematische Gliederung in Objektklassen <<Feature>> gml::_Feature ExternalReference - informationSystem: anyURI - externalReference: ExternalObjectReferenceType <<FeatureCollection>> CityModel <<Feature>> _CityObject * * … <<Feature>> _Abstract Building <<Feature>> _Transportation Object <<Feature>> ReliefFeature <<Feature>> _WaterBody <<Feature>> _Vegetation LOD 0-4 GeometryProperty <<Geometry>> gml::_Geometry 25. November 2008

CityGML: Detailstufen in der Gebäudemodellierung ab LOD4 ab LOD1 ab LOD2 ab LOD3 25. November 2008

CityGML: Kohärenz von Semantik und Geometrie basierend auf ISO 19109 Geometrie basierend auf ISO 19107 8 25. November 2008

Eine 3D-Geodatenbank für Berlin Auftraggeber Berliner Senatsverwaltung für Wirtschaft, Arbeit und Frauen Berlin Partner GmbH 1. Projektphase Institut für Geodäsie und Geoinformationstechnik – Uni Bonn Datenbank-Prototyp (Oracle 10g R2 Spatial) Basierend auf CityGML (Version 0.3.0) Gebäude bis LOD3, DGM 2. Projektphase Institut für Geodäsie und Geoinformationstechnik - TU Berlin Adaption auf aktuelle Version von CityGML (0.4.0) 99% Unterstützung von CityGML Gebäude inklusive Innenraummodellierung und Adressierung Weitere thematische Module: Appearance, Gewässer, Verkehrsnetz, … 25. November 2008

Funktionsumfang der 3D-Geodatenbank von CityGML vererbte Eigenschaften Zusatz Flexible 3D-Geometrien Generische (prototypische) 3D-Objekte Gebäude bis LOD 3 Digitale Geländemodelle (DGM) Versions- management Verwaltung von DGMs und Luftbildern (WebServices) Referenzierung von externen Datenquellen (rekursive) Gruppierung von Objekten 1. Projektphase 2. Projektphase umfassende thematische Modellierung Oberflächen- daten Import und Export von CityGML-Files Gebäude inkl. Innenraum- modellierung (LOD 4) 25. November 2008

Entwicklungsablauf c a b CityGML Entwicklung eines Import/Exporttools für CityGML-Instanzdokumente c CityGML Xsd Schema <xs:complexType name="CityModelType"> <xs:complexContent> <xs:extension ... UML Schema Java Bindung (JAXB) Schema-basierte Klassen public class CityModel { … } SQL Abfragen (Imp/Export Tool) Daten- import Daten- export Abbildung Klassen  Tabellen Oracle Datenbank SQL DDL Befehle (JDeveloper) Datenbank- Erzeugung Relationales Datenbankschema vereinfachtes UML Schema Schema- verein- fachung Vereinfachung des komplexen Datenmodells von CityGML a Ableitung des relationalen Datenbankschemas b 25. November 2008

Vereinfachung des Datenmodells von CityGML Entwicklung eines Import/Exporttools für CityGML-Instanzdokumente c Java Bindung (JAXB) Schema-basierte Klassen public class CityModel { … } SQL Abfragen (Imp/Export Tool) Daten- import Daten- export Ableitung des relationalen Datenbankschemas b Abbildung Klassen  Tabellen Oracle Datenbank SQL DDL Befehle (JDeveloper) Datenbank- Erzeugung Relationales Datenbankschema CityGML Xsd Schema <xs:complexType name="CityModelType"> <xs:complexContent> <xs:extension ... UML Schema vereinfachtes UML Schema Schema- verein- fachung Vereinfachung des komplexen Datenmodells von CityGML a 25. November 2008

Vereinfachung des Datenmodells von CityGML CityGML = umfangreiches Datenmodell mit Erweiterungsmechanismen Thematisches Modell deckt breites Spektrum an Anwendungsfeldern ab Komplexe Relationen innerhalb einzelner thematischer Module Vergleichbare Hierarchien auf Seite der Geometrie Analyse bisheriger Berlin DB ergab: Weniger komplexes Schema ist ausreichend!  Anpassung der CityGML-Möglichkeiten and die Projektbedürfnisse Vereinfachtes Datenmodell Optimaler Workflow Effiziente Prozessierung Abstimmung mit Projektpartner 3DGeo 25. November 2008

Auflistung durchgeführter Vereinfachungen Multiplizitäten von Attributen 0..*  0..1 Kardinalitäten von Relationen n:m  1:n oder n:1 (und damit auch ihre Typen) Aggregation  Komposition Rekursionen parent-id und root-id Datentypanpassung codetype, color vector  String gml-Geometrie  SDO_GEOMETRY Projektspezifische Klassen und Orthophotos, Adressrepräsentation, Klassenattribute Metadaten 25. November 2008

Vereinfachte Abbildung der GML-Geometrieklassen CityGML = GML3-Anwendungsschema  unterstützt eine Teilmenge der in GML3 spezifizierten Geometrieklassen (ebene Geometrien) 25. November 2008

Attribute der Klasse _BRepGeometry +isSolid: 1… Geometrie ist geschlossen  bildet einen Solid 0… Geometrie ist nicht geschlossen  bildet eine Surface +isComposite: 1… Geometrie ist zusammenhängend  bildet einen Composite 0… beliebige Geometrieanordnung  bildet einen Multi +isTriangulated: 1… Geometrie ist trianguliert  bildet eine TriangulatedSurface 0… Geometrie ist nicht trianguliert  keine TriangulatedSurface Effizinte XLink-Behandlung erfordert zusätzlich: +isXLink: isXLink kennzeichnet aufeinander verweisende Geometrien beim Export entfällt Prüfung auf mehrfach vorkommende Geometrien  Performancesteigerung! +isReverse: Geometrie in DB immer im korrekten Drehsinn gespeichert  direkte Verarbeitung sichergestellt für Export von XLinks wird der Drehsinn aus dem Originalfile benötigt isReverse kennzeichnet den Drehsinn einer Geometrie im Originalfile 25. November 2008

Ableitung des relationalen Datenbankschemas Entwicklung eines Import/Exporttools für CityGML-Instanzdokumente c Java Bindung (JAXB) Schema-basierte Klassen public class CityModel { … } SQL Abfragen (Imp/Export Tool) Daten- import Daten- export CityGML Xsd Schema <xs:complexType name="CityModelType"> <xs:complexContent> <xs:extension ... UML Schema Oracle Datenbank Vereinfachung des komplexen Datenmodells von CityGML Schema- verein- fachung a Datenbank- Erzeugung vereinfachtes UML Schema Abbildung Klassen  Tabellen Relationales Datenbankschema SQL DDL Befehle (JDeveloper) b Ableitung des relationalen Datenbankschemas 25. November 2008

Abbildung von Vererbungshierarchien  Umsetzung der Geometrieklasse Ansätze zur Abbildung von Vererbungshierarchien 25. November 2008

Wie kommt Geometrie in die Datenbank? <bldg:lod1Solid> <gml:Solid> <gml:exterior> <gml:CompositeSurface gml:id="lod1Surface"> <gml:surfaceMember> <gml:Polygon gml:id="Left1"> <gml:LinearRing gml:id="LeftRing1"> <gml:posList srsDimension="3"> 0.0 0.0 0.0 10.0 0.0 0.0 10.0 0.0 4.0 0.0 0.0 4.0 0.0 0.0 0.0 </gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMember> ... <gml:Polygon gml:id="Roof1"> <gml:LinearRing gml:id="RoofRing1"> <gml:posList srsDimension="3"> 0.0 0.0 4.0 10.0 0.0 4.0 10.0 5.0 4.0 0.0 5.0 4.0 0.0 0.0 4.0 </gml:CompositeSurface> </gml:Solid> </bldg:lod1Solid> 7 4 5 6 3 Datenbank ? SURFACE_GEOMETRY ID GMLID PARENT _ID ROOT _ID IS_ SOLID IS_COM POSITE GEOMETRY 1 UUID_xyz 2 lod1Surface 3 Left1 LoD1 surface 3 4 Front1 LoD1 surface 4 5 Right1 LoD1 surface 5 6 Back1 LoD1 surface 6 7 Roof1 LoD1 surface 7 LOD1 building 25. November 2008

Wie werden Texturen zugeordnet? <app:appearanceMember> <app:Appearance> <app:theme>Summer</app:theme> … <app:surfaceDataMember> <app:ParameterizedTexture gml:id="roofTexture"> <app:imageURI>roof.png</app:imageURI> <app:wrapMode>wrap</app:wrapMode> <app:target uri="#Roof1"> <app:TexCoordList> <app:textureCoordinates ring="#RoofRing1"> 0.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 0.0 </app:textureCoordinates> </app:TexCoordList> </app:target> </app:ParameterizedTexture> </app:surfaceDataMember> </app:Appearance> </app:appearanceMember> TEXTUREPARAM SURFACE_GEOMETRY_ID IS_TEXTURE _PARAME TRIZATION WORLD_TO_TEXTURE TEXTURE_ COORDINATES SURFACE _DATA_ID 7 1 - 0.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 0.0 x … roof.png 0,0 1,0 0,1 1,1 0,0,4 10,0,4 10,5,4 0,5,4 7 25. November 2008

25. November 2008

25. November 2008

Entwicklung eines Import/Exporttools Entwicklung eines Import/Exporttools für CityGML-Instanzdokumente CityGML c Xsd Schema <xs:complexType name="CityModelType"> <xs:complexContent> <xs:extension ... Java Bindung (JAXB) Schema-basierte Klassen public class CityModel { … } SQL Abfragen (Imp/Export Tool) UML Schema Daten- export Daten- import Oracle Datenbank Vereinfachung des komplexen Datenmodells von CityGML a vereinfachtes UML Schema Schema- verein- fachung Ableitung des relationalen Datenbankschemas b Abbildung Klassen  Tabellen SQL DDL Befehle (JDeveloper) Datenbank- Erzeugung Relationales Datenbankschema 25. November 2008

Entwicklung eines Import/Exporttools: Überblick Datenimport CityGML Eingabedatei ____ ____ ____ _____ CityGML lesen Features CityModel cityModel1 = new CityModel () ; … folgt Instanz von ___ ___ ___ Oracle Datenbank Datenbank -import angewendet citygml4j Import- Funktionalität statischer Kern der Software  XSD Schema <xs:complexType name="CityModelType"> <xs:complexContent> … </xs:complexType> Java Bindung Schema-basierte Klassen public class CityModel { … } Export- Funktionalität CityGML Ausgabedatei ____ ____ ____ _____ CityGML schreiben folgt Features CityModel cityModel1 = new CityModel () ; … Datenbank -export angewendet Instanz von Datenexport 25. November 2008

Herausforderungen der CityGML/GML Verarbeitung Unterstützung von Instanzdokumenten beliebiger Dateigröße GML bietet ein mächtiges, komplexes Datenmodell XML ist „geschwätzig” Dateigröße von Instanzdokumenten wächst schnell (1 Mio. LOD1 Gebäude benötigen ca. 7GB Speicherplatz) Effiziente und performante Verarbeitung beliebige Verschachtelungstiefe von CityGML/GML Objekten führt zu komplexen XML-Datenstrukturen  effiziente Verarbeitung? Nebenläufige Prozesse zur Erhöhung der Performance  Entkopplung? XLink-Verweise CityGML/GML: “Property”-Elemente können per XLink auf entfernte Objekte verweisen Vorwärts- und Rückwärtsverweise innerhalb einer Datei möglich Korrekte Abbildung in Datenbank erfordert Auflösung von XLinks 25. November 2008

Unterstützung beliebig großer CityGML-Dateien Umsetzung eines zweistufigen Verfahrens Partielles Einlesen von XML-Dokumenten Datenstrombasiertes, ereignisorientiertes XML-Parsen Simple API for XML (SAX) Sequentielles Einlesen von XML-Elementen in den Hauptspeicher  keine Beschränkung der absoluten Dateigröße Problem: SAX-Ereignisse zustandslos  Kontext geht verloren, Rekonstruktion komplexer Datenstrukturen aufwendig Aufspaltung der CityGML Datei in kleinere Stücke („XML-Chunks“) Sinnvolle Teilung bspw. anhand von CityObject Instanzen <cityObjectMember> CityObject Instanz </cityObjectMember> Zwischenspeicherung der zugehörigen SAX-Ereignisse Hauptspeicherverbrauch bestimmt sich nach der Größe der XML-Chunks, nicht mehr nach der Dateigröße 25. November 2008

Unterstützung beliebig großer CityGML-Dateien Umsetzung eines zweistufigen Verfahrens Bindung der XML-Chunks an Java-Klassen Objektorientierte Sicht auf XML-Daten Java Architecture for XML Binding (JAXB) Generierung einer Java-Klassenhierarchie aus einer XML-Schemainstanz Abbildung komplexer XML-Datenstrukturen auf Java-Objektbaum (Unmarshalling) und umgekehrt (Marshalling)  Effiziente Verarbeitung Problem: Überführung des gesamten Instanzdokuments in eine in-memory Repräsentation  Hauptspeicherbedarf bestimmt sich nach Dateigröße Schrittweise Bindung der einzelnen XML-Chunks XML-Chunks werden unabhängig voneinander in Objektbäume übersetzt Hauptspeicherverbrauch bestimmt sich nach der Größe der Teilbäume Freigabe von Hauptspeicher nach Verarbeitung eines XML-Chunks 25. November 2008

Performante Datenverarbeitung Verarbeitung eines Instanzdokuments durch (quasi-)parallele, interagierende Prozesse (Threads) Nebenläufige Verarbeitung durch Entkoppelung anhand der einzelnen CityObject Instanzen (XML-Chunks) Parallelisierung abhängig von Anzahl an Prozessoren/Prozessorkernen Kontextwechsel  überhöhte Lebenszyklus- und Ressourcenverwaltung  Thrashing durch Mangel an Arbeitsspeicher Wiederverwendung von Threads durch Verwaltung in Thread-Pools Kombination von Thread-Pools zu komplexen Prozessketten Queue Thread Pool Worker 25. November 2008

Auflösung von XLink-Verweisen Nebenläufige, partielle Verarbeitung von CityGML Dateien Verarbeitung beliebig großer Instanzdokumente Performante Verarbeitung durch (quasi-)parallele Prozesse Problem: Auflösung von XLink-Verweisen auf entfernte CityObject Instanzen wird komplexer Rückwärtsverweise  CityObject bereits verarbeitet: SQL-Abfrage in Datenbank? CityObject wird parallel verarbeitet: Interprozess-Kommunikation? Vorwärtsverweise CityObject noch nicht verarbeitet: ? Einstufige Strategie erfordert Repräsentation des kompletten Instanzdokuments im Hauptspeicher Implementierung einer zweistufigen Strategie 25. November 2008

XLink-Verweise: Zweistufige Strategie Erste Stufe Speicherung von CityObject Instanzen in Datenbank ohne Berücksichtigung ihrer XLink-Verweise Zwischenspeicherung der XLink-Verweise in temporären Tabellen Quelle: Tabellenname + Primärschlüssel Ziel: GML-ID des referenzierten Elements Eventuell: Zusatzinformationen Effiziente Datenstruktur zur Abbildung “GML-ID  Tabellenname + Primärschlüssel” (im Hauptspeicher + Überlaufspeicher in Datenbank) Zweite Stufe: Post-Processing Abfrage der temporären XLink-Tabellen Auflösung des XLink-Ziels über Datenstruktur im Hauptspeicher Entsprechende Prozessierung des XLinks 25. November 2008

Datenimport – Schritt 1 ____ _____ ____ _____ ___ ___ ___ _____ ____ ____ _____ SAX Parser Temporärer Buffer Buffer Queue TopLevel Feature Queue ____ _____ ____ _____ CityGML Eingabedatei Parser Thread (1 Instanz) Converter Thread (begrenzte Anzahl von Instanzen) Feature- erzeugung citygml4j 25. November 2008

Datenimport – Schritt 2 ___ ___ ___ _____ ____ ____ _____ TopLevel Feature Queue SQL Erzeugung commit SQL-Befehl Queues Geodaten Importfilter XLink Queue ___ ___ ___ Oracle Datenbank Importer Thread (begrenzte Anzahl von Instanzen) Datenbank- update ___ ___ ___ mit separater XLink Speicherung (temporär) commit XLinks XLink Thread (begrenzte Anzahl von Instanzen) XLink Information 25. November 2008

Datenimport – Schritt 3 XLink Splitter Thread (1 Instanz) ___ ___ ___ _____ ____ ____ _____ ___ ___ ___ Oracle Datenbank XLink Splitter XLink Resolver Queue SQL-Erzeugung XLinks commit SQL-Befehl Queue Datenbank- update Oracle Datenbank ___ ___ ___ mit aufgelösten XLinks XLink Splitter Thread (1 Instanz) XLink Resolver Thread (begrenzte Anzahl von Instanzen) ___ ___ ___ mit separater XLink Speicherung (temporär) 25. November 2008

Datenexport – Schritt 1 Splitter Thread (1 Instanz) ____ _____ ____ _____ ___ ___ ___ Exportfilter SQL TopLevel Feature ID Queue Splitter Thread (1 Instanz) ___ ___ ___ Oracle Datenbank Exporter Thread (begrenzte Anzahl von Instanzen) Datenbank- ausgabe SQL Feature / Geometrie Anfrage Feature 25. November 2008

Datenexport – Schritt 2 ____ _____ ____ _____ ___ ___ ___ citygml4j Temporärer Buffer Buffer Queue Exporter Thread (begrenzte Anzahl von Instanzen) ____ _____ ____ _____ CityGML Ausgabedatei CityGML schreiben IO Writer Thread (1 Instanz) Feature 25. November 2008

Performance-Messung… Import Export Dataset File size Time Features / second No. of workers Geometry / Appearance / XLinks 1.1 mio LOD1 buildings 7,5 GB 1:15h 228 4 11511040 / 0 / 0 38min 455 10 2:25h 121 1 1:57h 150 10.927 LOD2 buildings fully textured 163 MB + 57 MB 25 min 7 434714 / 43348 / 391006 4.3min 42  w/o textures 163 MB 6.5 min 28 434714 / 0 / 391006 2min 91 Database server: 2 x Intel Xeon Dual Core@3GHz, 6GB RAM, SCSI Raid 5 Disk Array, Windows Server 2003 SP2, 100MBit LAN Client running the import/export tool: Intel Core2 CPU 6600@2.4GHz, 2GB RAM, WindowsXP SP2, 100MBit LAN 25. November 2008

Charakteristika des Import/Exporttools Volle Unterstützung von CityGML 1.0.0, 0.4.0, 0.3.1, 0.3.0 Unterstützung beliebig großer CityGML-Dateien (>4GB) Nebenläufigkeit der Datenverarbeitung durch Multithreading Hohe Performance auch auf Standard-Systemen 7GB Datei (>1mio LOD1-Gebäude)  Import: 75min, Export: 38min Unterstützung von XLinks Benutzerdefinierter Import und Export durch Filteroptionen GML ID, GML Name Blockweiser Import/Export zur Datenkachelung (mittels Bounding Boxes) Auswahl von Objektklassen 25. November 2008

Charakteristika des Import/Exporttools Zwei Schnittstellen Graphische Benutzerschnittstelle (GUI) zur Benutzung durch Endanwender Kommandozeilen-Schnittstelle (CLI) zur einfachen Einbettung der Import/Export-Funktionalität in Drittanwendungen Basiert auf Open Source Bibliothek citygml4j des IGG CityGML Programmbibliothek für Java Ermöglicht das einfache Lesen, Verarbeitung und Schreiben von CityGML Instanzdokumenten 25. November 2008

Geplante Erweiterungen Matchingfunktionalität Erkennung korrespondierender Objekte Verlinkung und Austausch von Informationen Entfernen redundanter Informationen Weiterführende Nutzung als Backend für Web Services Web Feature Services (WFS) können existierende Import- und Exportfunktionalität nutzen Alternative zur graphischen Benutzeroberfläche Erweiterung der Exportfunktionalität um standardisierte Formate KML etc. Performanceoptimierung Optimale Verteilung auf physischen Platten 25. November 2008

Verfügbarkeit Open Source Veröffentlichungen des IGG, TU Berlin 3D Geodatenbank Import/Exporttool citygml4j Verfügbar sind SQL-Skripte, Quellcode, ausführbare Binärdateien, Programmbibliotheken, Dokumentation, Tutorials, etc. Lizenz: GNU Lesser Public General License v3 (LGPL) Link: http://www.igg.tu-berlin.de/1746/ Heute!! 25. November 2008

Referenzen 3D city database (2007), www.3dcitydb.org [letzter Zugriff: 2008-06-20]. Döllner J, Kolbe TH, Liecke F, Sgouros T, Teichmann K (2006) The Virtual 3D City Model of Berlin - Managing, Integrating, and Communicating Complex Urban Information, In: Proceedings of the 25th Urban Data Management Symposium UDMS, Aalborg 2006. Emgård L, Zlatanova S (2007) Implementation alternatives for an integrated 3D Information Model, In: Advances in 3D Geoinformation Systems, Springer-Verlag, pp. 313-330. GNU Lesser General Public License, http://www.gnu.org/copyleft/lgpl.html [letzter Zugriff: 2008-06-20]. Gröger G, Kolbe TH, Czerwinski A (2007), Candidate OpenGIS Implementation Specification (City Geography Markup Language), Version 0.4.0, OGC Doc. No. 07-062, Open Geospatial Consortium 2007. Snowflake Software, GO Loader product page (2008), http://www.snowflake software.co.uk/products/goloader/index.htm [letzter Zugriff: 2008-06-20]. 25. November 2008

Fragen ? Claus Nagel Alexandra Stadler Gerhard König Thomas H. Kolbe { nagel|stadler|koenig|kolbe} @ igg.tu-berlin.de Technische Universität Berlin Institut für Geodäsie und Geoinformationstechnik Fachgebiet Methodik der Geoinformationstechnik Straße des 17. Juni 135, 10623 Berlin 25. November 2008