2017-02-05 36 views
0

我已經從geonames下載數據,然後按照以下鏈接將其轉儲到POSTGIS中。從POSTGIS獲取地點

https://github.com/colemanm/gazetteer/blob/master/docs/geonames_postgis_import.md

我不知道如何在瞬間得到兩條路線之間的位置。該表格有latitudelongitude的單獨列。

我需要得到路線之間的地方,有沒有做到這一點?

我曾嘗試

得到兩分之間的地方:

SELECT * FROM geoname WHERE 
ST_DWithin('POINT(44.8781 -116.6298)', 
ST_GeographyFromText('POINT(43.7392 -114.9903)'), 16093.4); 

我得到0的結果,即使我敢肯定有這些點附近的地方。

我也有試過,

SELECT * FROM geoname WHERE 
ST_Distance_Sphere('POINT(44.8781 -116.6298)',  
ST_MakePoint(43.7392,-114.9903)) <= 16093.4; 

是它是用pgRouting完成。可能類似於使用pgRouting獲得路線,然後沿着path獲取地點。

回答

0

您沒有看到錯誤消息「錯誤:座標值超出範圍[-180 -90,180 90] GEOGRAPHY類型」?

交換從LAT LON(或Y X)的軸以正確的軸順序經度LAT(或X Y)。如果您錯誤地使用前一軸順序創建了幾何圖形/地理對象,則可以使用ST_FlipCoordinates

更新交換版本