ST 地理空间函数

适用于:已勾选“是”的 Databricks Runtime 17.1 及更高版本

重要

此功能目前以公共预览版提供。

ST 地理空间函数对类型 GEOGRAPHY 和/或 GEOMETRY的对象进行作,或者允许从标准或常用地理空间格式构造 GEOGRAPHYGEOMETRY 值,或者将值导出 GEOGRAPHYGEOMETRY 值转换为标准或常用地理空间格式。

另请参阅:

导入 Databricks 函数以获取 ST 函数(Databricks Runtime)

Databricks SQL 和 Spark SQL 无需导入。

若要在笔记本中导入 Python 或 Scala 的 ST 函数,请使用以下命令:

Python

from pyspark.databricks.sql import functions as dbf

Scala(编程语言)

import com.databricks.sql.functions._

ST 地理空间函数列表 (Databricks SQL)

进口

功能 DESCRIPTION
st_geogfromgeojson(geojsonExpr) 从其 GeoJSON 表示形式返回一个 GEOGRAPHY(4326) 值。
st_geogfromtext(wktExpr) 依据其 WKT 表示形式返回一个 GEOGRAPHY(4326) 值。
st_geogfromwkb(wktExpr) 从 WKB 表示形式返回一个 GEOGRAPHY(4326) 值。
st_geogfromwkt(wktExpr) 依据其 WKT 表示形式返回一个 GEOGRAPHY(4326) 值。
st_geomfromewkb(wktExpr) 从其 EWKB 表示形式返回一个 GEOMETRY(ANY) 值。
st_geomfromgeohash(geohash) 以二维多边形几何图形的形式返回与输入 geohash 值对应的 geohash 网格框。
st_geomfromgeojson(geojsonExpr) 从其 GeoJSON 表示形式返回一个 GEOMETRY(4326) 值。
st_geomfromtext(wktExpr[, sridExpr]) 从其 WKT 表示形式返回 GEOMETRY(srid)GEOMETRY(ANY) 值,并将其 SRID 值设置为 sridExpr 的值;如果省略 0 的话,则设置为 sridExpr 的值。
st_geomfromwkb(wkbExpr[, sridExpr]) 从 WKB 表示形式返回一个 GEOMETRY(srid)GEOMETRY(ANY) 值,并将其 SRID 值设置为值 sridExpr,或者 0 如果 sridExpr 省略该值。
st_geomfromwkt(wktExpr[, sridExpr]) 从其 WKT 表示形式返回 GEOMETRY(srid)GEOMETRY(ANY) 值,并将其 SRID 值设置为 sridExpr 的值;如果省略 0 的话,则设置为 sridExpr 的值。
st_pointfromgeohash(geohash) 返回与输入 geohash 值对应的 geohash 网格框中心,形式为 2D 点几何。
to_geography(georepExpr) 从 GeoJSON、WKB 或 WKT 表示形式返回一个 GEOGRAPHY(ANY) 值。
to_geometry(georepExpr) 从其 EWKB、GeoJSON、WKB 或 WKT 表示形式返回一个 GEOMETRY(ANY) 值。
try_to_geography(georepExpr) 如果输入表示形式无效,则返回GEOGRAPHY(ANY);否则,从其 GeoJSON、WKB 或 WKT 表示形式返回一个 NULL 值。
try_to_geometry(georepExpr) 从 EWKB、GeoJSON、WKB 或 WKT 表示形式返回一个 GEOMETRY(ANY) 值,如果输入表示形式无效,则返回 NULL

出口

