Development of a QGIS plugin for the CityGML 3D City Database

More Info
expand_more

Abstract

Today, in the urban planning, energy modelling and other fields, semantic 3D city models are used in various applications like visualization, data exploration, analysis and more. As a result, standard data practices needed to be set in order to facilitate the storage and exchange of these city models. For this purpose, the Open Geospatial Consortium ( OGC ) adopted CityGML as an international standard for effective use of 3D city models. Generally, the models are encoded in Extensible Markup Language ( XML ) files, however, other file encodings can also be used like JavaScript Object Notation ( JSON ) files with CityJSON. Moreover, CityGML can also be adapted for a database encoding like the 3D City Database ( 3DCityDB ), on which this thesis is based upon. The benefit of using a database encoding is that databases are built to handle and organize large amount of data, which 3D city models usually consist of. The 3DCityDB is an open source project developed for PostgreSQL and Oracle databases. It is supported by other software in the 3DCityDB suite that facilitate its use in different applications. The 3DCityDB tries to simplify the complexity of CityGML, however, its approach remains difficult for users to access data directly without technical knowledge of databases, Structured Query Language ( SQL ), CityGML and/or 3DCityDB structure. Derived frm thios limitation, the primary objective of this research is to develop an approach that could simplify user interaction with the 3DCityDB from within a Q Geographical Information System ( QGIS ) environment. To achieve this, ”3DCityDB-Loader”, a QGIS plugin, is developed to handle complex server operations in the background, whilst providing a user-friendly workspace environment. The complete functionality of the plugin is segmented into client and server-side parts. This thesis focuses on the client-side development but both parts were jointly developed in a common iterative process of requirement identification, development, testing and assessment. The most important requirements for the plugin is to have layers that can interact with 3DCityDB data, be able to work with multiple users with different privileges, allow for multiple scenarios (database schemas), allow to edit attributes, handle different Levels Of Detail ( LOD ) and geometry representations and finally be able to operate from a Graphical User Interface ( GUI ) in QGIS . Regarding the client-side part of the plugin, it can manage database connections, manage the server-side installation, manage and create layers for multiple scenarios from a GUI , include CityGML generic attributes, enumerations and codelists and automatically set their relations, automatically structure a hierarchical QGIS Table Of Contents ( TOC ) and finally automatically apply standard colors on different features. At the time of writing this document, the plugin is at version 0.4. The limitations are mostly related to functionalities that are not yet supported, with future development being tracked from the project’s GitHub repository. All in all, ”3DCityDB-Loader” facilitates the use of 3DCityDB for users of different fields and expertise with the common denominator being the well-accustomed QGIS environment.