Spatialite的Distance()函数返回什么单位?

时间:2011-11-27 18:11:20

标签: sqlite gis distance spatialite

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

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

2 个答案:

答案 0 :(得分:9)

ST_Distance(),ST_Length()和ST_Area()返回的单位 确切地说是由相应的SRID定义的那个。

因此,如果您使用纬度和经度(SRID = 4326, WGS 84),任何长度都将以DEGREES和任何区域来衡量 SQUARE DEGREES。

如果你有兴趣提供更传统的 单位(METERS,SQUARE METERS),你只需投射 将几何图形转换为适当的“平面”CRS(例如UTM) 使用ST_Transform()

答案 1 :(得分:0)

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