Spatialiteには、 Distance()関数を使用して2つのジオメトリ間の距離を計算する機能があります。LINESTRINGで機能する他の関数があります。しかし、それがどのユニットに返されるのかわかりません。メートルですか?2つのポイントがある場合、spatialiteクエリでそれらの間の距離を計算するにはどうすればよいですか?
(記録のために、私はSRID 4326、つまりWSG 86、つまり古い伝統的な緯度と経度を使用しています)。
Spatialiteには、 Distance()関数を使用して2つのジオメトリ間の距離を計算する機能があります。LINESTRINGで機能する他の関数があります。しかし、それがどのユニットに返されるのかわかりません。メートルですか?2つのポイントがある場合、spatialiteクエリでそれらの間の距離を計算するにはどうすればよいですか?
(記録のために、私はSRID 4326、つまりWSG 86、つまり古い伝統的な緯度と経度を使用しています)。
ST_Distance()、ST_Length()、およびST_Area()によって返される単位は、対応するSRIDによって定義された単位とまったく同じです。
したがって、緯度と経度(SRID = 4326、WGS 84)を使用している場合、任意の長さは度で測定され、任意の面積は平方度で測定されます。
より一般的な単位(METERS、SQUARE METERS)を指定する場合は、ST_Transform()を使用してジオメトリを適切な「平面」CRS(UTMなど)に投影するだけです。
バージョン2.4.4以降には、距離クエリのメートルを返す関数PtDistWithin()があります。ドキュメントを参照してください。セクション「距離関係のためのSQL関数」: http ://www.gaia-gis.it/spatialite-2.4.0-4/spatialite-sql-2.4-4.html#p13