无视界-个人小站
python版本 通过GPS经、纬度计算距离类。

今天做以前的项目时,发现自己写的这段代码。。 分享出来。。。

#!/usr/bin/python  
# -*- coding: UTF-8 -*-  
import math  
from decimal import Decimal  

一些关于GPS的函数  

class GPS:  
    def deg2rad(self,d):  
        return d*math.pi/180.0  
    def spherical_distance(self,f, t):  

        根据二个经纬度换算距离  
        #frompoint = [40.0351,116.40863583333334]  
        #topoint = [40.0352,116.4086358333333]  
        #g=GPS()  
        #print g.spherical_distance(frompoint,topoint)  

        EARTH_RADIUS_METER =6378137.0;  
        flon = self.deg2rad(f[1])  
        flat = self.deg2rad(f[0])  
        tlon = self.deg2rad(t[1])  
        tlat = self.deg2rad(t[0])  
        con = math.sin(flat)*math.sin(tlat)  
        con += math.cos(flat)*math.cos(tlat)*math.cos(flon - tlon)  
        return round(math.acos(con)*6378137.0/1000,4)  
if __name__ == '__main__':  
    frompoint = [40.0351,116.40863583333334]  
    topoint = [40.0352,116.4086358333333]  
    g=GPS()  
    print g.spherical_distance(frompoint,topoint)