簡體   English   中英

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是一種地理類型

在為我的應用實現“獲取路線”方面之后,我注意到從上述查詢返回的距離和Google地圖中的路線均不准確。

重要的是要注意,我確實確實考慮到到達目的地的道路可能不是一條直線,但會略有差異,但似乎不正確,例如,此查詢中的第一個返回項表示距Google地圖的216公里說181公里 ,10日說247公里相比,谷歌地圖203公里 ...進一步的距離誤差越大......第46條,如果我選擇返回,很多說424公里相比298公里返回。

在這個問題上的任何指導或幫助將不勝感激。

使用的座標范例經緯度:53.199426經緯度:-8.132368在數據庫中,我要求與經緯度距離: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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM