Funciones geoespaciales ST

Se aplica a:check marcado yes Databricks SQL check marcado yes Databricks Runtime 17.1 y versiones posteriores

Important

La compatibilidad con los valores GEOGRAPHY está en versión preliminar pública. La compatibilidad con valores GEOMETRY está disponible con carácter general.

Las funciones geoespaciales ST funcionan en objetos de tipo GEOGRAPHY o GEOMETRY, o permiten construir GEOGRAPHY y GEOMETRY valores a partir de formatos geoespaciales estándar o populares, o exportar GEOGRAPHY y GEOMETRY valores a formatos geoespaciales estándar o populares.

Consulte también:

Importación de funciones de Databricks para obtener funciones ST (Databricks Runtime)

No se necesita ninguna importación para Databricks SQL y Spark SQL.

Para importar funciones ST para Python o Scala en cuadernos, use los siguientes comandos:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

Lista de funciones geoespaciales de ST (Databricks SQL)

Import

Function Description
st_geogfromewkt(ewktExpr) Devuelve un valor GEOGRAPHY(ANY) de su representación EWKT.
st_geogfromgeojson(geojsonExpr) Devuelve un GEOGRAPHY(4326) valor de su representación GeoJSON.
st_geogfromtext(wktExpr) Devuelve un valor GEOGRAPHY(4326) de su representación WKT.
st_geogfromwkb(wktExpr) Devuelve un valor GEOGRAPHY(4326) de su representación WKB.
st_geogfromwkt(wktExpr) Devuelve un valor GEOGRAPHY(4326) de su representación WKT.
st_geomfromewkb(wktExpr) Devuelve un valor GEOMETRY(ANY) a partir de su representación EWKB.
st_geomfromewkt(ewktExpr) Devuelve un valor GEOMETRY(ANY) de su representación EWKT.
st_geomfromgeohash(geohashExpr) Devuelve el cuadro de cuadrícula geohash como un valor de polígono 2D correspondiente al valor de geohash de entrada GEOMETRY.
st_geomfromgeojson(geojsonExpr) Devuelve un GEOMETRY(4326) valor de su representación GeoJSON.
st_geomfromtext(wktExpr[, sridExpr]) Devuelve un valor GEOMETRY(srid) o GEOMETRY(ANY) de su representación WKT, y establece su valor SRID en el valor de sridExpr, o 0 si sridExpr se omite.
st_geomfromwkb(wkbExpr[, sridExpr]) Devuelve un valor GEOMETRY(srid) o GEOMETRY(ANY) desde su representación WKB y establece su SRID al valor de sridExpr, o al valor de 0 si se omite sridExpr.
st_geomfromwkt(wktExpr[, sridExpr]) Devuelve un valor GEOMETRY(srid) o GEOMETRY(ANY) de su representación WKT, y establece su valor SRID en el valor de sridExpr, o 0 si sridExpr se omite.
st_pointfromgeohash(geohash) Devuelve el centro del cuadro de cuadrícula de geohash correspondiente al valor de geohash de entrada como una geometría de puntos 2D.
to_geography(georepExpr) Devuelve un GEOGRAPHY(ANY) valor de su representación GeoJSON, WKB o WKT.
to_geometry(georepExpr) Devuelve un valor de GEOMETRY(ANY) de su representación EWKB, GeoJSON, WKB o WKT.
try_to_geography(georepExpr) Devuelve un GEOGRAPHY(ANY) valor de su representación GeoJSON, WKB o WKT, o NULL si la representación de entrada no es válida.
try_to_geometry(georepExpr) Devuelve un GEOMETRY(ANY) valor de su representación EWKB, GeoJSON, WKB o WKT, o NULL si la representación de entrada no es válida.

Export

Function Description
st_asbinary(geoExpr) Devuelve la representación WKB del valor de entrada GEOGRAPHY o GEOMETRY como valor de BINARY.
st_asewkb(geoExpr) Devuelve la representación EWKB del valor de entrada GEOMETRY como un BINARY valor.
st_asgeojson(geoExpr) Devuelve la representación GeoJSON de la entrada GEOGRAPHY o GEOMETRY valor como un STRING valor.
st_asewkt(geoExpr) Devuelve la representación EWKT de la entrada GEOGRAPHY o GEOMETRY como valor STRING.
st_astext(geoExpr) Devuelve la representación WKT del valor de entrada GEOGRAPHY o GEOMETRY como un STRING.
st_aswkb(geoExpr) Devuelve la representación WKB del valor de entrada GEOGRAPHY o GEOMETRY como valor de BINARY.
st_aswkt(geoExpr) Devuelve la representación WKT del valor de entrada GEOGRAPHY o GEOMETRY como un STRING.
st_geohash(geoExpr [, precisionExpr]) Devuelve el geohash de la geometría de entrada con la precisión especificada.

