2010-05-31 64 views

回答

2

空間擴展到關係數據庫系統提供存儲和索引訪問地理/幾何數據類型。它們允許您執行空間連接和各種空間查詢。總之,他們正是你所需要的。

如果您使用的是開源堆棧,我會推薦PostGIS,這是Postgresql的空間擴展。如果您使用MS堆棧,請嘗試spatial extensions to SQL Server 2008

+1

關於開源堆棧的問題,MySQL也有geospacial支持 - http://dev.mysql.com/doc/refman/5.0/en/gis-introduction.html – 2010-06-04 04:08:54

0

我建議你考慮GeoDjango
這是非常好的,因爲它融合了Python/Django的簡單性和PostGIS的強大功能。但它也可能很複雜,並提供太多功能,因此浪費您的時間。

如果你沒有特別的需求,還有另外一種更簡單的解決方案可以與Django或Python一起使用,即Geopy。雖然不向數據庫添加空間擴展,但它允許您使用通用數據結構(也包括任何數據庫)執行地理空間計算。你可以計算距離,做(反向)地理編碼。看看Getting Started頁面,但也直接在code,因爲它是有據可查的。我將它用於Dynamic Carpooling項目,效果非常好。

這兩個解決方案都非常適合Django框架,所以您可以圍繞所提供的服務輕鬆開發一個網站。

1

MySQL有一個spatial extension和教程here。獲得快速查詢的基本思路是設計一個帶有空間索引的列的表格,該索引對於範圍查詢很快,例如「給我靠近這一點」。

當然,還有Postgres和PostGIS,你可以從SimpleGeo這樣的公司支付這項服務。