3DSensorDB is a geospatial database for storing, managing, and analyzing 3D sensor data. When combined with semantic 3D environment models in CityGML, sensor observations can be linked and enriched with semantic, topological, geometric, and appearance information.
The system is built on PostgreSQL/PostGIS, the 3D City Database supporting CityGML 1.0-3.0, and Rust for blazingly fast processing.
Importing Geospatial Datasets
Use the companion tool to import georeferenced point clouds into 3DSensorDB at the point level (left). Optionally, import a CityGML semantic model alongside (right).

Automatically Associating Points with Semantic Objects
3DSensorDB can automatically associate individual points (left) with the surfaces of semantic objects (center) and enrich each point with the corresponding CityGML class (top right) and object ID (bottom right). If sensor trajectories are also imported, this can be achieved using the proposed ray-casting-based approach. Otherwise, point-to-surface distances are used.

Imported sensor data is organized by campaign, mission, and sensor, with precise timestamps if available. This provides a foundation not only for managing the collected data but also for change detection analysis.
Enriching the Sensor Data
The enriched point clouds combine sensor-relative attributes from the measurement process (e.g., intensity, distance, azimuth angle, and elevation angle) with associated class and object IDs. They also contain the incident angle (zenith) and azimuth angle between the beam and the surface of the semantic object, along with the corresponding distances.

This information is computed for point clouds from each sensor, mission, and campaign, enabling downstream analyses and applications.
Enriching the Semantic Model
Semantic objects can be enriched with information derived from filtered sensor data. For example, the third-quartile (Q3) intensity of the front-center LiDAR can be computed for points within 20 meters and with an incidence angle to the surface below 30°. Additional filters can be applied based on the number of points hitting the surfaces, the time the object was last detected by a sensor, or the average distance between points and the surface.
Managing Point Clouds at Block-Level
While point-level analyses provide detailed insights, 3DSensorDB can be used to provide large-scale overviews supporting point cloud management. The companion tool allows point clouds to be imported at either the point level or the block level, which drastically reduces database storage size requirements. QGIS can connect directly to the 3DSensorDB to analyze point cloud areas by capture time or point density.
