我正在尝试使用python()创建一个实时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公里时,我应该如何有效地触发功能,例如发送电子邮件或短信 (一种可能的方法是运行一个无限的while循环并检查距离(这里是5kms),但那不是很有效,)
2.)这是除了python之外最喜欢的语言来实现相同的
请提前提出一些文件教程的建议
答案 0 :(得分:0)
如果您打算通过串口不断收集GPS数据,请查看双绞线服务器(它的反应堆支持来自串口的事件)http://twistedmatrix.com/trac/有一个例子可以不断获得gps在串口上的位置 - 请参阅此页面上的gpsfix.py http://twistedmatrix.com/documents/current/core/examples/。它可能不是你想要的,但它是一个很好的起点,并允许你用一些工作代码来评估这种方法。