適用対象:
Databricks SQL
Databricks Runtime 17.1 以降" とマークされているチェック
Important
この機能は パブリック プレビュー段階です。
ST 地理空間関数は、 GEOGRAPHY や GEOMETRYの種類のオブジェクトに対して動作するか、標準または一般的な地理空間形式から GEOGRAPHY 値と GEOMETRY 値を構築したり、 GEOGRAPHY と GEOMETRY 値を標準または一般的な地理空間形式にエクスポートしたりできます。
関連項目も参照:
Databricks 関数をインポートして ST 関数を取得する (Databricks ランタイム)
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) | 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) | 入力 geohash 値に対応する geohash グリッド ボックスを 2D ポリゴン GEOMETRY 値として返します。 |
| 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 値に対応するジオハシュ グリッド ボックスの中心を 2D ポイント ジオメトリとして返します。 |
| to_geography(georepExpr) | GeoJSON、WKB、または WKT 表現から GEOGRAPHY(ANY) 値を返します。 |
| to_geometry(georepExpr) | EWKB、GeoJSON、WKB、または WKT の表現から GEOMETRY(ANY) 値を返します。 |
| try_to_geography(georepExpr) | GeoJSON、WKB、または WKT 表現から GEOGRAPHY(ANY) 値を返すか、入力表現が無効な場合は NULL を返します。 |
| try_to_geometry(georepExpr) | EWKB、GeoJSON、WKB、または WKT 表現から GEOMETRY(ANY) 値を返すか、入力表現が無効な場合は NULL を返します。 |
Export
| Function | Description |
|---|---|
| st_asbinary(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の WKB 表現を BINARY 値として返します。 |
| st_asewkb(geoExpr) | 入力 GEOMETRY 値の EWKB 表現を BINARY 値として返します。 |
| st_asgeojson(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の GeoJSON 表現を STRING 値として返します。 |
| st_asewkt(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の EWKT 表現を STRING 値として返します。 |
| st_astext(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の WKT 表現を STRING 値として返します。 |
| st_aswkb(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の WKB 表現を BINARY 値として返します。 |
| st_aswkt(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の WKT 表現を STRING 値として返します。 |
| st_geohash(geoExpr [, precisionExpr]) | 指定された精度で入力ジオメトリのジオハッシュを返します。 |
Measurements
| Function | Description |
|---|---|
| st_area(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の領域を返します。 |
| st_distance(geoExpr1, geoExpr2) | 2 つの入力 GEOMETRY 値間の 2D デカルト距離を返します。 |
| st_distancesphere(geoExpr1, geoExpr2) | 2 点 GEOMETRY 値の間の球面距離 (メートル単位) を返します。その半径は WGS84 楕円体の平均半径である球面上で測定されます。 |
| st_distancespheroid(geoExpr1, geoExpr2) | WGS84 楕円体の 2 点 GEOMETRY 値間の測地距離 (メートル単位) を返します。 |
| st_length(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の長さを返します。 |
| st_perimeter(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の境界を返します。 |
Constructors
| Function | Description |
|---|---|
| st_makeline(geoArray) | 図形の入力配列内のジオメトリの空以外の点をポイントとするライン文字列 GEOMETRY 値を返します。これは、ポイント、ライン文字列、またはマルチポイントと想定されます。 |
| st_makepolygon(outer[, innerArray]) | 入力外部境界と、閉じたライン文字列として表される内部境界の省略可能な配列から、多角形の GEOMETRY 値を構築します。 |
| st_point(x, y [, srid]) | 指定した X 座標と Y 座標と SRID 値 (指定されている場合) を持つポイント GEOMETRY 値を返します。 |
Accessors
| Function | Description |
|---|---|
| st_dimension(geoExpr) |
GEOMETRY値の 2D 投影のトポロジディメンションを返します。 |
| st_dump(geoExpr) | 入力ジオメトリ内の単一のジオメトリを含む配列を返します。 |
| st_endpoint(geoExpr) | 入力地理空間値が空でない行文字列の場合は、入力 GEOGRAPHY または GEOMETRY 値の最後のポイントを返します。 |
| st_envelope(geoExpr) | 入力GEOMETRY値の 2D 軸揃え最小境界ボックス (エンベロープ) を表す 2D デカルト GEOMETRY値を返します。 |
| st_envelope_agg(geoCol) | 列内のすべてのジオメトリのエンベロープを返します。列に行が 0 の場合、またはNULL値のみを含む場合はNULLします。 |
| st_exteriorring(geoExpr) | 入力ポリゴン GEOGRAPHY または GEOMETRY の外部リングをラインストリングとして返します。 |
| st_geometryn(geoExpr, nExpr) | 入力 GEOMETRY 値の 1 から始まる n 番目の要素を GEOMETRY 値として返します。 |
| st_geometrytype(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の型を文字列として返します。 |
| st_interiorringn(geoExpr, indexExpr) | 入力ポリゴン GEOGRAPHY または GEOMETRY の n 番目の内部リングをライン文字列として返します。 |
| st_isempty(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値に空以外のポイントが含まれていない場合は true を返します。 |
| st_m(geoExpr) | 入力ポイントの M 座標 GEOMETRY 値を返します。ポイントが空の場合、または M 座標がない場合は NULL を返します。 |
| st_ndims(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の座標寸法を返します。 |
| st_npoints(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値内の空でないポイントの数を返します。 |
| st_numgeometries(geoExpr) | 入力 GEOMETRY 値内のジオメトリの数を返します。 |
| st_numinteriorrings(geoExpr) | 入力ポリゴン GEOGRAPHY または GEOMETRY 値内の内部リングの数を返します。 |
| st_pointn(geoExpr, indexExpr) | 入力行文字列の GEOGRAPHY または GEOMETRY 値から n 番目のポイントを返します。 |
| st_startpoint(geoExpr) | 入力地理空間値が空でない行文字列の場合は、入力 GEOGRAPHY の最初のポイントまたは GEOMETRY 値を返します。 |
| 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
| Function | Description |
|---|---|
| st_addpoint(geo1Expr, geo2Expr[, indexExpr]) | 入力ライン文字列 GEOGRAPHY または GEOMETRY 値の n 番目の位置に新しいポイントを追加します。 |
| st_flipcoordinates(geoExpr) | 入力 GEOMETRY 値の X 座標と Y 座標をスワップします。 |
| st_multi(geoExpr) | 入力 GEOGRAPHY 値または GEOMETRY 値を等価の複数地理空間値として返します。 |
| st_removepoint(geoExpr, indexExpr) | 入力行文字列の GEOGRAPHY または GEOMETRY 値から n 番目のポイントを削除します。 |
| st_reverse(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値を反転します。 |
| st_setpoint(geo1Expr, indexExpr, geo2Expr) | 入力ライン文字列の n 番目のポイントを GEOGRAPHY または GEOMETRY 値に設定します。 |
ジオメトリの検証
| Function | Description |
|---|---|
| st_isvalid(geoExpr) | 入力 GEOMETRY 値が OGC 意味の有効なジオメトリである場合は true を返します。 |
空間参照システム関数
| Function | Description |
|---|---|
| st_setsrid(geo, srid) | 指定された SRID 値を持つ新しい GEOMETRY 値を返します。 |
| st_srid(geoExpr) | 入力 GEOGRAPHY または GEOMETRY 値の SRID を返します。 |
| st_transform(geo, srid) | 入力 GEOMETRY の X 座標と Y 座標を現在の座標参照システムから、指定された SRID 値で記述された座標参照システムに変換します。 |
距離リレーションシップ
| Function | Description |
|---|---|
| st_dwithin(geoExpr1, geoExpr2, distanceExpr) | 2 つの入力 GEOMETRY 値間の 2D デカルト距離が入力距離値以下の場合は true を返します。 |
トポロジリレーションシップ
| Function | Description |
|---|---|
| st_contains(geo1, geo2) | 最初の GEOMETRY 値に 2 番目の GEOMETRY 値が含まれている場合は true を返します。 |
| st_covers(geoExpr1, geoExpr2) | 最初の GEOMETRY 値が 2 番目の GEOMETRY 値をカバーする場合は true を返します。 |
| st_disjoint(geoExpr1, geoExpr2) | 2 つの入力true値が不整合である場合にGEOMETRYを返します。 |
| st_equals(geoExpr1, geoExpr2) | 2 つの入力 GEOMETRY 値が幾何学的に等しい場合、つまり同じポイント セットに対応する場合は true を返します。 |
| st_intersects(geoExpr1, geoExpr2) | 2 つの入力 GEOMETRY 値が交差する場合は true を返します。 |
| st_touches(geo1, geo2) | 2 つの入力 GEOMETRY 値が互いに触れ合う場合は true を返します。 |
| st_within(geo1, geo2) | 最初の GEOMETRY 値が 2 番目の GEOMETRY 値内にある場合は true を返します。 |
オーバーレイ関数
| Function | Description |
|---|---|
| st_difference(geoExpr1, geoExpr2) | 2 つの入力 GEOMETRY 値のポイント セット差を 2D GEOMETRY 値として返します。 |
| st_intersection(geoExpr1, geoExpr2) | 2 つの入力 GEOMETRY 値の点集合の交差を 2D GEOMETRY 値として返します。 |
| st_union(geo1, geo2) | 2 つの入力 GEOMETRY 値のポイント セット和集合を 2D ジオメトリとして返します。 |
| st_union_agg(geoCol) | 列内のすべてのジオメトリのポイントごとの和集合を返します。列に行が 0 の場合や、NULL値のみを含む場合はNULLを返します。 |
アフィン変換
| Function | Description |
|---|---|
| st_rotate(geoExpr, rotationAngle) | 入力 GEOMETRY 値を Z 軸を中心に、指定した回転角度 (ラジアン単位) で回転します。 |
| st_scale(geoExpr, xfactor, yfactor[, zfactor]) | 入力 GEOMETRY 値を X、Y、および指定した場合は、指定された拡大縮小係数を使用して Z 方向にスケーリングします。 |
| st_translate(geoExpr, xoffset, yoffset[, zoffset]) | 指定したオフセットを使用して、入力 GEOMETRY 値を X、Y、および指定した場合は Z 方向に変換します。 |
ジオメトリ処理
| Function | 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(geo,tolerance) | Douglas-Peucker アルゴリズムを使用して、入力 GEOMETRY 値を簡略化します。 |