Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Institute for Geodesy and Geoinformation Science
Making interoperability persistent:
A 3D geo database based on CityGML
Alexandra Stadler, Claus Nagel, Gerhard König, Thomas H. Kolbe
Technische Universität Berlin
Institute for Geodesy and Geoinformation Science
Chair of Geoinformation Science
November 13th 2008
Motivation
Institute for Geodesy and Geoinformation Science
Berlin: Management of 3D geo data
Collect, compare, adapt, update, exchange
Data from various sources (cadastre, planning,
architecture, utility networks, etc.)
Precondtion:
Existence of a standardised data and exchange
format for 3D city models
Ensures consistent and interoperable data structuring
Well-known representative: CityGML
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
CityGML: Overview
Institute for Geodesy and Geoinformation Science
Content
Models all relevant parts of the virtual city according to their
semantics, geometry, topology and appearance
GML application schema based on XML
Data model and exchange format for virtual 3d city models
History
Developed since 2002 by the Special Interest Group 3d (NorthRhine
Westphalia, Germany)
Members from >70 companies, municiplaities and research institutions
lead managed by
Prof. Thomas H. Kolbe (IGG TU Berlin)
Dr. Gerhard Gröger (IGG Uni Bonn)
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
CityGML: On its way to become an OGC standard
Institute for Geodesy and Geoinformation Science
2002-05
2006-03-06
2007-05-30
2008-02-04
2008-02-19
2008-03-20
2008-08-20
CityGML Kick-Off
CityGML 0.3.0
OGC Discussion Paper
CityGML 0.4.0
OGC Best Practices Paper
CityGML 1.0.0 (Proposal)
OGC Request for Comments
<<<<<<< Public Comment Phase >>>>>>>
CityGML 1.0.0
OGC Implementation Specification
(after final OGC TC vote)
International standard
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
CityGML: Thematically structured into object classes
Institute for Geodesy and Geoinformation Science
<<Feature>>
gml::_Feature
<<Feature>>
<<FeatureCollection>>
CityModel
ExternalReference
*
_CityObject
*
- informationSystem: anyURI
- externalReference:
ExternalObjectReferenceType
<<Feature>>
<<Feature>>
<<Feature>>
<<Feature>>
<<Feature>>
_Abstract
Building
_Transportation
Object
ReliefFeature
_WaterBody
_Vegetation
…
<<Geometry>>
LOD 0-4 GeometryProperty
gml::_Geometry
LOD 0-4 GeometryProperty
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
CityGML: Coherence of semantics and geometry
Institute for Geodesy and Geoinformation Science
Semantics
Geometry
based
on ISO 19107
Building
Composite
Solid
BuildingPart
...
Geometry
Semantics
based
on ISO 19109
BuildingPart
Roof
Surf.
Roof
Surf.
Wall
Surf.
Wall
Surf.
Door
Win
dow
Building
Installation
...
Solid
...
...
Solid
Poly
gon
Poly
gon
Composite
Surface
Poly
gon
Poly
gon
Poly
gon
Composite
Surface
...
...
‹#›
7
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
A 3D geo database for Berlin
Institute for Geodesy and Geoinformation Science
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Functionality of the 3D geo database
Institute for Geodesy and Geoinformation Science
CityGML properties
Generic
(prototypical)
3D objects
Complex
thematic
modelling
Digital
Terrain Models
(DTM)
Exchange of
DTM and aerial images
(WebServices)
Referencing of
exterior
data sources
Version
management
Appearance
data
Import and
export of
CityGML files
2nd project phase
Buildings up to
LOD 3
Buildings
including
interior
structures
(LOD 4)
(recursive)
aggregation
of objects
1st project phase
Flexible
3D geometries
additions
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Development cycle
Institute for Geodesy and Geoinformation Science
Creation of an import and export tool
for CityGML instance documents
CityGML
Xsd Schema
<xs:complexType
name="CityModelType">
<xs:complexContent>
<xs:extension
...
Java
binding
(JAXB)
Schema-derived
classes
public class CityModel {
…}
UML Schema
Simplification
of CityGML‘s
data model
c
SQL
queries
(Imp/Export
Tool)
Export
data
Import
data
Oracle
database
Schemasimplification
a
Database
creation
simplified
UML Schema
Mapping
classes to
tables
Relational
diagram
SQL DDL
statements
(JDeveloper)
b
Derivation of the relational database schema
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Simplification of CityGML‘s data model
Institute for Geodesy and Geoinformation Science
Creation of an import and export tool
for CityGML instance documents
CityGML
Xsd Schema
<xs:complexType
name="CityModelType">
<xs:complexContent>
<xs:extension
...
Java
binding
(JAXB)
Schema derived
classes
public class CityModel {
…}
UML Schema
Simplification
of CityGML‘s
data model
c
SQL
queries
(Imp/Export
Tool)
Export
data
Import
data
Oracle
database
Schema
simplification
a
Database
creation
Simplified
UML Schema
Mapping
classes to
tables
Relational
diagram
SQL DDL
statements
(JDeveloper)
b
Derivation of the relational database schema
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Simplification of CityGML‘s data model
Institute for Geodesy and Geoinformation Science
Thematic model covers a broad range of application fields
Complex relations within thematic modules
Comparable hierarchies on the geometry level
bRepMember
1..*
<<Geometry>>
_BRepGeometry
+isSolid : boolean [1]
+isComposite : boolean [1]
+isTriangulated : boolean [1]
0..1
<<Geometry>>
BRepAggregate
<<Geometry>>
Polygon
+geometry : Polygon [1]
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Derivation of the relational database schema
Institute for Geodesy and Geoinformation Science
Creation of an import and export tool
for CityGML instance documents
CityGML
Xsd Schema
<xs:complexType
name="CityModelType">
<xs:complexContent>
<xs:extension
...
Java
binding
(JAXB)
Schema derived
classes
public class CityModel {
…}
UML Schema
Simplification
of CityGML‘s
data model
c
SQL
queries
(Imp/Export
Tool)
Export
data
Import
data
Oracle
database
Schema
simplification
a
Database
creation
Simplified
UML Schema
Mapping
classes to
tables
Relational
diagram
SQL DDL
statements
(JDeveloper)
b
Derivation of the relational database schema
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Derivation of the relational database schema
Institute for Geodesy and Geoinformation Science
bRepMember
1..*
<<Geometry>>
_BRepGeometry
+isSolid : boolean [1]
+isComposite : boolean [1]
+isTriangulated : boolean [1]
0..1
<<Geometry>>
BRepAggregate
<<Geometry>>
Polygon
+geometry : Polygon [1]
BRepGeometry
ID: NUMBER <<PK>>
IS_SOLID : BOOLEAN
IS_COMPOSITE : BOOLEAN
IS_TRIANGULATED : BOOLEAN
BRepAggregate
ID: NUMBER <<PK>><<FK>>
BRepAggregate
ID: NUMBER <<PK>>
IS_SOLID : BOOLEAN
IS_COMPOSITE : BOOLEAN
IS_TRIANGULATED : BOOLEAN
Polygon
BRepGeometry
Polygon
ID: NUMBER <<PK>>
IS_SOLID : BOOLEAN
IS_COMPOSITE : BOOLEAN
IS_TRIANGULATED : BOOLEAN
GEOMETRY : SDO_GEOMETRY
ID: NUMBER <<PK>>
TYPE : VARCHAR2(30)
IS_SOLID : BOOLEAN
IS_COMPOSITE : BOOLEAN
IS_TRIANGULATED : BOOLEAN
GEOMETRY : SDO_GEOMETRY
ID: NUMBER <<PK>><<FK>>
GEOMETRY : SDO_GEOMETRY
Mapping strategies for aggregation hierarchies
Realisation of geometry model
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Creation of an import and export tool
Institute for Geodesy and Geoinformation Science
Creation of an import and export tool
for CityGML instance documents
CityGML
Xsd Schema
<xs:complexType
name="CityModelType">
<xs:complexContent>
<xs:extension
...
Java
binding
(JAXB)
Schema derived
classes
public class CityModel {
…}
UML Schema
Simplification
of CityGML‘s
data model
c
SQL
queries
(Imp/Export
Tool)
Export
data
Import
data
Oracle
database
Schema
simplification
a
Database
creation
Simplified
UML Schema
Mapping
classes to
tables
Relational
diagram
SQL DDL
statements
(JDeveloper)
b
Derivation of the relational database schema
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Creation of an import and export tool: Overview
Institute for Geodesy and Geoinformation Science
Data import
CityGML
input file
____
____
____
____
_____
____
_____
____
Read
CityGML
follows
Features
CityModel cityModel1 =
new CityModel () ;
…
instance of
Access wrapper
Static core of
the software
Xsd Schema
<xs:complexType
name="CityModelType">
<xs:complexContent>
<xs:extension
...
Java
binding
follows
public class CityModel {
…}
instance of
CityGML
output file
____
____
____
____
_____
____
_____
____
Schema derived
classes
Write
CityGML
Features
CityModel cityModel1 =
new CityModel () ;
…
Database
import
applied
Import
functionality
Export
functionality
Oracle
database
___
___
___
___
___
___
applied
Database
export
Data export
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Characteristics of the import/export tool
Institute for Geodesy and Geoinformation Science
Support for CityGML files of arbitrary size (>4GB)
Concurrency of data processing through multithreading
High performance on standard platforms
Use of universally unique identifiers (UUIDs)
Filter options enable user-defined import and export
GML ID, GML name
Bundled import and export for data tiling (classified by IDs or
Bounding Boxes)
Selection of object classes
Published as open source software
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Concurrency of data processing
Institute for Geodesy and Geoinformation Science
Parallel non-blocking execution of multiple interacting tasks
Decouple compute and I/O bound
Degree of parallelisation depends on number of processing cores
Attention: Context switch
Thread life cycle overhead
Resource thrashing
Reuse threads by applying a pooled threads model
Thread creation overhead is spread over many tasks
Thread Pool
Thread Pool
Worker
Worker
Worker
Worker
Queue
Queue
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Data import – step 1
Institute for Geodesy and Geoinformation Science
____
_____
____
____
_____
____
_____
____
____
_____
____
____
_____
_____
____
___
___
___
___
___
___
___
___
___
___
___
___
___
___
___
Buffer
Queue
CityGML
input file
____
_____
____
____
_____
____
_____
____
____
_____
____
____
_____
_____
____
Temporary
Buffer
SAX parsing
Parser Thread
(1 instance)
TopLevel Feature
Queue
JAXB
unmarshalling
Feature
creation
Converter
Thread
(limited number
of instances)
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Data import – step 2
Institute for Geodesy and Geoinformation Science
____
_____
____
____
_____
____
_____
____
____
_____
____
____
_____
_____
____
___
___
___
___
___
___
___
___
___
___
___
___
___
___
___
TopLevel Feature
Queue
SQL statement
Queues
Import filter
Oracle
database
Database
update
Geo data
___
___
___
commit
___
___
___
SQL creaion
XLink
information
XLinks
XLink
Queue
commit
Importer Thread
XLink Thread
(limited number
of instances)
(limited number
of instances)
___
___
___
With separate
XLink storage
(temporary)
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Data import – step 3
Institute for Geodesy and Geoinformation Science
____
_____
____
____
_____
____
_____
____
____
_____
____
____
_____
_____
____
___
___
___
___
___
___
___
___
___
___
___
___
___
___
___
XLink Resolver
Queue
Oracle
database
___
___
___
___
___
___
XLink
splitting
SQL statement
Queue
Oracle
database
Database
update
SQL creation
___
___
___
___
___
___
XLinks
___
___
___
commit
With separate
XLink storage
(temporary)
XLink
Splitter Thread
(1 Instanz)
with resolved
XLinks
XLink
Resolver Thread
(limited number
of instances)
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Data export – step 1
Institute for Geodesy and Geoinformation Science
____
_____
____
____
_____
____
_____
____
____
_____
____
____
____
_____
____
___
___
___
___
___
___
Export filter
Splitter Thread
SQL
(1 instance)
TopLevel Feature
ID Queue
Oracle
database
___
___
___
SQL
Database
output
___
___
___
Feature
Nested feature/geometry request
Exporter Thread
‹#›
(limited number of instances)
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Data export – step 2
Institute for Geodesy and Geoinformation Science
____
_____
____
____
_____
____
_____
____
____
_____
____
____
____
_____
____
___
___
___
___
___
___
Buffer
Queue
Temporary
Buffer
Feature
JAXB
marshalling
‹#›
CityGML
output file
Write
CityGML
____
_____
____
____
_____
____
_____
____
____
_____
____
____
_____
_____
____
Exporter Thread
IO Writer Thread
(limited number
of instances)
(1 instance)
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Some performance measurements…
Institute for Geodesy and Geoinformation Science
Import
Dataset
1 mio LOD1
buildings
>10.000 LOD2
buildings
fully textured
w/o textures
>200 complex
LOD3 objects
File
size
Export
Time
Features
/ second
N° of
workers
Versioning
enabled
Time
Features
/ second
N° of
workers
1:15h
228
4
no
38min
455
10
2:25h
121
1
no
1:57h
150
1
163 MB
+
57 MB
25
min
7
4
no
4,3min
42
4
163 MB
6,5
min
28
4
no
2min
91
4
17s
12
4
no
7s
30
10
7,5 GB
40,1MB
3:20h
0,02
4
yes
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Future plans
Institute for Geodesy and Geoinformation Science
Matching functionality (in progress)
Recognise corresponding buildings in different datasets
Link geometries and exchange attribute
Avoid redundant information
Use the tool as backend for Web Services
Broaden the applicability
Replacing the graphical user interface by a Web Service interface
Web Feature Services (WFS) may rely on existing import and export
functionality
Additional export formats
KML etc.
Performance optimisation
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
Institute for Geodesy and Geoinformation Science
Questions ?
Alexandra Stadler
Claus Nagel
Gerhard König
Thomas H. Kolbe
stadler|nagel|kolbe @ igg.tu-berlin.de
[email protected]
Technische Universität Berlin
Institute for Geodesy and Geoinformation Science
Chair of Geoinformation Science
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008
References
Institute for Geodesy and Geoinformation Science
3D city database (2007), www.3dcitydb.org [last access: 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 [last access: 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 [last
access: 2008-06-20].
‹#›
Stadler, Nagel, König, Kolbe: Making interoperability persistent: A 3D geo database based on CityGML
November 13th 2008