2011-10-09 64 views
0

請隨時糾正任何未使用的話在這篇文章中,因爲我不熟悉在這些領域,我用盡我所知的文字,但他們是可能是錯的。地理信息系統獲取特定的bb框/縮放級別信息

所以這裏就是我想要做的:

兒童拐賣是一個相當嚴重的問題,早在中國,我的一個朋友今天下午跟我說話,iOS和Android上一個單獨的應用程序的想法爲了完成這項任務,用戶可以拍攝照片,將他們的GPS位置上傳到數據庫,並且該應用程序還可以顯示數據庫中的信息,作爲地圖上的註釋。

我的問題是:

在應用程序中,當用戶提交一個新的職位,其中包括照片,GPS定位,任何註釋,到數據庫中。

然後我們用戶切換到地圖視圖,我們將不得不獲取當前縮放級別/ BB箱信息,所以

我應該如何,存儲這些信息在DB什麼格式?

是否有任何開源工具,可以分析給定BB箱/縮放級別的信息,並返回一個XML文件,這樣就可以用它來顯示信息?

- 我找到了GeoServer,有沒有更好的供我使用?我真的只需要它來生成基於bb box /縮放級別的xml文件。

我想象一下Google App Engine/Amazon Ec2上的主機工具(稱爲geocoder?)是最理想的,對db不太瞭解,可能是Amazon Simple DB?

謝謝!

回答

1

有許多開源工具可以提供幫助 - 例如,您可以查看GeoDjango,它可以使用地理數據庫PostGIS - 但對於此應用程序,實際上,您不需要任何特定於地理位置的內容:

  • 您將接收GPS座標,緯度/經度,所以想必你必須在你的數據庫中的表有兩列,latitudelongitude

  • 要做邊界框查找,您只需要經度和緯度(任何基於Web的地圖都可以提供給您)的最小值/最大值。一旦你有了,幾乎所有的SQL數據庫都會支持這樣的查詢:

    SELECT * FROM records 
        WHERE latitude >= $min_lat 
         AND latitude <= $max_lat 
         AND longitude >= $min_lon 
         AND longitude <= $max_lon; 
    

    這給你一個屬於你的邊界框的記錄列表。

  • 現在你可以使用任何你喜歡的中間件 - 一個像Django或Drupal這樣的CMS系統,一個自定義的PHP腳本等 - 將結果集轉換爲XML或JSON格式。

地理數據庫做了很多事情,關係數據庫不容易做,比如找到半徑內的點或一組多邊形內的點。但是你並不需要你的應用程序 - 任何具有基本數據庫查詢功能的系統都應該爲你提供所需的東西。

+0

感謝您的信息。我還希望能夠將要顯示在地圖上的圖標聚類在一起,例如,如果在給定位置有100個圖標,我想要一個羣集的較低縮放級別,則只有在放大時才顯示幾個小羣集或單個圖標,任何想法如何做到這一點? –