"The award winning 3D City Database is a free 3D geo database to store,
represent, and manage virtual 3D city models on top of a standard
spatial relational database. The database model contains semantically
rich, hierarchically structured, multi-scale urban objects facilitating
complex GIS modeling and analysis tasks, far beyond visualization" (http://www.3dcitydb.net)
OpenSource under LGPL v3.0
History
2003 - 2005:
v1.0 developed
within a pilot project funded by the European Union at the University of Bonn (supported DBMS: Oracle, PostgreSQL)
2007 - 2008:
v2.0 developed within the
framework Europäische Fonds für
regionale Entwicklung(EFRE
II) the project Geodatenmanagement in
der Berliner Verwaltung – Amtliches 3D-Stadtmodell für Berlin at Technsiche Universität Berlin (supported DBMS: Oracle)
2012:
Oracle Spatial Excellence Award in the field 'Research and education'
v2.0 ported towards PostgreSQL/PostGIS (http://opus.kobv.de/ubp/volltexte/2013/6365/)
Since 2013:
Cooperation agreement between TU Munich (new chair of T.H.Kolbe a.k.a. godfather of the 3DCityDB), virtualcitySYSTEMS and M.O.S.S. about the further development
Steering committee between the three partners takes decisions on the future roadmap
Cooperation is open for new partners who are using the 3DCityDB and want to develop new features and tools
Managing 3D City Models
Why CityGML?
Other standardization processes for data models concerning 3D buildings like IMGeo (NL), INSPIRE (EU), Adv-Profil (D) etc. are closely related to CityGML. And it's getting more and more...
By the way, CityGML an OGC standard. You know why?
Why CityGML?
Rich in semantics compared to other 3D formats. Objects know where they are and WHAT they are.
Source: Stadler 2008
Semantic model based on ISO 19109 Geometric model based on ISO 19107
Why CityGML?
Hierarchical structure of features and 1 to 5
diffenrent levels of detail (LoD) for each feature. Applicable for many
different scenarios in 3D city modelling.
Why CityGML?
Modular structure of thematic models. Thus users and developers might use only the parts they need. PLUS: The model is extendable via application domain extension (ADE).
NEW: CityGML 2.0.0 support
http://www.opengis.net/citygml/bridge/2.0
http://www.opengis.net/citygml/tunnel/2.0
Lessons learned
Schema enhancements to make spatial queries easier
No more ORDImage data type to store texture files. Instead: BLOB. >> Better support for Oracle Locator.
Binary data of texture files seperated from surface data information (more suitable for texture atlases)
Improved stored procedures
Tables and references
Geometry storage
Most Objects can be described by
a boundary representation
NEW: a solid representation (3D)
an implicit geometry with reference point and transformation matrix (for prototype objects)
Other geometry types:
Terrain intersection curves as MultiLinestring
Masspoint relief as MultiPoint (maybe Pointcloud type in the future)
Point, Linestring and Collections
Importer/Exporter
NEW: CityGML 2.0.0 support
NEW: Parallel development of Oracle and Postgres branch merged into one master (https://github.com/3dcitydb/importer-exporter)
NEW: One adapter interface for databases. Additional support for other DMBS would be more easy to develop
Technical details
XML binding by citygml4j (https://github.com/citygml4j)
Database access via JDBC and Tomcat connection pool
Texture Atlas Creator, a standalone tool and API for creating texture atlases for CityGML files or a set of input images https://github.com/3dcitydb/texture-atlas-creator
Plugin API to facilitate the development of additional database management functionalities
NEW: Follow us on GitHub
NEW: Create your own database scripts
Oracle > JDeveloper PostgreSQL > pgModeler
NEW: WFS
Database access via Simple Web Feature Service 2.0 (Basic Conformance Class)
Important for INSPIRE-conformant services
Delivers CityGML v1.0.0 and v2.0.0 documents
Accepts only gml:id filtering. More features to come in the future. (And yes, we are talking about WFS-T here!)
NEW: New History Management
exclusively for PostgreSQL
Logging all changes in a separate table
Recreate a table or database state with entries of the log table and push it back to your production state
Runs only on PostgreSQL 9.3+ because of built-in JSON functions
Written in PL/pgSQL (get it from github.com/fxku/audit)
Plans for 2014/15
Complex filtering for imports and exports and extended filter possibilities for WFS
Support for raster data
Concepts for an generic CityGML-ADE support
Reworked Planning Manager (to manage planning alternatives of a city model)