Postgis ST_DIstance 查询返回不准确的结果
Postgis ST_DIstance query returning inaccurate results
我正在使用以下查询从 postgresql 数据库中检索记录
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326)) as st_distance").order("st_distance").limit(10)
- services.lon_lat是地理类型
在我的应用中实施 "get directions" 方面后,我注意到上述查询 return 的距离和 google 地图中的方向不准确。
重要的是要注意,考虑到到目的地的道路可能不是一条直线,我确实预计会有轻微的差异,但似乎不准确是另一种方式,例如第一个 returned 项目在这个查询中说它 216km 距离 google 地图说 181km,第 10 个说 247km 与 google 地图相比 203km...距离越远越不准确...第 46 项 returned 如果我选择 return 许多人说 424km 与 298km.
非常感谢有关此主题的任何指导或帮助...
使用的坐标示例纬度:53.199426 经度:-8.132368 在数据库中,我请求距 Lat:53.300929 经度:-6.179949 的距离...这是带查询的 216 公里和带查询的 181 公里google
POINT坐标按经度、纬度顺序排列。
这个:
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326)) as st_distance").order("st_distance").limit(10)
应该是:
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lon lat)', 4326)) as st_distance").order("st_distance").limit(10)
我正在使用以下查询从 postgresql 数据库中检索记录
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326)) as st_distance").order("st_distance").limit(10)
- services.lon_lat是地理类型
在我的应用中实施 "get directions" 方面后,我注意到上述查询 return 的距离和 google 地图中的方向不准确。
重要的是要注意,考虑到到目的地的道路可能不是一条直线,我确实预计会有轻微的差异,但似乎不准确是另一种方式,例如第一个 returned 项目在这个查询中说它 216km 距离 google 地图说 181km,第 10 个说 247km 与 google 地图相比 203km...距离越远越不准确...第 46 项 returned 如果我选择 return 许多人说 424km 与 298km.
非常感谢有关此主题的任何指导或帮助...
使用的坐标示例纬度:53.199426 经度:-8.132368 在数据库中,我请求距 Lat:53.300929 经度:-6.179949 的距离...这是带查询的 216 公里和带查询的 181 公里google
POINT坐标按经度、纬度顺序排列。
这个:
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326)) as st_distance").order("st_distance").limit(10)
应该是:
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lon lat)', 4326)) as st_distance").order("st_distance").limit(10)