2013-07-30 46 views
1

我正在開發一個用於流量監控的android應用程序。我收集交通信息並更新數據庫。我需要的是當用戶輸入他的當前位置和目標應用程序提供兩個位置之間的交通情況。有沒有什麼辦法來檢測更新的交通位置是否在我的兩點之間。 由於事先兩個位置之間的點

+0

如果他們在一條直線上? – nullpotent

+0

您需要提供更多的上下文和信息才能幫助您。你有沒有嘗試過這個問題? –

+0

不,他們不在一條直線上。我嘗試了其他一些方法來爲用戶提供交通數據。但我需要知道谷歌地圖是否提供了這樣的設施。 – user2020938

回答

1

肯定有很多選項來做到這一點 - 我建議如下:

假設:

start is S 
destination is D 
point to check (traffic point) is P 

則計算如下距離(與harvesine公式)

SD 
SP 
DP 

當P位於S和D之間的直線上時,則SD = SP + DP - 但是由於您還想檢查不在該理想範圍內的點你需要檢查一下類似的東西SD + C> SD + DP C是一個常數(或常數函數/ SD的百分比),用於指定一個閾值,指定哪些點計算爲S和D之間的值,用於您的應用程序

0

不,我認爲這是行不通的:

您需要從開始到目的地的路線作爲道路多邊形列表。
但是這些數據你不會從谷歌等獲得,他們不會給你的載體。
沒有這一點,您無法將您的流量數據與街頭多邊形進行匹配。

這可以適用於OpenStreetmap,因爲這些向量是開放數據。

但是這一切都是一項重大任務...

相關問題