2

Spatialite能够使用它的Distance()函数计算 2 个几何图形之间的距离。还有其他函数适用于 LINESTRING。但是我不知道它返回的单位是什么。是米吗?如果我有 2 个点,如何在空间查询中计算它们之间的距离?

(作为记录,我使用的是 SRID 4326,即 WSG 86,即旧的传统纬度和经度度)。

4

2 回答 2

11

ST_Distance()、ST_Length() 和 ST_Area() 返回的单位正是对应的 SRID 定义的单位。

因此,如果您使用纬度和经度 (SRID=4326, WGS 84),任何长度都将以度为单位,任何面积都以平方度为单位。

如果您有兴趣提供更传统的单位(米、平方米),您只需使用 ST_Transform() 将您的几何图形投影到一些适当的“平面”CRS(例如 UTM)中

于 2011-11-27T18:29:19.917 回答
0

在 2.4.4 及更高版本中,有一个函数 PtDistWithin() 可返回米以进行距离查询。见文档。“距离关系的 SQL 函数”部分: http ://www.gaia-gis.it/spatialite-2.4.0-4/spatialite-sql-2.4-4.html#p13

于 2012-04-26T23:48:57.780 回答