=Paper= {{Paper |id=Vol-2323/SKI-Canada-2019-7-6-1 |storemode=property |title=Discrete Global Grid Systems: Operational Capability of the Current State of the Art |pdfUrl=https://ceur-ws.org/Vol-2323/SKI-Canada-2019-7-6-1.pdf |volume=Vol-2323 |authors=Ben Bondaruk,Steven A. Roberts,Colin Robertson }} ==Discrete Global Grid Systems: Operational Capability of the Current State of the Art== https://ceur-ws.org/Vol-2323/SKI-Canada-2019-7-6-1.pdf
Spatial Knowledge and Information Canada, 2019, 7(6), 1



Discrete Global Grid Systems: Operational
Capability of the Current State of the Art
BEN BONDARUK                      STEVEN A. ROBERTS                        COLIN R OBERTSON
Department of Geography &         Department of Geography &                Department of Geography &
Environmental Management          Environmental Studies                    Environmental Studies
University of Waterloo,           Wilfrid Laurier University               Wilfrid Laurier University
Department of Geography &         sroberts@wlu.ca                          crobertson@wlu.ca
Environmental Studies
Wilfrid Laurier University
vbondaruk@uwaterloo.ca

                                                  essential. As a result, new methods for
ABSTRACT                                          integrating, transmitting and representing
The     paper     compares     two    current     spatial data are required. Discrete Global
implementations of Discrete Global Grid           Grid Systems (DGGS) have been proposed
Systems as potential new data models for          as a new model for spatial data
spatial data representation, integration, and     representation, integration and analysis
analysis. It outlines suitability of such         suited to the current data-rich environment
structures for spatial data modelling and         (Li, 2013; Mahdavi-Amiri et el., 2016).
GIS applications, as well as documents the           DGGS are hierarchical tessellations of
core criteria necessary for their successful      regular shaped polygons (Figure 1.0)
implementation. An experimental analysis          initially designed as a global reference
is performed in order to determine the            system for mapping and navigational
current state of their development and their      purposes (Purss, Gibb, Samavati, Peterson
practical applicability for data integration,     & Ben, 2016).
analysis and visualization. The work
concludes with a reflection on the current
implementations compared to the industry
standards and some future projections of
geospatial analysis within Discrete Global
Grid Systems framework.

1. Introduction
    Spatial data handling and integration has
become one of the prevailing needs in
geospatial analysis and computation. In the
modern digital context spatial data are
usually collected and stored as either raster
or vector representations, along with
attribute data for these spatial features
(Mahdavi-Amiri, Alderson & Samavati,
2016). These representations have evolved
to serve a number of specialist communities
and workflows in GIS analysis (e.g.,                  Figure 1.0. Example of a hierarchical structure of the Earth
satellite-based remote sensing); however           surface using hexagon shapes for the cell refinement generated
with continuing increases in spatial data                            for the purposes of this study.
heterogeneity and volume, the necessity for
efficient data integration has become
2   Discrete Global Grid Systems


Over time, due to its discrete construction      requirements of the selected software
DGGS have also started to be used as a data      libraries to the released OGC standards. It is
structure for consistent storage, reference      very likely that certain requirements might
and analysis of spatial data and its attribute   not be met by either of the software,
information. DGGS suggest a different            suggesting further advancing of DGGS
approach for geospatial data handling that       packages. Both H3 and OpenEAGGR are
allows interoperability of resources and         open source software available via the
elimination of inaccurate and complex data       GitHub source code repository (Uber, 2015;
synthesis operations (Purss et el., 2016).       Riskaware, 2017).
   In order for a grid network to qualify as        For the testing purposes both libraries
DGGS it must consist of core elements            were built directly from their source in their
documented and summarized in the Open            natural development environments. This
Geospatial Consortium (OGC) standard data        step is necessary in order to gain access to
protocol (Open Geospatial Consortium,            the full list of available functionality, which
2017). The work of Goodchild and Kimerling       might not be available through other
(2002), on defining DGGS and some of their       language bindings. In particular, the H3
core requirements, have contributed greatly      library is built from its source using CMake
to the overall advancement of this new data      packaging       software,     Visual      Studio
standard; yet some of the earlier research on    development environment with integrated
DGGS had already begun in the 1980s              C++ compiler; whereas OpenEAGGR is built
(Dutton, 1984). Their initial ideas and          using the MinGW compiler and Eclipse
thoughts served as the basis for a fully         development environment. In addition,
functional and well-designed DGGS data           JavaScript binding for H3 and Python
standards set by OGC. OGC requirements           binding for OpenEAGGR libraries were also
were put in place in order to guarantee the      used in order to evaluate their flexibility and
explicit resolution, area preservation and       ease of use. Although not a requirement the
positional uniqueness at each level of           libraries were also evaluated based on their
hierarchy which account for scale                availability for programing language
differences and spatial distortion globally.     bindings for the user’s convenience.
   In addition, the unique topological              In this study the main focus is put on
properties of regular shape tessellation         hexagon shape structures due to their
might also naturally suggest looking for new     availability on both platforms, as well as
forms of spatial analysis. The referencing       their advantages in sampling, circularity,
and indexing mechanisms, on the other            packing and uniform connectivity properties
hand, provide reliable methods to access,        over the other regular shapes (e.g., triangles,
store and retrieve data. As a result, various    squares) (Li, 2013; Peterson, 2017). The
algorithms might integrate the existing          particular interest of this study is to evaluate
indexing system for data assimilation via the    the operational capability of both libraries.
refinement methods using the above               In other words, the aim is to test practical
properties (Peterson, 2017; Purss el al.,        applications of available DGGS software for
2016).                                           their basic functionality, such as importing
   The aim of this paper is an in-depth          of spatial data, querying spatial analysis
analysis of two DGGS implementation: the         algorithms as well as exporting and
H3 (Uber, 2015) and OpenEAGGR                    visualizing the end results.
(Riskaware, 2017) open source software
libraries. In addition, their operational and    3. Results
practical applications are also reviewed.           A summary of H3 and OpenEAGGR
                                                 implementations    compared   to   OGC
2. Methods                                       standards is outlined in Table 1.0. The
  The following section outlines the             existing DGGS software provide a
methodology for comparing core data model        comprehensive approach for geocoding,
Discrete Global Grid Systems                                                                                                             3


indexing, addressing and processing                                  consecutive cell’s location of a higher
geospatial data into discrete forms. Due to                          resolution, whereas offset addressing uses
their hierarchical structures, positional                            fixed axis orientation and offset distances
uniqueness and discrete representation of                            from their origin to determine location of a
spatial resolution, DGGS are gaining                                 cell (Bush, 2017). Both implementations use
popularity and acceptance in the modern                              an icosahedron as a base polyhedron for
geospatial analysis and data integration.                            creating planar faces approximating a
                                                                     sphere. The grid partitioning method of H3
3.1 Technical specifications                                         uses hexagon aperture 7, whereas
                                                                     OpenEAGGR incorporates both hexagon
    A detailed technical analysis show basic                         aperture 3 and triangle aperture 4
functionality of DGGS for modeling Earth’s                           hierarchical models (Uber, 2015; Riskaware,
surface via hierarchical networks of equal                           2017). Aperture is a method known to
area     cells.  Both     libraries   support                        partition a DGGS cell using additional
hierarchical tessellation of regular polygons                        partial self-similar shapes (e.g., hexagons)
at increasingly fine resolutions up to a m 2                         in order to preserve equal area property
and cm2 in areal size for H3 and                                     across multiple resolutions (Figure 2.0).
OpenEAGGR respectively (Uber, 2015;
Riskaware, 2017). Each cell has a unique
index and is accessible throughout the
hierarchies. The given software also
provides functionality to convert from
latitude-longitude coordinates to DGGS
indexes and vice versa referencing all cell                               Figure 2.0. Hierarchical partition of space using hexagon
centroids.                                                                 apertures 3 (left), 4 (middle) and 7 (right) (Sahr, 2013).
    Since addressing and referencing are two
major properties of DGGS (criteria 11-12)                               The results of this subsection indicate
(Table 1.0) it is important to mention that                          that both implementations fail to meet the
H3 and OpenEAGGR use hierarchy-based                                 complete list of required criteria outlined by
and offset coordinate addressing structure                           OGC and therefore cannot be classified as
for hexagonal cell systems respectively.                             fully functional DGGS (Table 1.0).
Hierarchical addressing is based on the
lower resolution grid to find next


Table 1.0: The following table outlines a core set of criteria to be met by software and classified as DGGS. The
table also summarizes technical specifications of H3 and OpenEAGGR libraries and compares them to the OGC
standards.
Criteria   OGC Requirement     H3            OpenEAGGR     Notes
1          Core Data Model     ()          ()          This requirement includes definition of conceptual data model of DGGS
                               Partial       Partial       including reference frame (criteria 2-13) and functional algorithms
                               fulfillment   fulfillment   (criteria 14-18) elements, which are partially fulfilled by each library.
2          Area                ()           ()           Guarantees the coverages of the entire globe. Each library fulfills the
                               Fulfilled     Fulfilled     requirement for covering the entire surface of the earth.
3          Overlap             ()           ()           Ensures positional uniqueness without overlapping cells. Theoretically,
                               Fulfilled     Not           this requirement is met by both libraries; however practical application of
                                             fulfilled     OpenEAGGR fails to meet the requirement (see Figure 3.0).
4          Tessellation        ()           ()           Forms a sequence of hierarchical tessellations at multiple spatial
           sequence            Fulfilled     Fulfilled     resolutions. Both libraries are capable of generating hierarchical grids at
                                                           various resolutions.
5          Area preservation   ()           ()           A total surface area must be preserved throughout hierarchical
                               Fulfilled     Not           tessellations. The following requirement is not met by OpenEAGGR due
                                             fulfilled     to the overlapping cells in criterion 3 and perhaps inconsistent geometry
                                                           of the offset coordinate system.
4     Discrete Global Grid Systems



Table 1.0: Continued.
Criteria   OGC Requirement        H3          OpenEAGGR     Notes
6          Shape                  ()         ()           DGGS cells must be formed of simple regular polygons. Both libraries
                                  Fulfilled   Fulfilled     have met the requirement with H3 using mostly hexagons and
                                                            OpenEAGGR mostly hexagons and triangles (see criterion 8).
7          Equal area             ()         ()          Any DGGS implementation will have equal area uncertainties of cells
           precision              Not         Partial       caused by the factors such as converging calculation, the rate of
                                  fulfilled   fulfillment   convergence or the precision of real numbers (e.g., ) used to calculate
                                                            DGGS cell geometry. H3 seems to omit such technical details for the
                                                            computational precision of equal area cells, whereas OpenEAGGR
                                                            summarizes some technical benchmarks in its prototype evaluation
                                                            framework (Bush, 2017).
8          Equal area             ()         ()           For each successive resolution equal area cells must be defined within the
                                  Fulfilled   Fulfilled     specified level of precision. Both libraries are constructed on the
                                                            icosahedron with H3 using equal area hexagons and OpenEAGGR –
                                                            hexagons and triangles. The only exception is that both hexagon grid
                                                            libraries contain 12 pentagon cells centered at each icosahedron vertices
                                                            and resolution. Pentagon cells are necessary in order to tile the sphere
                                                            completely.
9          Initial tessellation   ()         ()           The initial partition of a sphere must be specified as a base unit
                                  Fulfilled   Fulfilled     polyhedron. Both libraries meet the requirement and use an icosahedron
                                                            as a base.
10         Refinement             ()         ()           Cell refinement methods and maximum number of refinements must be
           (aperture)             Fulfilled   Fulfilled     specified for each DGGS. H3 uses hexagonal aperture 7 grid partitioning
                                                            method, whereas OpenEAGGR triangular aperture 4 and hexagonal
                                                            aperture 3 cell partitioning.
11         Addressing             ()         ()           A spatial referencing method for an assignment of a unique identifier
                                  Fulfilled   Fulfilled     (index) must be specified. H3 implements hierarchy-based indexing
                                                            method, whereas OpenEAGGR uses hierarchical indexing for triangular
                                                            and offset coordinate indexing for hexagonal cell systems.
12         Spatial reference      ()         ()           A unique identifier must be assigned to each DGGS cell. Both libraries
                                  Fulfilled   Fulfilled     meet this requirement by assigning unique index to each DGGS cell using
                                                            both hierarchical-based and offset coordinate indexing methods.
13         Cell centroid          ()         ()           The location of each DGGS cell must be referenced by the location of
                                  Fulfilled   Fulfilled     their centroids. Both libraries meet this property. It was tested by
                                                            converting random latitude-longitude coordinates to a DGGS cell and
                                                            vice versa. The new output coordinates were assigned to the cell
                                                            centroids.
14         Quantization           ()         ()           Quantization methods for assigning and retrieval of data to individual
                                  Not         Not           DGGS cells must be documented; however such functionalities are not
                                  fulfilled   fulfilled     supported at this stage of the development.
15         Cell navigation        ()         ()          Methods for hierarchical and neighbourhood navigation must be
                                  Fulfilled   Partial       provided. The H3 library is equipped with functions for navigating
                                              fulfillment   between different resolutions and neighbouring cells. The OpenEAGGR
                                                            library, however, does not support the neighbourhood query, but only
                                                            the navigation queries through hierarchy.
16         Spatial analysis       ()         ()           Methods for performing simple spatial analysis operations on the grids
                                  Not         Fulfilled     must be provided. At this stage of the development only OpenEAGGR
                                  fulfilled                 library is equipped with spatial analysis functions, such as equals,
                                                            contains, intersects, etc. for two DGGS shape objects.
17         Query                  ()         ()          Methods for receiving, interpreting and processing data queries by DGGS
                                  Not         Partial       algorithms must be provided. The OpenEAGGR library supports
                                  fulfilled   fulfillment   integration with third party software, however those extensions are
                                                            challenging to use due to the outdated technical support for the newer
                                                            software releases.
18         Broadcast              ()         ()          Methods for integration, processing and transmitting data to external
                                  Not         Partial       applications or web-based clients must be provided. The OpenEAGGR
                                  fulfilled   fulfillment   library also provides theoretical broadcasting functionality to external
                                                            applications, however due to the limited technical support this property
                                                            was not deployed in this study.
Discrete Global Grid Systems                                                                                                      5




                                                                    However, their applications are limited to
                                                                    their development environments and must
                                                                    be executed via direct function calls from
                                                                    within. In other words, the libraries do not
                                                                    support a user friendly interface.
                                                                       In addition, their practical applications
                                                                    for importing user data, performing spatial
                                                                    analysis as well as exporting and visualizing
                                                                    the end result still requires further
                                                                    development. The integration with other
                                                                    third party software should be more
   Figure 3.0. Example of the failed requirements for positional
  uniqueness and area preservation due to the overlapping cells
                                                                    effortless, with up-to-date technical support.
           generated via OpenEAGGR software library.                   On the bright side, both libraries provide
                                                                    seamless     functionality    of coordinate
3.2 Operational proficiency                                         conversion to a DGGS cell indexes for
                                                                    individual point locations at different
   Both H3 and OpenEAGGR libraries                                  resolutions, which is also illustrated in
deliver a reasonable amount of functionality                        practice (Figures 4.0, 5.0).
(Table 2.0) in order to meet basic DGGS
requirements for operational capability of
conversion, query and search across DGGS
hierarchy.
Table 2.0: Outlines the list of available language
bindings, software extensions and API functions for
H3 and OpenEAGGR libraries.
Evaluation    H3                      OpenEAGGR
Language      Erlang                  C
bindings      Go                      C++
              Java                    Java
              JavaScript              Python
              OCaml
              PHP
              Python
              R
Software                              PostgreSQL/PostGIS
extensions                            Elasticsearch
Basic API     geoToH3                 convertPointToDggsCell
functions     h3ToGeo                 convertShapesToDggsShapes
              h3ToGeoBoundary         convertShapeStringToDggsSh
              h3GetResolution         apes                              Figure 4.0. Conversion of Toronto’s latitude longitude
              h3GetBaseCell           convertDggsCellToPoint         coordinates into DGGS cells via H3 library. The images are at
              stringToH3              convertDggsCellsToPoints      DGGS resolution 1 (top) and 14 (bottom), which are equivalent to
              h3ToString              convertDggsCellsToShapeStri                   2                 2
                                                                          the 6.3 m and 607,221 km average surface area.
              h3IsValid               ng
              h3IsPentagon            getCellParents
              kRing                   getCellChildren
              kRingDistances          getCellSiblings
              h3ToParent              getBoundingCell
              h3ToChildren            createKmlFile
              compact                 convertDggsCellOutlineToSha
              uncompact               peString
              polyfill                compareShapes
              hexAreaKm2
              hexAreaM2
              numHexagons
6      Discrete Global Grid Systems




        Figure 5.0. Conversion of Toronto’s latitude longitude
      coordinates into DGGS cells via OpenEAGGR library. The
                                                        2
    resolutions accuracy were approximated to 1000 m (top) and
                             2
           1,000,000,000 km (bottom) of the surface area.
                                                                 Figure 6.0. Performing a search query of neighboring cells via H3
                                                                 kRing function with ring distance of 10 (top) and 1 (bottom) from
   Cell navigation functionality is also well                                        a cell of interest (black).
implemented by the H3 library, which
allows performing basic distance and search
queries in order to identify and generate
neighboring hexagons within a desired
distance from a cell of interest (Figure 6.0).
The OpenEAGGR library, however, lacks
such functionality and only supports basic
parent-child cell relationship (Figure 7.0).
Furthermore, the developers indicate that
parent-child queries perform significantly
worse for hexagonal grids due to the
implemented offset coordinate indexing
system     (Bush,    2017).     With    offset
coordinates the parent-child identification is
based purely on the grid geometry, which
might lead to the sources of error for
positional     uniqueness        and     area
preservation. As a result, it is suggested to
use caution when integrating offset
coordinate indexing system for DGGS
implementation.
                                                                  Figure 7.0. Performing a parent search query via OpenEAGGR
                                                                     getCellParents function for high (top) and low (bottom)
                                                                                         resolution cells.
Discrete Global Grid Systems                                                                                                        7



                                                                       In comparison, the H3 library does not
   The H3 library also supports more                                support built-in functionality for exporting
advanced functionalities, such as filling                           shape geometries directly. As a result, a
polygon areas with hexagons as well as                              script for converting such data objects into
compressing them into more efficient                                GeoJSON file format was implemented
representation (Figure 8.0).                                        separately in order to visualize the output
                                                                    via third party applications such as Google
                                                                    Earth or geojson.io.




                                                                           EQUALS                  False
                                                                           CONTAINS                False
                                                                           WITHIN                  False
                                                                           TOUCHES                 False
                                                                           DISJOINT                False
                                                                           INTERSECTS              True
                                                                           COVERS                  False
                                                                           COVERED_BY              False
 Figure 8.0. The above figure demonstrates H3 functionality for            CROSSES                 False
tessellating area of interest (top) with hexagons (bottom, grey),          OVERLAPS                True
as well as the ability to compact them into a more concise shape      Figure 9.0. The above figure demonstrates output of spatial
                            (bottom, blue)                           analysis queries performed on two DGGS cell shapes via Open
                                                                                             EAGGR library.
Although they are useful, these APIs might
not be classified as spatial analysis functions
for performing operations and determining                           4. Conclusion
relationship between DGGS cells. The                                   Traditional spatial analysis includes
OpenEAGGR, on the other hand, does                                  multiple techniques to study geographic
support spatial analysis APIs for shape                             phenomena by interacting with existing data
comparison of DGGS cells, linestrings and                           related to a specific geographic location.
polygons with variety of available operations                       Such data are then used to extract
(Figure 9.0).                                                       meaningful information with the help of
   Visualization is not inherently available                        computer processing and applications.
in the tested libraries. In other words, in                         Several problems might occur during such a
order to visualize the output results the                           chain of events, but integration of multiple
object or shape must be exported into one of                        data sources at once is an important aspect
the available file formats, such as GeoJSON                         of the problem. DGGS set a benchmark for a
or KML via OpenEAGGR APIs; however,                                 more scalable and comprehensive data
this functionality might not be applicable to                       handling that can be distributed across
all DGGS shapes. If export is not possible                          different platforms and accessed via the
the spatial data objects will remain stored in                      web, and therefore have been investigated in
memory and could be accessed via direct                             detail in this paper.
memory calls as a workaround.
8   Discrete Global Grid Systems



   Both H3 and OpenEAGGR software               References
deliver basic functionality of DGGS,            Bush, I. (2017). OpenEAGGR literature
however cannot be classified as such due to        review & prototype evaluation. [online]
the unfulfilled OGC requirements (Table            Retrieved      August      2018,      from
1.0). It was found that H3 library is missing      https://github.com/riskaware-ltd/open-
some of the key functionality for assigning        eaggr/blob/master/Documents/Literatur
and retrieval of spatial data, data                e%20Review%20%26%20Prototype%20
quantization as well as basic spatial              Evaluation.pdf
analysis,      query     and     broadcasting   Dutton, G. (1984). Part 4: Mathematical,
functionalities. The OpenEAGGR library is          Algorithmic and Data Structure Issues:
more successful with spatial analysis, data        Geodesic Modelling Of Planetary Relief.
query and broadcasting implementations,            Cartographica:       The     International
yet still lacks support for data quantization      Journal for Geographic Information and
and some essential properties of positional        Geovisualization,     21(2-3),    188-207.
uniqueness and area preservation.                  doi:10.3138/r613-191u-7255-082n
   Both implementations provide great           Goodchild, M. F, & Kimerling, A. (2002).
variety of language bindings available for         Discrete Global Grids: A Web Book.
integration with third party applications          Retrieved      August      2018,      from
(Table 2.0), however not all of them are at        https://escholarship.org/uc/item/9492q
the same level of development. In terms of         6sm
the current progress, it also seems that the    Li, X. (2013). Storage and addressing
H3 project undergoes more rapid                    scheme for practical hexagonal image
development compared to the OpenEAGGR              processing. Journal of Electronic
and has greater functional availability. New       Imaging, 22(1), 010502. doi:10.1117
H3 features and corrections are being              /1.jei.22.1.010502
implemented regularly, and connections          Mahdavi-Amiri, A., Alderson, T., &
with other third party software continuously       Samavati, F. (2016). Data Management
explored for data query and broadcasting.          Possibilities for Aperture 3 Hexagonal
This includes Uber’s own operational needs         Discrete Global Grid Systems. Retrieved
for dynamic optimization of ride prices, as        August 2018, from http://dx.doi.org
well as spatial decision making on a city          /10.5072/PRISM/30988
level (Uber, 2018). As of now, however, the     Open Geospatial Consortium. (2017).
current open source implementations are            Discrete Global Grid Systems Abstract
not at the point where they can be used at         Specification. [online] Retrieved August
the larger scales with convenience and             2018, from http://docs.opengeospatial.
minimal technical experience.                      org/as/15-104r5/15-104r5.html.
   Therefore, all these components should       Peterson, P. (2017). Discrete Global Grid
receive additional attention in order to           Systems. International Encyclopedia Of
make them more practical and possible for          Geography:       People,     The    Earth,
average users to tailor for their specific         Environment And Technology, 1-10. doi:
needs. Once accomplished, however, it is           10.1002/9781118786352.wbieg1050
very likely that DGGS will set new standards    Purss, M., Gibb, R., Samavati, F., Peterson,
for geospatial analysis and open up new            P., & Ben, J. (2016). The OGC® Discrete
research prospects.                                Global Grid System core standard: A
                                                   framework       for    rapid     geospatial
Acknowledgements                                   integration. 2016 IEEE International
   This work was funded by the Global              Geoscience     And     Remote      Sensing
Water Futures Programme through the                Symposium (IGARSS). doi: 10.1109
Global Water Citizenship Project.                  /igarss.2016.7729935
Discrete Global Grid Systems                                                           9



Riskaware Ltd. (2017). OpenEAGGR (Open         Uber Technologies Inc. (2015). H3: A
   Equal Area Global GRid). Retrieved            hexagonal     hierarchical    geospatial
   August 2018, from https://github.com          indexing system. Retrieved August 2018,
   /riskaware-ltd/open-eaggr/                    from https://uber.github.io/h3/#/
Sahr, K. (2013). On the Optimal                Uber Technologies Inc. (2018). H3: Uber’s
   Representation of Vector Location using       hexagonal hierarchical spatial index.
   Fixed-Width Multi-Precision Quantizers.       Retrieved    November      2018,   from
   ISPRS - International Archives of the         https://eng.uber.com/h3/
   Photogrammetry, Remote Sensing and
   Spatial Information Sciences, XL-4/W2,
   1-8. doi:10.5194/isprsarchives-xl-4-w2-1-
   2013