A range of functions are available to process H3 hexagon indexes in Studio expressions.

| Function | Arguments | Return Type | Description |
| --- | --- | --- | --- |
| [`geoToH3()`](https://h3geo.org/docs/api/indexing) | `real`, `real`, `integer` | `string` | Indexes the latitude, longitude location at the specified resolution, returning the index of the cell containing the location. Returns 0 on error. |
| [`h3ToLat()`](https://h3geo.org/docs/api/indexing) | `string` | `real` | Returns centroid latitude of cell (as in `geoToH3`) |
| [`h3ToLng()`](https://h3geo.org/docs/api/indexing) | `string` | `real` | Returns centroid longitude of cell (as in `geoToH3`) |
| [`h3ToCenterChild()`](https://h3geo.org/docs/api/hierarchy) | `string`, `integer` | `string` | Returns the center child (finer) index contained by h at resolution childRes. |
| [`h3ToParent()`](https://h3geo.org/docs/api/hierarchy) | `string`, `integer` | `string` | Returns the parent (coarser) index containing h. |
| [`h3IsPentagon()`](https://h3geo.org/docs/api/inspection) | `string` | `boolean` | Returns true if this index represents a pentagonal cell. |
| [`h3IsValid()`](https://h3geo.org/docs/api/inspection) | `string` | `boolean` | Returns true if this is a valid H3 index. |
| [`h3IsResClassIII()`](https://h3geo.org/docs/api/inspection) | `string` | `boolean` | Returns true if this index has a resolution with Class III orientation. |
| [`h3GetBaseCell()`](https://h3geo.org/docs/api/inspection) | `string` | `integer` | Returns the base cell number of the index. |
| [`h3GetResolution()`](https://h3geo.org/docs/api/inspection) | `string` | `integer` | Returns the resolution of the index. |
| [`h3IndexesAreNeighbors()`](https://h3geo.org/docs/api/uniedge) | `string`, `string` | `boolean` | Returns whether or not the provided H3Indexes are neighbors. Returns 1 if the indexes are neighbors, 0 otherwise. |
| [`getH3UnidirectionalEdge()`](https://h3geo.org/docs/api/uniedge) | `string`, `string` | `string` | Returns a unidirectional edge H3 index based on the provided origin and destination. Returns 0 on error. |
| [`getOriginH3Index``FromUnidirectionalEdge()`](https://h3geo.org/docs/api/uniedge) | `string` | `string` | Returns the origin hexagon from the unidirectional edge H3Index. |
| [`getDestinationH3Index``FromUnidirectionalEdge()`](https://h3geo.org/docs/api/uniedge) | `string` | `string` | Returns the destination hexagon from the unidirectional edge H3Index. |
| [`h3UnidirectionalEdgeIsValid()`](https://h3geo.org/docs/api/uniedge) | `string` | `boolean` | Determines if the provided H3Index is a valid unidirectional edge index. |
| [`h3Distance()`](https://h3geo.org/docs/api/traversal) | `string`, `string` | `integer` | Returns the distance in grid cells between the two indexes. |
| [`experimentalH3ToLocalI()`](https://h3geo.org/docs/api/traversal) | `string`, `string` | `integer` | Returns a local I coordinate for this cell anchored by an origin. |
| [`experimentalH3ToLocalJ()`](https://h3geo.org/docs/api/traversal) | `string`, `string` | `integer` | Returns a local J coordinate for this cell anchored by an origin. |
| [`experimentalLocalIjToH3()`](https://h3geo.org/docs/api/traversal) | `string`, `integer`, `integer` | `string` | Produces an H3 index from local IJ coordinates anchored by an origin. This function is experimental, and its output is not guaranteed to be compatible across different versions of H3. |
| [`degsToRads()`](https://h3geo.org/docs/api/misc) | `real` | `real` | Converts degrees to radians. |
| [`radsToDegs()`](https://h3geo.org/docs/api/misc) | `real` | `real` | Converts radians to degrees.
