このトピックでは、ST_Length関数について説明します。 この関数は、オブジェクトの2D空間内のLineStringオブジェクトまたはMultiLineStringオブジェクトの長さを計算します。
構文
float ST_Length (ジオメトリa2dlinestring);
float ST_Length(geography geog、ブール値のuseSpheroid); パラメーター
| パラメーター | 説明 |
| a2dlinestring | 指定する2Dリニアジオメトリオブジェクト。 |
| geog | 指定するgeographyオブジェクト。 |
| usesSpheroid | 楕円体モデルを使用するかどうかを指定します。 |
説明
- ジオメトリオブジェクトを指定する場合、次のルールが適用されます。
- ジオメトリオブジェクトがLineString、MultiLineString、ST_Curve、またはST_MultiCurveの場合、この関数は2Dデカルト長を返します。
- ジオメトリオブジェクトがサーフェスの場合、この関数は0を返します。 サーフェスの2D空間内のサーフェスの長さを取得するには、ST_Perimeter関数を使用します。
- 返される長さは、ジオメトリオブジェクトの空間参照システムによって指定された単位で測定されます。
- 地理オブジェクトを指定すると、この関数はメートル単位で測定される逆測地距離を返します。
例
デフォルトのパラメーター設定を使用して、オブジェクトの2D空間内のジオメトリオブジェクトの長さを計算します。
SELECT ST_Length('LINESTRING(0 0,1 1)'::geometry);
st_length
-----------------
1.4142135623731
(1行)