共用方式為


ST 地理空間函式

適用於:核取標示為是 Databricks SQL 核取標示為是 Databricks Runtime 17.1 和更新版本

Important

這項功能目前處於 公開預覽版

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)

Import

Function Description
st_geogfromgeojson(geojsonExpr) GEOGRAPHY(4326) 從其 GeoJSON 表示法中傳回一個值。
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) 傳回與輸入 geohash 值相對應的 geohash 格線方塊作為 2D 多邊形 GEOMETRY 值。
st_geomfromgeojson(geojsonExpr) GEOMETRY(4326) 從其 GeoJSON 表示法中傳回一個值。
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(地理雜湊) 傳回對應於輸入地理雜湊值的地理雜湊網格方塊中心作為一個2D點幾何。
to_geography(georepExpr) 傳回其 GeoJSON、WKB 或 WKT 表示法中的 GEOGRAPHY(ANY) 值。
to_geometry(georepExpr) GEOMETRY(ANY) 會從其 EWKB、GeoJSON、WKB 或 WKT 表示法中傳回值。
try_to_geography(georepExpr) 返回GEOGRAPHY(ANY)值,從其 GeoJSON、WKB 或 WKT 表示法中提取或當NULL輸入表示無效時返回值。
try_to_geometry(georepExpr) GEOMETRY(ANY) 傳回其 EWKB、GeoJSON、WKB 或 WKT 表示形式的值,如果輸入表示方式無效,則傳回 NULL

Export

