我正在嘗試使用python()來製作實時GPS跟蹤設備。實時GPS跟蹤
功能
我有10個固定地點
loc0 = (lat0,lon0)
loc1 = (lat1,lon1)
loc2 = (lat2,lon2)
loc3 = (lat3,lon3)
loc4 = (lat4,lon4)
loc5 = (lat5,lon5)
loc6 = (lat6,lon6)
loc7 = (lat7,lon7)
loc8 = (lat8,lon8)
loc9 = (lat9,lon9)
我目前的職位
locCurrent = (latCurrent,lonCurrent)
代碼來計算距離
def haversine(lon1, lat1, lon2, lat2):
"""
Calculate the great circle distance between two points
on the earth (specified in decimal degrees)
"""
# convert decimal degrees to radians
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine formula
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
km = 6367 * c
return km
疑問
1.)當距離小於5千米時,我應該怎麼觸發一個函數,例如發送電子郵件或短信,有效(一種可能的方式是運行一個無限循環並根據距離(這裏5公里),但是那不是很有效)
2),這是比Python來完成相同的
請建議一些記錄教程關於同其他最喜歡的語言,感謝提前
這是要在手機上運行嗎?或中央服務器?或一臺電腦?或Arduino板?你如何得到你的價值觀?你能做一個cron工作嗎? –
我剛開始規劃我的項目。我打算最終在中央服務器上運行它,但截至目前我已經有了一個OSX,並且關於位置信息,我已經看到了一些通過串行連接到GPS設備的示例ports.I需要得到正確的信息和方向開始,你可以建議我一些教程關於相同的 – Abhimanyu
如果你從一個串行端口獲得你的數據,你將不得不連續輪詢它,所以你基本上看着一個無限循環...如果它的電話應用程序將與中央服務器通話,您將收到來自應用程序的查詢,並且不需要無限循環...一旦您獲得了您的要點,您可以將它們繪製在Google Maps API上或什麼 –