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)