Function Description
st_asbinary(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 WKB 表示法做為 BINARY 值。
st_asewkb(geoExpr) 傳回輸入 GEOMETRY 值的 EWKB 表示法做為 BINARY 值。
st_asgeojson(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 GeoJSON 表示法做為 STRING 值。
st_asewkt(地理經驗) 傳回輸入 GEOGRAPHYGEOMETRY 值的 EWKT 表示法做為 STRING 值。
st_astext(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 WKT 表示法做為 STRING 值。
st_aswkb(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 WKB 表示法做為 BINARY 值。
st_aswkt(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 WKT 表示法做為 STRING 值。
st_geohash(geoExpr [, precisionExpr]) 傳回指定精度的輸入幾何的地理雜湊。

Measurements

Function 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 值的周邊。

Constructors

Function Description
st_makeline(地理陣列) 傳回線串 GEOMETRY 值,其點是幾何圖形輸入陣列中幾何圖形的非空白點,預期為點、線串或多點。
st_makepolygon(outer[, innerArray]) 從輸入外部界限和內部界限的選擇性陣列建構多邊形 GEOMETRY 值,以封閉線串表示。
st_point(x, y [, srid]) 傳回具有指定 X 和 Y 座標以及 SRID 值的點 GEOMETRY 值 (如果提供)。

Accessors

Function Description
st_dimension(geoExpr) 傳回 2D 投影的拓撲維度的 GEOMETRY 值。
st_dump(geoExpr) 傳回包含輸入幾何圖形中單一幾何圖形的陣列。
st_endpoint(geoExpr) 如果輸入地理空間值是非空白的行字串,則傳回輸入 GEOGRAPHYGEOMETRY 值的最後一個點。
st_envelope(地理Expr) 傳回 2D 笛卡爾 GEOMETRY 值,代表輸入 GEOMETRY 值的 2D 軸對齊最小邊界框 (包絡)。
st_envelope_agg(geoCol) 傳回數據行中所有幾何的包絡,如果該列有零行數據,或僅包含NULL值,則傳回NULL
st_exteriorring(geoExpr) 傳回輸入多邊形 GEOGRAPHY 的外部環或 GEOMETRY 作為線串。
st_geometryn(geoExpr, nExpr) 傳回輸入 GEOMETRY 值的從 1 開始的第 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(地理Expr) 傳回輸入 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

Function Description
st_addpoint(geo1Expr,geo2Expr,indexExpr) 將新點加入至輸入線串 GEOGRAPHYGEOMETRY 值的第 n 個位置。
st_flipcoordinates(地理擴展) 交換輸入 GEOMETRY 值的 X 和 Y 座標。
st_multi(geoExpr) 以對等的多地理空間值傳回輸入 GEOGRAPHYGEOMETRY 值。
st_removepoint(geoExpr, indexExpr) 從輸入線串 GEOGRAPHYGEOMETRY 值中移除第 n 個點。
st_reverse(geoExpr) 反轉輸入 GEOGRAPHYGEOMETRY 值。
st_setpoint(geo1Expr, indexExpr, geo2Expr) 設定輸入線串 GEOGRAPHYGEOMETRY 值的第 n 個點。

幾何驗證

Function Description
st_isvalid(geoExpr) 如果輸入 GEOMETRY 值是 OGC 意義上的有效幾何圖形,則傳回 true。

空間參考系統函式

Function Description
st_setsrid(地理、srid) 傳回新的 GEOMETRY 值,其 SRID 是指定的 SRID 值。
st_srid(geoExpr) 傳回輸入 GEOGRAPHYGEOMETRY 值的 SRID。
st_transform(地理、srid) 將輸入 GEOMETRY 的 X 和 Y 座標從目前座標參考系統轉換成所提供 SRID 值所描述的座標參考系統。

距離關係

Function Description
st_dwithin(geoExpr1, geoExpr2, distanceExpr) 如果兩個輸入 GEOMETRY 值之間的 2D 笛卡爾距離小於或等於輸入距離值,則傳回 true。

拓撲關係

Function Description
st_contains(地理1、地理2) 如果第一個 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(地理1、地理2) 如果兩個輸入 GEOMETRY 值彼此接觸,則傳回 true。
st_within(地理1、地理2) 如果第一個 GEOMETRY 值在第二個 GEOMETRY 值內,則傳回 true。

疊加功能

Function Description
st_difference(geoExpr1, geoExpr2) 將兩個輸入 GEOMETRY 值的點集差異傳回為 2D GEOMETRY 值。
st_intersection(geoExpr1, geoExpr2) 將兩個輸入 GEOMETRY 值的點集交集回傳為 2D GEOMETRY 值。
st_union(地理1、地理2) 將兩個輸入 GEOMETRY 值的點集聯集以 2D 幾何圖形的形式傳回。
st_union_agg(geoCol) 返回欄中所有幾何圖形的逐點的合併,如果欄包含零行或僅包含NULL值,則返回NULL

仿射變換

Function Description
st_rotate(geoExpr, rotationAngle) 將輸入 GEOMETRY 值繞 Z 軸旋轉指定的角度(以弧度為單位)。
st_scale(geoExpr, xfactor, yfactor[, zfactor]) 使用提供的縮放係數,在 X、Y 和 Z 方向 (如果指定) 上縮放輸入 GEOMETRY 值。
st_translate(geoExpr,xoffset,yoffset[,zoffset]) 使用提供的偏移在 X、Y 和 Z 方向 (如果指定) 中轉換輸入 GEOMETRY 值。

幾何加工

Function Description
st_buffer(geoExpr, radiusExpr) 使用指定的半徑傳回輸入 GEOMETRY 值的緩衝區。
st_centroid(地理Expr) 將輸入 GEOMETRY 值的質心傳回為 2D 點 GEOMETRY 值。
st_concavehull(geoExpr, lengthRatioExpr[, allowHolesExpr]) 使用指定的長度比例,將輸入的 GEOMETRY 值的凹殼當作 GEOMETRY 值傳回。
st_convexhull(geoExpr) 傳回輸入 GEOMETRY 值的凸包體作為值 GEOMETRY
st_simplify(地理、公差) 使用 Douglas-Peucker 演算法簡化輸入 GEOMETRY 值。