Measurements

Function Description
st_area(geoExpr) Devuelve el área del valor GEOGRAPHY o GEOMETRY de entrada.
st_azimuth(geoExpr1, geoExpr2) Devuelve el azimuth basado en el norte desde el primer punto hasta el segundo en radianes en [0, 2π).
st_closestpoint(geoExpr1, geoExpr2) Devuelve la proyección 2D de un punto en el primer GEOMETRY valor más cercano al segundo GEOMETRY valor con respecto a la distancia euclidiana.
st_distance(geoExpr1, geoExpr2) Devuelve la distancia cartesiana 2D entre los dos valores de entrada GEOMETRY .
st_distancesphere(geoExpr1, geoExpr2) Devuelve la distancia esférica (en metros) entre dos valores de punto GEOMETRY , medida en una esfera cuyo radio es el radio medio del elipsoide WGS84.
st_distancespheroid(geoExpr1, geoExpr2) Devuelve la distancia geodesica (en metros) entre dos valores de punto GEOMETRY en el elipsoide WGS84.
st_length(geoExpr) Devuelve la longitud de la entrada GEOGRAPHY o GEOMETRY.
st_perimeter(geoExpr) Devuelve el perímetro del valor de entrada GEOGRAPHY o GEOMETRY.

Constructors

Function Description
st_collect(geoArray) Recopila una matriz de valores o GEOGRAPHY en un único valor de GEOMETRY colección multigeográfica o de geometría.
st_makeenvelope(x1, y1, x2, y2) Devuelve un GEOMETRY valor que representa el sobre alineado con el eje 2D (rectángulo de límite mínimo) definido por las dos coordenadas (x1, y1) de esquina y (x2, y2).
st_makeline(geoArray) Devuelve un valor de línea GEOMETRY cuyos puntos son los puntos no vacíos de las geometrías de la matriz de geometrías de entrada, que se espera que sean puntos, líneas o multipuntos.
st_makepoint(x, y[, z[, m]]) Devuelve un valor de punto GEOMETRY con las coordenadas especificadas y SRID 0. La función toma 2, 3 o 4 DOUBLE valores, que representan las coordenadas (x, y), (x, y, z) o (x, y, z, m).
st_makepolygon(outer[, innerArray]) Construye un valor de polígono GEOMETRY a partir del límite exterior de entrada y una matriz opcional de límites internos, representado como líneas cerradas.
st_point(x, y [, srid]) Devuelve un valor de punto GEOMETRY con las coordenadas X e Y especificadas y el valor SRID (si se proporciona).

Accessors

