다음을 통해 공유

ST 地理空间函数

适用于:检查标记为“是”的 Databricks SQL 检查标记为“是”是 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(geohashExpr) 以二维多边形 GEOMETRY 值的形式返回与输入 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(geoExpr [, precisionExpr]) 以指定的精度返回输入几何对象的地理哈希。

测量结果

功能 DESCRIPTION
st_area(geoExpr) 返回输入 GEOGRAPHYGEOMETRY 值的区域。
st_distance(geoExpr1、geoExpr2) 返回两个输入 GEOMETRY 值之间的 2D 笛卡尔距离。
st_distancesphere(geoExpr1、geoExpr2) 返回两个点 GEOMETRY 值之间的球面距离(以米为单位),该距离在半径为 WGS84 椭圆的平均值半径的球体上测量。
st_distancespheroid(geoExpr1、geoExpr2) 返回 WGS84 椭圆上两个点 GEOMETRY 值之间的地理距离(以米为单位)。
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) 返回 GEOMETRY 值 2D 投影的拓扑维度。
st_dump(geoExpr) 返回一个数组,其中包含输入几何图形中的单个几何图形。
st_endpoint(geoExpr) 如果输入地理空间值为非空线字符串,则返回输入 GEOGRAPHYGEOMETRY 值的最后一个点。
st_envelope(geoExpr) 返回一个 2D 笛卡尔 GEOMETRY 值,该值表示输入 GEOMETRY 值的 2D 轴对齐最小边界框(信封)。
st_envelope_agg(geoCol) 返回该列中所有几何形状的包络,或者如果该列包含零行,或仅包含NULL值,则返回NULL
st_exteriorring(geoExpr) 返回输入多边形 GEOGRAPHY 的外部环或 GEOMETRY 作为线字符串。
st_geometryn(geoExpr、nExpr) 返回输入 GEOMETRY 的第 n 个元素,并将其作为 GEOMETRY 值返回。
st_geometrytype(geoExpr) 以字符串形式返回输入 GEOGRAPHYGEOMETRY 值的类型。
st_interiorringn(geoExpr、indexExpr) 返回输入多边形 GEOGRAPHY 的第 n 个内环或 GEOMETRY 作为线字符串。
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_numinteriorrings(geoExpr) 返回输入多边形 GEOGRAPHYGEOMETRY 值中的内环数。
st_pointn(geoExpr、indexExpr) 从输入线字符串 GEOGRAPHYGEOMETRY 值返回第 n 个点。
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 坐标,或者 NULL 该点为空或没有 Z 坐标。
st_zmax(geoExpr) 返回输入 GEOMETRY 值的最大 Z 坐标,或者 NULL 如果几何图形为空或没有 Z 坐标。
st_zmin(geoExpr) 返回输入 GEOMETRY 值的最小 Z 坐标,或者 NULL 如果几何图形为空或没有 Z 坐标。

Editors

功能 DESCRIPTION
st_addpoint(geo1Expr, geo2Expr[, indexExpr]) 将新点添加到输入线字符串 GEOGRAPHYGEOMETRY 值中的第 n 个位置。
st_flipcoordinates(geoExpr) 交换输入 GEOMETRY 值的 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(geoExpr1、geoExpr2、distanceExpr) 如果两个输入 GEOMETRY 值之间的 2D 笛卡尔距离小于或等于输入距离值,则返回 true。

拓扑关系

功能 DESCRIPTION
st_contains(geo1、geo2) 如果第一个 GEOMETRY 值包含第二 GEOMETRY 个值,则返回 true。
st_covers(geoExpr1、geoExpr2) 如果第一 GEOMETRY 个值涵盖第二 GEOMETRY 个值,则返回 true。
st_disjoint(geoExpr1、geoExpr2) 如果两个输入true值不相交,则返回GEOMETRY
st_equals(geoExpr1、geoExpr2) 如果两个输入 GEOMETRY 值在几何上相等,则返回 true,这意味着它们对应于同一个点集。
st_intersects(geoExpr1、geoExpr2) 如果两个输入 GEOMETRY 值相交,则返回 true。
st_touches(geo1、geo2) 如果两个输入 GEOMETRY 值相互接触,则返回 true。
st_within(geo1,geo2) 如果第一 GEOMETRY 个值位于第二 GEOMETRY 个值内,则返回 true。

覆盖函数

功能 DESCRIPTION
st_difference(geoExpr1、geoExpr2) 将两个输入 GEOMETRY 值的点集差异作为 2D GEOMETRY 值返回。
st_intersection(geoExpr1、geoExpr2) 将两个输入 GEOMETRY 值的点集交集作为 2D GEOMETRY 值返回。
st_union(geo1、geo2) 返回两个输入 GEOMETRY 值的点集联合作为 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]) 通过使用提供的偏移量将输入 GEOMETRY 值转换至 X、Y 和(如指定)Z 方向。

几何处理

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