Computes and manipulates Discrete Global Grid (DGGS) hierarchical spatial indexes, and enables spatial data to be grouped into grid cells for analysis and visualization.
Typical Uses
Replace the point geometry of a feature with the grid cell that contains it
Calculate the grid cell index for a given point at a resolution closest to the desired cell span
Return all the grid cell indices that are contained by an area, so that spatial containment can be done by comparing indices
Return all the neighbor grid cell indices of a given index
Return the parent (lower resolution) grid cell index of a given index
Return all the child (higher resolution) grid cell indices of a given index.
How does it work?
The DGGSIndexer provides easy access within an FME workflow to the key operations made available by the open source dggal library. To install the library, please follow the instructions on Installing Python Packages to FME Form to run the following install:
fme python -m pip install dggal
This library provides an interface to the following Discrete Global Grids:
GNOSIS Global Grid
Icosahedral Snyder Equal Area Hexagonal 3 (ISEA3H)
Icosahedral Snyder Equal Area Rhombic 9 (ISEA9R)
Icosahedral Vertex-oriented Great Circle Equal Area Hexagonal 3 (IVEA3H)
Icosahedral Vertex-oriented Great Circle Equal Area Rhombic 9 (IVEA9R)
Rhombic Triacontahedron Equal Area Hexagonal 3 (RTEA3H)
Rhombic Triacontahedron Equal Area Rhombic 9 (RTEA9R)
rHEALPix Global Grid
Discrete Global Grids partition the earth into a hierarchical set of polygons which can be denoted by unique identifiers, with the size of the polygon decreasing and the number of polygons incereasing as the level increases. Depending on the grid chosen, polygons can be hexagonal, rectangular or rhomboid.
The transformer operates on one feature at a time, doing the requested index operation, and optionally changing the geometry to the polygon of the computed index or removing the geometry entirely. Operations which result in several indices being returned (such as neighbor or child computation) copy the input feature for each resulting index, adding the computed index as a new attribute and optionally changing the geometry.
The most common operation is to compute an index cell polygon for an appropriate-for-use resolution and replace the geometry of the feature with this polygon for downstream aggregation (typically by a StatisticsCalculator) for visualization.
Another common use case is to calculate the index and remove the geometry, so that downstream storage and analysis operate only on the index and thus can be done using relational rather than spatial computation.
This transformer is implemented such that there is always one feature per grid cell index. Only one index will be read per input feature and one output feature will be generated for every grid Index that is output. The output features will be clones of the input feature except for the new data and any changes to geometry specified by the Geometry Handling parameter.
Would you like to know more? Click here to find out more details!