注:この質問は、最初にStackoverflowで公開されました。
ジオメトリテーブルpoints_table
とSRID 4326
いくつかのポイントがあります。
このテーブルから一対のポイント(フィーチャ)間の距離を見つける必要があります。
で1つのポイントを選択しid = X
、別のポイントでを選択id = Y
し、ST_Distance
関数でそれらの間の距離を見つけたいと思います。
データベースからこれらの2つのポイントを照会する方法を知っています。
select * from points_table where id = X or id = Y;
しかし、このクエリは結果を返します。2つのパラメータを取るST_Distance
ため、に渡す方法がわかりませんST_Distance
。
私が試してみました Select ST_Distance(select the_geom from points_table where id = X or id = Y);
しかし、明らかに間違っています。
テーブルから2つのジオメトリポイント(フィーチャ)間の距離を見つけるにはどうすればよいですか?
PSこれまでに見つけたすべての例は、ST_Distance関数の引数にハードコードされたポイントを使用したST_Distanceの使用法を示しています。ST_Distanceを使用して同じテーブルの2つのポイント間の距離を計算する例は見つかりませんでした。