功能 DESCRIPTION
st_asbinary(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的 WKB 表示形式,作为 BINARY 值。
st_asewkb(geoExpr) 返回输入GEOMETRY值的 EWKB 表示形式作为BINARY值。
st_asgeojson(geoExpr) 将输入GEOGRAPHYGEOMETRY值的 GeoJSON 表示形式作为STRING值返回。
st_asewkt(geoExpr) 返回输入GEOGRAPHYGEOMETRY值的 EWKT 表示形式作为STRING值。
st_astext(geoExpr) 将输入GEOGRAPHYGEOMETRY值以STRING值的形式返回其 WKT 表示。
st_aswkb(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的 WKB 表示形式,作为 BINARY 值。
st_aswkt(geoExpr) 将输入GEOGRAPHYGEOMETRY值以STRING值的形式返回其 WKT 表示。
st_geohash(地理 [, 精度]) 以指定的精度返回输入几何对象的地理哈希。

测量结果

功能 DESCRIPTION
st_area(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的区域。
st_distance(geoExpr1、geoExpr2) 返回两个输入 GEOMETRIES之间的二维笛卡尔距离。
st_distancesphere(geoExpr1、geoExpr2) 返回两个点 GEOMETRIES之间的球形距离(以米为单位),该距离在半径为 WGS84 椭圆的平均值半径的球体上测量。
st_distancespheroid(geoExpr1、geoExpr2) 返回 WGS84 椭圆两个点 GEOMETRIES 之间的地理距离(以米为单位)。
st_length(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的长度。
st_perimeter(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的外围。

构造函数

功能 DESCRIPTION
st_makeline(geoArray) 返回一个线字符串 GEOMETRY ,其点是几何图形输入数组中几何图形的非空点,这些几何图形应为点、线字符串或多点。
st_makepolygon(outer[, innerArray]) 从输入外部边界和内部边界的可选数组(表示为封闭线字符串)构造多边形 GEOMETRY
st_point(x, y [, srid]) 返回具有给定 x 和 y 坐标和 SRID 值的点 GEOMETRY (如果提供)。

访问器

功能 DESCRIPTION
st_dimension(geoExpr) 返回 2D 投影的 GEOMETRY拓扑维度。
st_endpoint(geoExpr) 如果输入地理空间值为非空线字符串,则返回输入 GEOGRAPHYGEOMETRY 值的最后一个点。
st_envelope(geoExpr) 返回一个表示输入几何图形的 2D 轴对齐最小边界框(信封)的 2D 笛卡尔几何图形。
st_envelope_agg(geoCol) 返回该列中所有几何形状的包络,或者如果该列包含零行,或仅包含NULL值,则返回NULL
st_geometryn(地理,n) 返回输入几何图形的第 n 个元素,从1开始,作为 GEOMETRY 值。
st_geometrytype(geoExpr) 以字符串形式返回输入 GEOGRAPHYGEOMETRY 值的类型。
st_isempty(geoExpr) 如果输入 GEOGRAPHYGEOMETRY 值不包含任何非空点,则返回 true。
st_m(geoExpr) 返回输入点 GEOMETRY的 M 坐标;如果点为空或没有 M 坐标,则返回 NULL。
st_ndims(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的坐标维度。
st_npoints(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值中的非空点数。
st_numgeometries(geoExpr) 返回输入 GEOMETRY 值中的几何图形数。
st_pointn(geoExpr、indexExpr) 返回输入线字符串中的第 n 个点 GEOGRAPHYGEOMETRY
st_startpoint(geoExpr) 如果输入地理空间值为非空线字符串,则返回输入 GEOGRAPHYGEOMETRY 值的第一个点。
st_x(geoExpr) 返回输入点 GEOMETRY的 X 坐标;如果点为空,则返回 NULL。
st_xmax(geoExpr) 返回输入 GEOMETRY的最大 X 坐标;如果几何图形为空,则返回 NULL。
st_xmin(geoExpr) 返回输入 GEOMETRY的最小 X 坐标;如果几何图形为空,则返回 NULL。
st_y(geoExpr) 返回输入点 GEOMETRY的 Y 坐标;如果点为空,则返回 NULL。
st_ymax(geoExpr) 返回输入 GEOMETRY的最大 Y 坐标;如果几何图形为空,则返回 NULL。
st_ymin(geoExpr) 返回输入 GEOMETRY的最小 Y 坐标;如果几何图形为空,则返回 NULL。
st_z(geoExpr) 返回输入点 GEOMETRY的 Z 坐标;如果点为空或没有 Z 坐标,则返回 NULL。
st_zmax(geoExpr) 返回输入 GEOMETRY的最大 Z 坐标;如果几何图形为空或没有 Z 坐标,则返回 NULL。
st_zmin(geoExpr) 返回输入 GEOMETRY的最小 Z 坐标;如果几何图形为空或没有 Z 坐标,则返回 NULL。

Editors

功能 DESCRIPTION
st_addpoint(geo1Expr, geo2Expr[, indexExpr]) 将新点添加到输入线字符串 GEOGRAPHY 中的第 n 个位置或 GEOMETRY
st_flipcoordinates(geoExpr) 交换输入几何图形的 X 和 Y 坐标。
st_multi(geoExpr) 以等效的多地理空间值的形式返回输入 GEOGRAPHYGEOMETRY 值。
st_removepoint(geoExpr、indexExpr) 从输入线串 GEOGRAPHYGEOMETRY 中删除第 n 个点。
st_reverse(geoExpr) 反转输入 GEOGRAPHYGEOMETRY 的值。
st_setpoint(geo1Expr、indexExpr、geo2Expr) 设置输入线串 GEOGRAPHYGEOMETRY 的第 n 个点。

几何验证

功能 DESCRIPTION
st_isvalid(geoExpr) 如果输入 GEOMETRY 是 OGC 意义上的有效几何图形,则返回 true。

空间引用系统函数

功能 DESCRIPTION
st_setsrid(地理、斯里德) 返回一个新 GEOMETRY 值,其 SRID 是指定的 SRID 值。
st_srid(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的 SRID。
st_transform(地理、斯里) 将输入 GEOMETRY 的 X 和 Y 坐标从当前坐标引用系统转换为所提供的 SRID 值描述的坐标引用系统。

距离关系

功能 DESCRIPTION
st_dwithin(geo1、geo2、d) 如果两个输入几何图形之间的 2D 笛卡尔距离小于或等于输入距离,则返回 true。

拓扑关系

功能 DESCRIPTION
st_contains(geo1、geo2) 如果第一个 GEOMETRY 包含第二 GEOMETRY个值,则返回 true。
st_covers(geoExpr1、geoExpr2) 如果第一个 GEOMETRY 覆盖第二个 GEOMETRY,则返回 true。
st_disjoint(geoExpr1、geoExpr2) 如果这两个true不相交,则返回GEOMETRIES
st_equals(geo1、geo2) 如果两个几何图形在几何上相等,则返回 true,即它们对应于同一个点集。
st_intersects(geo1,geo2) 如果两个几何图形有交集,则返回值为真。
st_touches(geo1、geo2) 如果两个几何图形相互接触,则返回 true。
st_within(geo1,geo2) 如果第一个 GEOMETRY 在第二个 GEOMETRY 内部,则返回 true。

覆盖函数

功能 DESCRIPTION
st_difference(geoExpr1、geoExpr2) 将两个输入GEOMETRIES的点集差作为二维GEOMETRY返回。
st_intersection(geo1,geo2) 以 2D 几何形式返回两个输入几何图形的点集交集。
st_union(geo1、geo2) 以 2D 几何形式返回两个输入几何图形的点集联合。
st_union_agg(geoCol) 返回列中所有几何图形的逐点并集;如果列是零行或只包含 NULL 值,则返回 NULL

仿射变换

功能 DESCRIPTION
st_rotate(geoExpr、rotationAngle) 按给定旋转角度(以弧度为单位)围绕 Z 轴旋转输入 GEOMETRY
st_scale(geoExpr、 xfactor、 yfactor[, zfactor]) 使用提供的缩放系数在 X、Y 方向,以及在指定情况下 Z 方向上缩放输入 GEOMETRY
st_translate(geoExpr、xoffset、yoffset[、 zoffset]) 使用提供的偏移量在 X、Y 和 Z 方向(如果指定)平移输入 GEOMETRY

几何处理

功能 DESCRIPTION
st_buffer(geoExpr、radiusExpr) 使用指定的半径返回输入 GEOMETRY 的缓冲区。
st_centroid(geoExpr) 以 2D 点GEOMETRY的形式返回输入GEOMETRY的质心。
st_concavehull(geoExpr, lengthRatioExpr[, allowHolesExpr]) 使用指定的长度比率以 GEOMETRY 形式返回输入 GEOMETRY 的凹包。
st_convexhull(geoExpr) GEOMETRY形式返回输入GEOMETRY的凸包。
st_simplify(地理、容差) 使用 Douglas-Peucker 算法简化输入 GEOMETRY