Mosaic v0.3.0 is out

Erni Durdevic
2 min readOct 2, 2022

--

Following the announcement of Databricks built-in H3 functions, Mosaic is now leveraging the built-in Databricks functions when available (DBR 11.2+ with Photon enabled), and will fall back to the Mosaic implementation otherwise.

This will make it consistent with the built-in functions and get the maximum performance out of the H3 grid system functions.

We took the chance to refactor the grid indexing function names (the previous functions are still available but deprecated) to align the naming convention with the Databricks built-in functions and make them clearer.

We prefixed all grid functions with "grid_

mosaicfill            ->      grid_tessellate
mosaic_explode -> grid_tessellateexplode
index_geometry -> grid_boundaryaswkb
point_index_lonlat -> grid_longlatascellid
polyfill -> grid_polyfill
point_index_geom -> grid_pointascellid

and we clarified the concept of “tessellation” for the operations that “cut” a shape over a grid’s cell boundaries (This concept was discussed in this blog post).

Example of H3 grid tessellation with Mosaic

You can check out the details on the spatial indexing docs page.

From version 0.3.0 onwards, if you are using Mosaic with the H3 grid system, the following functions will be forwarded to the corresponding built-in one:

grid_boundaryaswkb     ->      h3_boundaryaswkb
grid_longlatascellid -> h3_longlatash3
grid_polyfill -> h3_polyfillash3

These changes are setting the stage for many exciting features coming up soon.

Many thanks to the contributors that worked on this release: Milos Colic, Michael Johns, Robert Whiffin, Tim Dikland, and myself. Stay tuned by following us on LinkedIn.

--

--