すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_Distance

最終更新日:Jul 01, 2024

このトピックでは、ST_Distance関数について説明します。 この関数は、ジオメトリオブジェクトの参照座標系における2つのジオメトリオブジェクト間の2Dユークリッド距離を計算します。 2つの地理オブジェクトを指定した場合、この関数は地理オブジェクト間の最小球面距離をメートル単位で返します。

構文

float ST_Distance(geometry g1 , geometry g2);
float ST_Distance(geography gg1 , geography gg2);
float ST_Distance(geography gg1 , geography gg2 , boolean useSpheroid);

パラメーター

パラメーター

説明

g1

指定する最初のジオメトリオブジェクト。

g2

指定する2番目のジオメトリオブジェクト。

gg1

指定する最初のgeographyオブジェクト。

gg2

指定する2番目のgeographyオブジェクト。

usesSpheroid

楕円体を使用するかどうかを指定します。 デフォルトはtrueです。このパラメーターをfalseに設定すると、速度を向上させるために特定の精度が適用されます。

説明

この関数は、円形の文字列と曲線をサポートします。

次の例は、ST_Distance関数とST_3DDistance関数の違いを示しています。

SELECT ST_Distance(g1,g2),ST_3DDistance(g1,g2) FROM(SELECT 'POINT(0 0 0)'::geometry as g1,
                                                                 'POINT(1 1 1)'::geometry as g2) as test;
   st_distance   |  st_3ddistance
-----------------+------------------
 1.4142135623731 | 1.73205080756888
(1 row)