2013-06-01 68 views
3

我們正在研究乘車分享服務,我們正在使用PostgreSQL作爲我們的數據庫管理系統來存儲乘車細節。 我們還沒有使用任何特殊的數據類型來存儲我們的緯度和經度信息,但當前將它們保存爲字符串對象。 爲了提高我們對地理定位數據的搜索查詢的性能,我們可以使用PostGIS還是PostgreSQL有其他與位置有關的支持?在這種情況下改善數據庫性能的東西? (我們BTW使用Django)PostgreSQL中的地理位置查詢

我們的數據會是這個樣子: Ride1開始從pointA(lat,long)並且去pointB(lat,long)routePoints(lat,long)(lat,long) ......一路走來。 我們需要對這個數據執行復雜的查詢,例如:

  1. 誰從pointA1這是總距離的5%A-> B旅行嗎?和
  2. 在路線點陣列中有一點與用戶的位置一致嗎?用戶可以選擇它嗎?

感謝您閱讀本文。請幫我選擇上述地理位置查詢系統的最佳數據庫體系結構。

+0

這些'請幫忙選擇最好的架構'問題並不適合Stack Overflow。查看常見問題解答:http://stackoverflow.com/faq –

+2

雖然我不同意downvoter--如果您不滿意,請務必留下評論,尤其是對於新用戶。 –

回答

1

如果您已經將數據存儲到Postgres中,Postgis是一個很好的選擇(當然,它實際上是THE的選擇)。

Postgis有functions可以將您的文本座標表示轉換爲幾何/地理對象,然後可以用來執行各種計算。

Django有一個Postgis module,即使我從來沒有使用它,所以YMMV。