实时GPS跟踪

时间:2012-09-10 05:32:54

标签: python gps real-time sms-gateway real-time-data

我正在尝试使用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之外最喜欢的语言来实现相同的

请提前提出一些文件教程的建议

1 个答案:

答案 0 :(得分:0)

如果您打算通过串口不断收集GPS数据,请查看双绞线服务器(它的反应堆支持来自串口的事件)http://twistedmatrix.com/trac/有一个例子可以不断获得gps在串口上的位置 - 请参阅此页面上的gpsfix.py http://twistedmatrix.com/documents/current/core/examples/。它可能不是你想要的,但它是一个很好的起点,并允许你用一些工作代码来评估这种方法。