2010-05-07 61 views
2

我剛開始我用GIS熟悉,但我喜歡的前手知道下面是可行的與當前的GIS應用/工具...這是GIS的可行嗎?

  1. 我明白了通過地理編碼的地址。容易的部分。
  2. 現在,如果點落在界內(可能是一個城市/縣/狀態),那麼我需要得到與邊界相關的數據(任何ID /標誌)。
  3. 基於ID /標誌我然後應用一些業務邏輯。

我的問題是...

  1. 如何定義的邊界?我應該使用哪些工具?
  2. 如何將邊界定義存儲在數據庫中以檢查點是否落入其中?這必須在後端完成,而不是在可視地圖中完成,因爲我們不打算顯示/使用地圖。
  3. 我如何將自定義數據(id/flag)與上述邊界定義相關聯?

希望我有對GIS的功能正確的假設。我看到的大多數例子都是圍繞着試圖用數據顯示地圖的人,而這些數據並不是我正在尋找的東西。也請給我建議一些工具/書籍。

回答

5

如何定義的邊界?我應該使用哪些工具?

邊界可能是(也許是)的形狀(多邊形,多面),你可以在任何當前GIS格式提供。您需要考慮投影和您提供的數據。

如何將邊界定義存儲在數據庫中以檢查點是否落入其中?

使用PostGreSQL和它的空間擴展(Postgis)。將(1)中的多邊形導入數據庫(例如使用FWTOOLSogr2ogr)。這會讓你在表格中產生一個漂亮的幾何字段,你可以在標準SQL方式下使用漂亮的Postgis geometry functions(St_Intersects在這裏適合:找出點在地理上是否與我們的多邊形'相交',或者你可以使用ST_Within來查找如果點符合多邊形)

如何將我的自定義數據(id /標誌)與上述邊界定義相關聯?

只是一個額外的列添加到其中geometry存儲在表中。

+1

其實,檢查對多邊形的一個點時,ST_Intersects和ST_Within是相同的。但是,是的,這是一條路。確保您瞭解投影和基準的GIS概念,因爲它們仍然適用於數據庫。 – 2010-05-08 00:13:39

+0

完美的回答正是我所期待的。當我開始這個旅程時,我發現我需要一些關於GIS的基礎知識,並且發現這個基準和預測是圍繞基準和預測http://www.utsa.edu/lrsg/Teaching/ES2113/L4_projection.pdf。很有幫助。 – 2010-05-08 00:40:12

+0

+1。我還會提到,您可以使用任何空間啓用的數據庫,這與在此答案中使用Postgis的方式類似。例如,SQL Server和MySQL有內置的空間擴展(在更高版本中)。 – MarkJ 2010-05-25 11:45:53