Digital Earth APIs and DGGS Language

The need for an efficient language for accessing features of DGGS aligned EO Datacube has lead to the design of an alternative to the Pipeline Processes. The PYXIS Digital Earth APis and DGGS Language uses C++ constructs for the extraction, processing, transformation, and analysis of data held within the PYXIS DGGS.  This geoprocessing language represents cells and values as C++ containers. By creating functional expression trees we allow optimizing, planning and processing infinite arrays of cells with the benefits of:
  1. Efficient basic building blocks that can be used to create more complex algorithms and processes;
  2. Optimization techniques based on the query and hardware available; and
  3. Inclusion of metadata and provenance as a product of data extraction and expression tree evaluation.
The DGGS Language is akin to the OGC WCPS standard use of Image Algebra, and it's functions are intend, over time, to align with this standard and provide a general language for any type of DGGS.

The DGGS language consists of 4 basic operations (inspired by MapReduce):
  1. Cell Iterators (Location) - Cells are the atoms that build DGGS. Cells, in the DGGS language, are first class citizens. Iterators are tools that allow to navigate (move) between cells.
  2. Selectors (Filter) - collection of basic selection functions (filters) to generate a set of cells.
  3. Calculators (Map) - DGGS Calculators are functions (or data-sets) that can be attached to cells. this how we can do analysis on coverages, vectors or values generated from a mathematical function. 
  4. Aggregators (Reduce) - collection of basic aggregate  functions (reduce) to generate spatial statistics from selectors and calculators.

Access  full API Explorer and Instructions are setting up DE Cluster environment here: 

An example of the generation and analysis of a watershed using DGGS language::