distance.EARTH_RADIUS
中,因此可以自定义(但单位应始终为公里)distance.ELLIPSOIDS
字典中包括了其他几种模型
- from geopy import distance
- loc1 = (31.255561, 121.480033)
- loc2 = (31.345561, 121.530033)
-
- distance.distance(loc1,loc2)
- #Distance(11.055949693856725)
- #两个坐标点的测地线距离
-
- distance.distance(loc1,loc2).km
- #11.055949693856725
-
- distance.distance(loc1,loc2).m
- #11055.949693856724
-
- distance.distance(loc1,loc2).miles
- #6.8698486425877405
- #换算成不同的单位
测地线距离使用distance.distance 和 distance.geodesic是没差的
可以切换椭圆模型
- distance.geodesic(loc1, loc2,
- ellipsoid='GRS-80')
- #Distance(11.05594969368841)
也可以自定义椭圆模型的各个参数
- distance.geodesic(loc1, loc2,
- ellipsoid=(6377., 6356., 1 / 297.))
- #Distance(11.053833498906037)
- distance.great_circle(loc1,loc2)
- #Distance(11.077858517227645)
- from geopy import distance
- from geopy.distance import Distance
- loc1 = (31.255561, 121.480033)
- loc2 = (31.345561, 121.530033)
-
- distance.geodesic(loc1,loc2)
- #Distance(11.055949693856725)
-
- distance.geodesic(loc1,loc2)*2
- #Distance(22.11189938771345)
-
- distance.geodesic(loc1,loc2)+Distance(meters=1)
- #Distance(11.056949693856724)
- from geopy import distance
-
- distance.distance(kilometers=1).destination((31.255561,121.480033),bearing=90)
距离类这里大写D小写d没有区别
destination的第一个参数表示起始点,第二个参数表示朝向(北0、东90、南180、西270)