Problem statement
Spatial information in 3D has many appearances, leading to many different representations. Objects and phenomena in 3D space come as points, as straight or curved lines, as flat or bent surfaces, as solid or hollow bodies, as homogeneous or heterogeneous volumes. Objects have hierarchical and topological relationships: they may be disjoint, connected or overlapping in either 2D or 3D; they may form networks and zones, and be linked to each other by lines of sight, by shortest paths or by common attribute values. Phenomena may be constant in time and space or vary and fluctuate: they are located indoor or outdoor, above or below the terrain surface.
Visualising spatial information is the prominent way to analyse it. The diversity of appearances gives lively, attractive, ‘super-natural’ visualisations in interactive environments, while human imagination and expertise take care of correct interpretation and analysis.
When spatial information serves as input for computational models, simulations, what-if scenarios and so on, complexity increases exponentially with the degrees of freedom in the ‘representation space’. Data integration is needed, but for every combination of data types, another set of operations has to be designed, understood and implemented, and a new software library has to be installed.
Solutions
In a voxel representation, 3D space is subdivided into equally sized little cubes called voxels. They form a three-dimensional matrix with indices [x,y,z], where each voxel has a feature vector, in which the elements represent properties of that ‘piece’ of space: an object identifier, a class, a material, or a physical measurement. Also, spatial relationships, such as distances, directions and zones of influence can be stored as features of voxels.
A system based on voxels is flexible and allows to extend each voxel’s feature vector with newly acquired data and with results of computations. Voxel-based spatial analysis can be expressed by sequences taken from a finite set of operations – a situation that may be compared to the simple query language of relational database management systems: the feature vectors at each voxel are like the records in a database, while implicit relations between voxels and their (direct and indirect) neighbours support ‘spatial’ operations.
Of course, flexibility has its price: when designing a spatial application, one has to know what one is doing. Everything is possible, but not necessarily correct. However, ready applications can be ‘frozen’ in recipes and scripts, they can be given GUIs and web-interfaces, and be run with different datasets and parameter settings.
Multi-scale capability
GRID envisions a voxel-based 3D Spatial Information System, where different objects may be stored at various resolution levels. A sequence of levels (0, 1, 2, 3, 4…) is defined, corresponding to voxel sizes of 6.25cm, 12.5cm, 25cm, 50cm, 1m, 2m, etc. .
Each object is stored at a level that does justice to the accuracy at which the object’s position, shape and/or variability had been measured. More importantly, every object can be retrieved from the database at a level that fits the application and the size of the area considered. The wanted level may be less detailed than the stored one, and automatic generalization (aggregation) takes place. When it is more detailed, on the other hand, the most suitable interpolation method for the datatype at hand is automatically applied.
Outcomes
GRID develops voxel-based data analysis and modelling solutions supporting different sources of point clouds and vector data from GIS and BIM: lines (cables and pipes, above and underground), surfaces, solids (buildings) and volumes (air, water, soil, rock), elongated structures (levees, dams, ducts, tunnels).