Discrete Global Grid Systems (DGGS) have emerged as a transformative approach to minimizing spatial distortions in geospatial data processing. Unlike traditional methods that merely name locations, DGGS offer a highly efficient data structure capable of reducing storage requirements by up to 33% compared to the current Sentinel-2 UTM tiling grid. The performance of operations on DGGS native data cubes is intrinsically linked to the cell index, which plays a crucial role in data management and retrieval.
Most DGGS implementations utilize a hierarchical one-dimensional index to name and sort cells, optimizing them for parent-child queries. This structure is particularly beneficial for operations such as upscaling and downscaling, which are essential for integrating data with varying spatial resolutions. However, many real-world applications, such as visualization, fluid dynamics, and convolutions, require efficient handling of distant neighbor queries based on spatial distances. These applications often rely on bounding boxes or moving windows, which are not optimally supported by traditional DGGS implementations.
In response to these challenges, we introduce DGGS.jl, a Julia package specifically developed to create and utilize DGGS native data cubes optimized for distant neighbor queries. Our package employs the DGGRID Q2DI index to store data on a hexagonal ISEA4H grid, enabling compact and efficient data cube arrays. We have implemented methods to seamlessly convert raster data between geographic and Q2DI coordinates, access neighbor disks around a given cell, and visualize these data on a global scale.
To demonstrate the practical application of DGGS.jl, we present a hands-on workshop of our Julia package DGGS.jl to convert traditional geographical data cubes into DGGS native data cubes. Furthermore, we show how to process those data cubes and how to access neighbors and regions around given coordinates.