Function Description
st_dimension(geoExpr) Devuelve la dimensión topológica de la proyección 2D del GEOMETRY valor.
st_dump(geoExpr) Devuelve una matriz que contiene las geometrías únicas de la geometría de entrada.
st_endpoint(geoExpr) Devuelve el último punto del valor de entrada GEOGRAPHY o GEOMETRY, si el valor geoespacial de entrada es una línea no vacía.
st_envelope(geoExpr) Devuelve un valor cartesiano GEOMETRY 2D que representa el cuadro de límite mínimo alineado con el eje 2D (sobre) del valor de entrada GEOMETRY .
st_envelope_agg(geoCol) Devuelve el sobre de todas las geometrías de la columna, o NULL si la columna tiene cero filas o contiene solo valores NULL.
st_exteriorring(geoExpr) Devuelve el anillo exterior del polígono GEOGRAPHY de entrada o GEOMETRY como una cadena de líneas.
st_geometryn(geoExpr, nExpr) Devuelve el n-ésimo elemento contado desde 1 del valor de entrada GEOMETRY como un valor GEOMETRY.
st_geometrytype(geoExpr) Devuelve el tipo de entrada GEOGRAPHY o GEOMETRY valor como una cadena.
st_interiorringn(geoExpr, indexExpr) Devuelve el n-ésimo anillo interior del polígono GEOGRAPHY de entrada o GEOMETRY como una línea.
st_isempty(geoExpr) Devuelve verdadero si el valor de la entrada GEOGRAPHY o GEOMETRY no contiene ningún punto no vacío.
st_m(geoExpr) Devuelve la coordenada M del valor del punto GEOMETRY de entrada o NULL si el punto está vacío o no tiene una coordenada M.
st_ndims(geoExpr) Devuelve la dimensión de coordenada del valor de entrada GEOGRAPHY o GEOMETRY.
st_npoints(geoExpr) Devuelve el número de puntos no vacíos en la entrada GEOGRAPHY o en el valor GEOMETRY.
st_nrings(geoExpr) Devuelve el número total de anillos del polígono de entrada o multipolygon GEOGRAPHY o GEOMETRY valor.
st_numgeometries(geoExpr) Devuelve el número de geometrías del valor de entrada GEOMETRY .
st_numpoints(geoExpr) Devuelve el número de puntos no vacíos en la entrada GEOGRAPHY o en el valor GEOMETRY.
st_numinteriorrings(geoExpr) Devuelve el número de anillos interiores del polígono GEOGRAPHY o GEOMETRY valor de entrada.
st_pointn(geoExpr, indexExpr) Devuelve el punto n-ésimo del linestring de entrada GEOGRAPHY o del valor GEOMETRY.
st_startpoint(geoExpr) Devuelve el primer punto de la entrada GEOGRAPHY o GEOMETRY valor, si el valor geoespacial de entrada es una cadena de línea no vacía.
st_x(geoExpr) Devuelve la coordenada X del valor del punto GEOMETRY de entrada o NULL si el punto está vacío.
st_xmax(geoExpr) Devuelve la coordenada X máxima del valor de entrada GEOMETRY o NULL si la geometría está vacía.
st_xmin(geoExpr) Devuelve la coordenada X mínima del valor de entrada GEOMETRY o NULL si la geometría está vacía.
st_y(geoExpr) Devuelve la coordenada Y del valor del punto GEOMETRY de entrada o NULL si el punto está vacío.
st_ymax(geoExpr) Devuelve la coordenada Y máxima del valor de entrada GEOMETRY o NULL si la geometría está vacía.
st_ymin(geoExpr) Devuelve la coordenada Y mínima del valor de entrada GEOMETRY o NULL si la geometría está vacía.
st_z(geoExpr) Devuelve la coordenada Z del valor del punto GEOMETRY de entrada o NULL si el punto está vacío o no tiene una coordenada Z.
st_zmax(geoExpr) Devuelve la coordenada Z máxima del valor de entrada GEOMETRY o NULL si la geometría está vacía o no tiene una coordenada Z.
st_zmin(geoExpr) Devuelve la coordenada Z mínima del valor de entrada GEOMETRY o NULL si la geometría está vacía o no tiene una coordenada Z.

Editors

Function Description
st_addpoint(geo1Expr, geo2Expr[, indexExpr]) Agrega un nuevo punto en la posición n-ésima en la línea de coordenadas de entrada GEOGRAPHY o en el valor GEOMETRY.
st_flipcoordinates(geoExpr) Intercambia las coordenadas X e Y del valor de entrada GEOMETRY .
st_force2d(geoExpr) Devuelve la proyección 2D de la entrada GEOGRAPHY o GEOMETRY el valor.
st_multi(geoExpr) Devuelve el valor de entrada GEOGRAPHY o GEOMETRY como un valor multigeoespacial equivalente.
st_removepoint(geoExpr, indexExpr) Quita el punto n-ésimo de la línea de entrada GEOGRAPHY o GEOMETRY.
st_reverse(geoExpr) Invierte el valor de entrada GEOGRAPHY o GEOMETRY.
st_setpoint(geo1Expr, indexExpr, geo2Expr) Establece el n-ésimo punto de la línea de entrada GEOGRAPHY o el valor GEOMETRY.

Validación de geometría

Function Description
st_isvalid(geoExpr) Devuelve true si el valor de entrada GEOMETRY es una geometría válida en el sentido de OGC.

Funciones del sistema de referencia espacial

