Spatialite能够使用Distance()函数计算2个几何之间的距离。还有其他functions适用于LINESTRING。但是我找不到它返回的单位。是米吗?如果我有2个点,如何在空间查询中计算它们之间的距离?
(对于记录我使用的是SRID 4326,即WSG 86,即旧的传统纬度和经度)。
答案 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