使用 python 计算两个位置的距离是多远
python 中有许多关于经纬度转换的库,这其中有一个比较常用的库是
geopy
geopy 简单介绍
geopy 是几个流行的地理编码 web 服务的 Python 客户端实现。geopy 使 python 开发人员能够使用第三方地理编码程序和其他数据源轻松定位全球各地的地址、城市、国家和地标的坐标。
geopy 是一个开源的项目;项目地址:源代码官方文档: 文档地址
Geopy 作为一个专注于地理处理包之外, 除了能实现地理编码、逆地理编码功能之外,还可以通过提供两个经纬度坐标,计算他们在地球上的最短距离,球面距离等;
geopy 的使用
首先需要确保安装了 python,geopy 不是内置库,使用前需要进行安装;
安装 geopy
安装方式推荐有很多种,推荐使用 pip;
pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。
如何安装 pip:
安装 python; 这个是必须安装的;
下载 pip:
官网地址:https://pypi.org/project/pip/#downloads; 下载完毕后,解压
打开命令行窗口,进入到 pip 解压后的目录;执行代码
python3 setup.py install
进行安装,安装完成后,将 pip 加入到系统环境变量中
验证打开命令行窗口,输入 pip list 或者 pip3 list
以上只针对于 windows 系统,其他系统也可以参考;执行安装命令:打开命令行窗口,输入执行以下代码,并回车
pip install geopy
等待提示第三库安装成功既可;
安装完成后,导入 geopy,只需要输入
import geopy
功能案例:
地理编码,根据地址查询坐标及详细信息
逆地址编码 根据坐标查地点
两个经纬度坐标计算距离
计算距离需要使用 geopy 中的 distance 对象;引入
from geopy import distance
调用方式一:
dist = distance.distance((19.90733345,116.191244079988), (11.239853,21.499740)) # 纬度在前、经度在后 print(dist.km) # 距离: km: 千米, m: 米, miles: 英里
调用方式二:
dist = distance.geodesic((39.90733345,116.391244079988), (31.239853,121.499740))print(dist.km) # 距离: km: 千米, m: 米, miles: 英里 print(dist.m)
两种方式获取到同样的结果;
版权声明: 本文为 InfoQ 作者【技能实验室】的原创文章。
原文链接:【http://xie.infoq.cn/article/db06771714839bea95865f5b7】。文章转载请联系作者。
评论