2012-02-06 58 views
0

嗨#1人,GeoDjango/PostGIS/Concept:如何將用戶條目連接到shapefile信息?

我對組織註冊,其中機構單位可以註冊自己的項目區域(像所有的內華達州,整個美國,或只是一個城市如波士頓)和用戶將會發現這是涵蓋了所有的組織工作由組織根據他們的經緯度來計算。

什麼是連接組織信息和用戶搜索的最佳方式?

爲以下方法確定或你有什麼建議:

  1. 我加載所有必要的州,縣等的形狀文件中 我的PostGIS數據庫
  2. 如果一個組織增加了「新約克州「到 他們的覆蓋面積,我會查找狀態 (或ID到形狀)的多邊形形狀並將其保存在我的覆蓋表
  3. 當我搜索組織覆蓋範圍時,我會查找所有項目在哪裏 用戶緯度& LNG是

部分的上面確定這過程連接的用戶信息shape文件信息?

如何查找形狀文件中的多邊形?我可以用ID來引用他們嗎?

查找工作如何與城市一起工作,因爲大多數城市名稱列出的lat,lng只列出城市的中心點?還是有一張甚至是城市邊界的桌子?

謝謝您的幫助和建議!

回答

1

當您將shp文件導入到shp2pgsql的postgis中時,所有其他列(州名稱,城市名稱等)也會被導入,因此您可以通過名稱或shp文件具有的任何其他屬性進行搜索,或者您可以通過幾何搜索,如果你有一個點,你要搜索近點(在你的情況下,城市的)多邊形或點,查詢到數據庫是很簡單的:

SELECT * from myTable where ST_DWithin(users_point, the_geom, 0.002); 

//的距離單位ST_DWithin在幾何單位。

PS shp2pgsql自動創建一個串行列(唯一ID)

相關問題