Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Databricks SQL
Databricks Runtime
H3 es un sistema de indexación de cuadrícula global. Los sistemas de cuadrícula usan una forma, como rectángulos o triángulos, para teselar una superficie, que en este caso es la superficie de la Tierra. El sistema H3 fue diseñado para usar hexágonos (y algunos pentágonos) y ofrece 16 niveles de resoluciones dentro de su jerarquía. A resoluciones más altas, las formas teseladas son más pequeñas.
Las expresiones H3 solo se admiten en clústeres habilitados para Photon y almacenes de Databricks SQL en los niveles Databricks SQL pro y sin servidor.
Obtenga más información sobre las resoluciones de H3 y sobre los orígenes de H3.
Consulte también:
- Inicio rápido de H3 (Databricks SQL)
- Ejemplo de funciones geoespaciales H3
- Lista alfabética de funciones geoespaciales H3
H3 para el análisis geoespacial (Geoespatial Analytics)
H3 admite un patrón común para procesar y analizar datos espaciales. Empiece por indexar datos geoespaciales de formatos estándar (latitud y longitud, texto conocido (WKT), binario conocido (WKB) o GeoJSON a identificadores de celda H3. Con un único conjunto de datos, puede agregar por identificador de celda para responder a preguntas controladas por la ubicación. Con varios conjuntos de datos indexados, puede combinarlos mediante los identificadores de celda, revelando cómo se relacionan los conjuntos de datos dispares entre sí. Esta combinación de conjuntos de datos es semánticamente una combinación espacial, pero sin necesidad de un predicado espacial.
¿Cuáles son las ventajas de usar H3 en Databricks?
Saque provecho de las características de Delta Lake para un almacenamiento y un diseño eficientes de los datos indexados de H3. La operación de Delta Lake con ordenación Z (en identificadores de celda H3) permite co-localizar datos espacialmente. Además, los algoritmos de omisión de datos de Delta Lake utilizan la colocalización para minimizar ingeniosamente el volumen de datos que se deben leer.
Tiene flexibilidad en cómo trabajar con los datos. Puede elegir trabajar con identificadores de celda H3 almacenados como valores enteros grandes o cadenas. Para obtener el mejor rendimiento mediante identificadores de celda H3, use la representación de entero grande. Para obtener un uso detallado de expresiones H3, consulte la Guía de referencia de SQL.
Nota:
No es necesario instalar la biblioteca de H3. Se incluye como una dependencia visible en Databricks Runtime, a partir de Databricks Runtime 11.2, con la versión 3.7.0 de la biblioteca Java de H3.
Importación de funciones de Databricks para obtener H3 (Databricks Runtime)
No se necesita ninguna importación para Databricks SQL y Spark SQL.
Para importar funciones H3 para Python o Scala en cuadernos, use los siguientes comandos:
Pitón
from pyspark.databricks.sql import functions as dbf
Scala
import com.databricks.sql.functions._
Lista de funciones geoespaciales H3 (Databricks SQL)
Importar
Función | Descripción |
---|---|
h3_coverash3(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de id. de celda H3 (representados como BIGINT) correspondiente al conjunto mínimo de hexágonos o pentágonos, de la resolución especificada, que cubre completamente la geografía lineal o del área de entrada. |
h3_coverash3string(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de id. de celda H3 (representados como STRING) correspondiente al conjunto mínimo de hexágonos o pentágonos, de la resolución especificada, que cubre completamente la geografía lineal o del área de entrada. |
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) | Esta función se usa para obtener el id. de celda H3 (en formato BIGINT) que se corresponde con la longitud y la latitud que se proporcionan en la resolución que se especifique. |
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) | Esta función se usa para obtener el id. de celda H3 (como valor STRING hexadecimal) que se corresponde con la longitud y la latitud que se proporcionan en la resolución que se especifique. |
h3_pointash3(geographyExpr, resolutionExpr) | Devuelve el ID de celda H3 (como un BIGINT) correspondiente al punto proporcionado con la resolución especificada. |
h3_pointash3string(geographyExpr, resolutionExpr) | Devuelve el id. de celda H3 (en forma de STRING) que se corresponda con el punto proporcionado en la resolución que se especifique. |
h3_polyfillash3(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de identificadores de celda H3 (representados como BIGINT) correspondiente a hexágonos o pentágonos, de la resolución especificada, que contiene la geografía del área de entrada. |
h3_polyfillash3string(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de identificadores de celda H3 (representados como STRING) correspondiente a hexágonos o pentágonos, de la resolución especificada, contenidos en la geografía del área de entrada. |
h3_tessellateaswkb(geographyExpr, resolutionExpr) | Devuelve una teselación de la geografía de entrada mediante celdas H3 en la resolución especificada. |
h3_try_coverash3(geographyExpr, resolutionExpr) | Devuelve una MATRIZ de identificadores de celda H3 (representados como BIGINT) correspondientes al conjunto mínimo de hexágonos o pentágonos, de la resolución especificada, que cubre completamente la geografía lineal o de área de entrada, o NULL si el primer argumento no es válido. |
h3_try_coverash3string(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de id. de celda H3 (representados como STRING) correspondiente al conjunto mínimo de hexágonos o pentágonos, de la resolución especificada, que cubre completamente la geografía lineal o del área de entrada o NULL si el primer argumento no es válido. |
h3_try_polyfillash3(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de identificadores de celda H3 (representados como BIGINT) correspondiente a hexágonos o pentágonos, de la resolución especificada, que contiene la geografía del área de entrada. |
h3_try_polyfillash3string(geographyExpr, resolutionExpr) | Devuelve un valor ARRAY de identificadores de celda H3 (representados como STRING) correspondiente a hexágonos o pentágonos, de la resolución especificada, contenidos en la geografía del área de entrada. |
h3_try_tessellateaswkb(geographyExpr, resolutionExpr) | Devuelve una teselación de la geografía de entrada mediante celdas H3 en la resolución especificada, o NULL si el primer argumento no es válido o la función no pudo calcular una teselación. |
Exportación
Función | Descripción |
---|---|
h3_boundaryasgeojson(h3CellIdExpr) | Devuelve el límite poligonal de la celda H3 de entrada en formato GeoJSON. |
h3_boundaryaswkb(h3CellIdExpr) | Devuelve el límite poligonal de la celda H3 de entrada en formato WKB. |
h3_boundaryaswkt(h3CellIdExpr) | Devuelve el límite poligonal de la celda H3 de entrada en formato WKT. |
h3_centerasgeojson(h3CellIdExpr) | Devuelve el centro de la celda H3 de entrada como punto en formato GeoJSON. |
h3_centeraswkb(h3CellIdExpr) | Esta función se usa para obtener el centro de la celda H3 de entrada como punto en formato WKB. |
h3_centeraswkt(h3CellIdExpr) | Devuelve el centro de la celda H3 de entrada como punto en formato WKT. |
Conversiones
Función | Descripción |
---|---|
h3_h3tostring(h3CellIdExpr) | Convierte el identificador de la celda H3 de entrada en su representación de cadena hexadecimal equivalente. |
h3_stringtoh3(h3CellIdStringExpr) | Convierte la cadena de entrada, que se espera que sea una cadena hexadecimal que represente un Id. de celda H3, en la representación BIGINT correspondiente del Id. de celda H3. |
Predicados
Función | Descripción |
---|---|
h3_ischildof(h3CellId1Expr, h3CellId2Expr) | Devuelve “true” si el primer Id. de celda H3 equivale a un elemento secundario del segundo Id. de celda H3 o si es uno de ellos. |
h3_ispentagon(h3CellIdExpr) | Devuelve true si la entrada BIGINT o el valor hexadecimal STRING corresponde a una celda H3 pentagonal o no. |
Validez
Función | Descripción |
---|---|
h3_isvalid(expr) | Al ejecutar esta función, se devuelve el valor true si la expresión BIGINT o STRING de entrada es un id. válido de celda H3. |
h3_try_validate(h3CellIdExpr) | Devuelve el valor de entrada, que es del tipo BIGINT o STRING, si corresponde a un Id. de celda H3 válido; de lo contrario, devuelve NULL. |
h3_validate(h3CellIdExpr) | Devuelve el valor de entrada, que es del tipo BIGINT o STRING, si corresponde a un identificador de celda H3 válido o, de lo contrario, emite un error. |
Relacionado con la distancia
Función | Descripción |
---|---|
h3_distance(h3CellId1Expr, h3CellId2Expr) | Devuelve la distancia de cuadrícula de los dos identificadores de celda H3 de entrada. |
h3_hexring(h3CellIdExpr, kExpr) | Devuelve una matriz de ID de celda H3 que forman un anillo hexagonal hueco centrado en la celda H3 de origen y que están a una distancia de cuadrícula k desde la celda H3 de origen. |
h3_kring(h3CellIdExpr, kExpr) | Devuelve los identificadores de celda H3 que están dentro de una distancia (de cuadrícula) k del Id. de la celda de origen. |
h3_kringdistances(h3CellIdExpr, kExpr) | Devuelve todas las identificaciones de celda H3 (representadas como enteros largos o cadenas) dentro de una distancia de cuadrícula k desde la celda H3 de origen, junto con su distancia respecto a dicha celda de origen. |
h3_try_distance(h3CellId1Expr, h3CellId2Expr) | Devuelve la distancia en la cuadrícula de los dos identificadores de celda H3 de entrada de la misma resolución, o NULL si la distancia no está definida. |
Recorrido
Función | Descripción |
---|---|
h3_maxchild(h3CellIdExpr, resolutionExpr) | Devuelve el elemento secundario del valor máximo de la celda H3 de entrada en la resolución especificada. |
h3_minchild(h3CellIdExpr, resolutionExpr) | Devuelve el elemento secundario del valor mínimo de la celda H3 de entrada en la resolución especificada. |
h3_resolution(h3CellIdExpr) | Devuelve la resolución del ID de celda H3 de entrada. |
h3_tochildren(h3CellIdExpr, resolutionExpr) | Devuelve una matriz de los identificadores de celda H3 secundarios del Id. de celda H3 de entrada en la resolución especificada. |
h3_toparent(h3CellIdExpr, resolutionExpr) | Devuelve el Id. de celda H3 primario del Id. de celda H3 de entrada en la resolución que se especifique. |
Compactación
Función | Descripción |
---|---|
h3_compact(h3CellIdsExpr) | Compacta el conjunto de entrada de identificadores de celda H3 lo mejor posible. |
h3_uncompact(h3CellIdsExpr, resolutionExpr) | Descompacta el conjunto de entrada de los Ids. de celda H3 con la resolución especificada. |