我正在尝试使用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上或什么 –