2010-01-12 76 views
0

如何使用GeoDjango內置的城市,州或郵政編碼在我的Django應用程序進行搜索的搜索?我對geodjango很陌生,只是試圖將我的頭圍繞在涉及這個的東西上。GeoDjango內置 - 按城市,州或郵政編碼

而且,沒有人知道它已經實現了此功能的應用程序?

回答

2

你需要做的第一件事是創建這將是代表每個郵政編碼幾何對象的表郵編模式。你還需要有另一個你將要搜索的模型,它需要有一個地理位置字段。然後你會做這樣的事情:

zip = 10010 
zipcode = ZipCode.objects.get(number=zip) 
Store.objects.filter(coordinates__in=zipcode) 

或類似的東西。

+0

我決定使用geopy,但我會給你最好的答案,因爲你是唯一一個懶得回答的人。 – Joe 2010-02-20 22:12:52

0

我會盡快嘗試類似的東西...我有大約40個地點一個小數據庫,我希望用戶能夠通過輸入任何郵政編碼或城市名稱來過濾這些40點的位置,使用功能這將返回一個位於5,10,15,20等半徑距離內的位置列表。

我想利用地理編碼網絡服務來存儲在數據庫中的每個位置的緯度/經度。然後,當用戶輸入城市名稱或郵政編碼時,使用一個Web服務調用來獲取該緯度/經度,並在python列表理解中執行直觀的非三角距離計算(駕駛距離)。

那麼,現在回答這個問題,我認爲這就是它涉及,但它可能會引起爆炸相當快,如果沒有辦法來限制需要完成的計算量。