2016-03-21 100 views
0

從GPS設備獲取經緯度數字後,我需要檢查該設備是否位於相當大面積的湖泊或河流。如何將GPS位置與地圖區域相匹配?

我可以在河流中存儲一系列GPS位置,作爲數據庫中的一個數組。如果檢測到的位置接近陣列中的任何值,我會決定用戶沿着河流。

這種方法很尷尬。當涉及到湖泊時,它會遇到麻煩。用戶可能在船上的一個湖中,其位置遠離湖邊。

那麼,決定GPS位置是否靠近河流/湖泊的首選解決方案是什麼?

+0

對於那個使用信標 –

+0

沒辦法。我們要把燈塔扔在河邊嗎?而湖的中心距離湖邊燈塔的距離可能遠遠超過10米 – Blaise

+0

絕對不要這樣做,但根據我的方面,燈塔是您的情況中唯一的最佳選擇。因爲你已經失敗了GPS或網絡位置。基於半徑的計算我的意思是如果你在半徑10米內,那麼你非常靠近船。信標已經提供了這個 –

回答

0

正確的方法是在多邊形算法中使用一個點。 數字地圖提供了水域的多邊形,如湖泊或河流。

有基於線的水結構(小河的中線)和多邊形的基礎。這些多邊形附有一個名稱。

困難的(或昂貴的)部分是獲取多邊形。 如果你沒有與兩個主要的數字地圖提供者(TomTom和這裏)的合同,你只能嘗試OpenStreetMap。

+0

謝謝。我猜這個多邊形可能值得去嘗試。 – Blaise