Function Description
st_estimatesrid(geoExpr) Devuelve el mejor identificador de referencia espacial proyectado (SRID) para el centro del rectángulo delimitador del valor de entrada GEOMETRY.
st_setsrid(geo, srid) Devuelve un nuevo GEOMETRY valor cuyo SRID es el valor SRID especificado.
st_srid(geoExpr) Devuelve el SRID del valor de entrada GEOGRAPHY o GEOMETRY.
st_transform(geo, srid) Transforma las coordenadas X e Y de la entrada GEOMETRY del sistema de referencia de coordenadas actual al sistema de referencia de coordenadas descrito por el valor SRID proporcionado.

Relaciones de distancia

Function Description
st_dwithin(geoExpr1, geoExpr2, distanceExpr) Devuelve true si la distancia cartesiana 2D entre los dos valores de entrada GEOMETRY es menor o igual que el valor de distancia de entrada.

Relaciones topológicas

Function Description
st_contains(geo1, geo2) Devuelve true si el primer GEOMETRY valor contiene el segundo GEOMETRY valor.
st_covers(geoExpr1, geoExpr2) Devuelve true si el primer GEOMETRY valor cubre el segundo GEOMETRY valor.
st_disjoint(geoExpr1, geoExpr2) Devuelve true si los dos valores de entrada GEOMETRY están separados.
st_equals(geoExpr1, geoExpr2) Devuelve true si los dos valores de entrada GEOMETRY son geométricamente iguales, lo que significa que corresponden al mismo conjunto de puntos.
st_intersects(geoExpr1, geoExpr2) Devuelve true si los dos valores de entrada GEOMETRY se intersecan.
st_touches(geo1, geo2) Devuelve true si los dos valores de entrada GEOMETRY se tocan entre sí.
st_within(geo1, geo2) Devuelve true si el primer GEOMETRY valor está dentro del segundo GEOMETRY valor.

Funciones de superposición

Function Description
st_difference(geoExpr1, geoExpr2) Devuelve la diferencia de conjunto de puntos de los dos valores de entrada GEOMETRY como un valor 2D GEOMETRY .
st_intersection(geoExpr1, geoExpr2) Devuelve la intersección del conjunto de puntos de los dos valores de entrada GEOMETRY como un valor 2D GEOMETRY .
st_union(geo1, geo2) Devuelve la unión de conjunto de puntos de los dos valores de entrada GEOMETRY como una geometría 2D.
st_union_agg(geoCol) Devuelve la unión a un punto de todas las geometrías de la columna, o NULL si la columna tiene cero filas o solo NULL contiene valores.

Transformaciones Affine

Function Description
st_rotate(geoExpr, rotationAngle) Gira el valor de entrada GEOMETRY alrededor del eje Z por el ángulo de rotación especificado (en radianes).
st_scale(geoExpr, xfactor, yfactor[, zfactor]) Escala el valor de entrada GEOMETRY en las direcciones X, Y y, si se especifica, Z utilizando los factores de escalado proporcionados.
st_translate(geoExpr, xoffset, yoffset[, zoffset]) Traduce el valor de entrada GEOMETRY en las direcciones X, Y y, si se especifica, Z utilizando los desplazamientos proporcionados.

Procesamiento de geometría

Function Description
st_boundary(geoExpr) Devuelve un GEOMETRY valor que representa el límite del valor de entrada GEOMETRY .
st_buffer(geoExpr, radiusExpr) Devuelve el búfer del valor de entrada GEOMETRY mediante el radio especificado.
st_centroid(geoExpr) Devuelve el centroide del valor de entrada GEOMETRY como un valor de punto GEOMETRY 2D.
st_concavehull(geoExpr, lengthRatioExpr[, allowHolesExpr]) Devuelve el casco cóncavo del valor de entrada GEOMETRY como un GEOMETRY valor utilizando la relación de longitud especificada.
st_convexhull(geoExpr) Devuelve el casco convexo del valor de entrada GEOMETRY como un valor de GEOMETRY.
st_pointonsurface(geoExpr) Devuelve un punto que se garantiza que se encuentra en o dentro del valor de entrada GEOMETRY .
st_simplify(geo, tolerancia) Simplifica el valor de entrada GEOMETRY mediante el algoritmo Douglas-Peucker.