次の方法で共有


st_perimeter 関数

適用対象:はい Databricks SQL チェックが Databricks Runtime 17.1 以降" とマークされているチェック

Important

この機能は パブリック プレビュー段階です

この機能は、Databricks SQL クラシック ウェアハウスでは使用できません。 Databricks SQL ウェアハウスの詳細については、 SQL ウェアハウスの種類に関するページを参照してください。

入力 GEOGRAPHY または GEOMETRY 値の境界を返します。

Syntax

st_perimeter ( geoExpr )

Arguments

  • geoExpr: GEOGRAPHY または GEOMETRY の値。

Returns

入力DOUBLEまたはGEOGRAPHY値の境界を表す、GEOMETRY型の値。

入力が GEOGRAPHY 値の場合、関数は入力 GEOGRAPHY 値の測地線の境界です。 具体的には、多角形の (2D 投影の) セグメントの測地線の長さの合計と、マルチポリゴン内の多角形の境界の合計が返されます。 面積に関連しない地理要素(ポイント、ラインストリング、マルチポイント、マルチラインストリング)の場合は0が返されますが、ジオメトリーコレクションの場合はコレクション内の要素の境界の合計が返されます。 結果は、WGS84 楕円体を想定して逆測地線計算を実行することによって計算されます。 結果の単位はメートルです。

入力が GEOMETRY 値の場合、この関数は入力 GEOMETRY 値のデカルト境界を返します。 具体的には、多角形の (デカルト投影の) セグメントの長さの合計と、マルチポリゴン内の多角形の境界の合計を返します。 非等値ジオメトリ (ポイント、ライン文字列、マルチポイント、マルチライン文字列) の場合は 0 が返され、geometry コレクションの場合はコレクション内の要素の境界の合計が返されます。 結果の単位は、入力 GEOMETRY 値の空間参照システムの単位です。

いずれかの入力がNULLされている場合、関数はNULLを返します。

Examples

-- Returns the perimeter of a 2D Cartesian polygon with a hole.
> SELECT round(st_perimeter(st_geomfromtext('POLYGON((0 0,50 0,50 50,0 50,0 0),(20 20,25 30,30 20,20 20))')), 2);
  232.36