ST_Perimeter - Amazon Redshift

ST_Perimeter

ST_Perimeter は入力された面積ジオメトリに対して、その 2D 射影の周長 (境界の長さ) をデカルト座標系で返します。周長の単位は、入力ジオメトリの座標を表す単位と同じです。この関数は、ポイント、マルチポイント、および線形ジオメトリに対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクションのジオメトリの周長の合計を返します。

入力がジオグラフィの場合、ST_Perimeter では、SRID で決定される回転楕円体上で計算され与えられた面積ジオグラフィについて、その 2D 射影に関する測地座標系での周長 (境界の長さ) を返します。周長の単位はメートルです。この関数は、ポイント、マルチポイント、および線形地形に対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクション内にあるジオグラフィの周長の合計を返します。

構文

ST_Perimeter(geo)

引数

geo

データ型 GEOMETRY または GEOGRAPHY の値、または GEOMETRY もしくは GEOGRAPHY 型として評価される式です。

戻り型

DOUBLE PRECISION

geo が null の場合、null が返されます。

SRID 値が見つからない場合、エラーが返されます。

次の SQL は、マルチポリゴンのデカルト座標系での周長を返します。

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

次の SQL は、マルチポリゴンのデカルト座標系での周長を返します。

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

次の SQL は、ジオグラフィ内にあるポリゴンの周長を返します。

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
st_perimeter ------------------ 378790.428393693

次の SQL は、ジオグラフィ内にあるライン文字列の周長を返します。

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
st_perimeter -------------- 0