Table of Contents
Fetching ...

cjdb: a simple, fast, and lean database solution for the CityGML data model

Leon Powałka, Chris Poon, Yitong Xia, Siebren Meines, Lan Yan, Yuduan Cai, Gina Stavropoulou, Balázs Dukai, Hugo Ledoux

TL;DR

The paper tackles the challenge of storing CityGML data efficiently in databases by proposing cjdb, a three-table PostgreSQL solution that stores attributes and geometries as JSON (via jsonb) and uses CityJSON structures for geometry. It positions cjdb against XML/GML–based CityGML, CityJSON, NoSQL, and the prevalent 3DCityDB approach, arguing that a simple, JSON-centric design can achieve substantial storage savings (about a 10x reduction) while maintaining competitive retrieval performance and faster import/export. The core contributions include a minimal relational schema, a CityJSON-based data model, and an accompanying importer/exporter, all targeted at practical, web-friendly handling of CityGML v3.0 core data. The work demonstrates that a streamlined, JSON-first approach can simplify development, reduce storage overhead, and offer scalable access to 3D city models in PostgreSQL, with potential portability to other DBMSs.

Abstract

When it comes to storing 3D city models in a database, the implementation of the CityGML data model can be quite demanding and often results in complicated schemas. As an example, 3DCityDB, a widely used solution, depends on a schema having 66 tables, mapping closely the CityGML architecture. In this paper, we propose an alternative (called cjdb) for storing CityGML models efficiently in PostgreSQL with a much simpler table structure and data model design (only 3 tables are necessary). This is achieved by storing the attributes and geometries of the objects directly in JSON. In the case of the geometries we thus adopt the Simple Feature paradigm and we use the structure of CityJSON. We compare our solution against 3DCityDB with large real-world 3D city models, and we find that cjdb has significantly lower demands in storage space (around a factor of 10), allows for faster import/export of data, and has a comparable data retrieval speed with some queries being faster and some slower. The accompanying software (importer and exporter) is available at https://github.com/cityjson/cjdb/ under a permissive open-source license.

cjdb: a simple, fast, and lean database solution for the CityGML data model

TL;DR

The paper tackles the challenge of storing CityGML data efficiently in databases by proposing cjdb, a three-table PostgreSQL solution that stores attributes and geometries as JSON (via jsonb) and uses CityJSON structures for geometry. It positions cjdb against XML/GML–based CityGML, CityJSON, NoSQL, and the prevalent 3DCityDB approach, arguing that a simple, JSON-centric design can achieve substantial storage savings (about a 10x reduction) while maintaining competitive retrieval performance and faster import/export. The core contributions include a minimal relational schema, a CityJSON-based data model, and an accompanying importer/exporter, all targeted at practical, web-friendly handling of CityGML v3.0 core data. The work demonstrates that a streamlined, JSON-first approach can simplify development, reduce storage overhead, and offer scalable access to 3D city models in PostgreSQL, with potential portability to other DBMSs.

Abstract

When it comes to storing 3D city models in a database, the implementation of the CityGML data model can be quite demanding and often results in complicated schemas. As an example, 3DCityDB, a widely used solution, depends on a schema having 66 tables, mapping closely the CityGML architecture. In this paper, we propose an alternative (called cjdb) for storing CityGML models efficiently in PostgreSQL with a much simpler table structure and data model design (only 3 tables are necessary). This is achieved by storing the attributes and geometries of the objects directly in JSON. In the case of the geometries we thus adopt the Simple Feature paradigm and we use the structure of CityJSON. We compare our solution against 3DCityDB with large real-world 3D city models, and we find that cjdb has significantly lower demands in storage space (around a factor of 10), allows for faster import/export of data, and has a comparable data retrieval speed with some queries being faster and some slower. The accompanying software (importer and exporter) is available at https://github.com/cityjson/cjdb/ under a permissive open-source license.
Paper Structure (8 sections, 1 figure)

This paper contains 8 sections, 1 figure.

Figures (1)

  • Figure 1: UML diagram of cjdb.