栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 笔记 haversine (两个经纬度坐标之间的距离)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 笔记 haversine (两个经纬度坐标之间的距离)

1 安装包
pip install haversine
2 haversine:计算两个点经纬度之间的距离
from haversine import haversine
lyon = (45.7597, 4.8422)
paris = (48.8567, 2.3508)

haversine(lyon, paris)
#392.2172595594006 默认是公里

haversine(lyon, paris, unit=Unit.MILES)
#单位设置为英里
#243.71250609539814

haversine(lyon, paris, unit='mi')
#243.71250609539814
3 Unit——支持的所有单位
from haversine import Unit

tuple(Unit)
'''
(,
 ,
 ,
 ,
 ,
 ,
 ,
 )
'''
4 inverse haversine

        从给定的向量(距离和方向)和起点计算点。

        目前明确支持(北,东,南,西)和(东北,东南,西南,西北)方向。但也允许以弧度表示的角度。

from haversine import inverse_haversine, Direction
from math import pi
paris = (48.8567, 2.3508) # (lat, lon)

inverse_haversine(paris, 32, Direction.WEST)
#(48.85587279023947, 1.9134085092836945)

inverse_haversine(paris, 50, Direction.NORTH, unit=Unit.MILES)
#(49.58035791599536, 2.3508

inverse_haversine(paris, 32, pi * 1.25)
#(48.65279552300661, 2.0427666779658806)
5 haversine_vector
from haversine import haversine_vector, Unit

lyon = (45.7597, 4.8422) # (lat, lon)
paris = (48.8567, 2.3508)
new_york = (40.7033962, -74.2351462)

haversine_vector([lyon, lyon,lyon], [paris, new_york,lyon], Unit.KILOMETERS)
#array([ 392.21725956, 6163.43638211,    0.        ])
#分别是 lyon-paris,lyon-new_york,lyon-lyon的距离
5.1  comb=True
from haversine import haversine_vector, Unit

lyon = (45.7597, 4.8422) # (lat, lon)
london = (51.509865, -0.118092)
paris = (48.8567, 2.3508)
new_york = (40.7033962, -74.2351462)

haversine_vector([lyon, london], [paris, new_york], Unit.KILOMETERS, comb=True)
'''
array([[ 392.21725956,  343.37455271],
       [6163.43638211, 5586.48447423]])
'''

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488485.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号