python计算两个地址之间的距离方法


Posted in Python onJune 09, 2018

我们调用高德地图的API来计算经纬度

#计算地址经纬度
import requests
def geocode(address):
 parameters = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'}
 base = 'http://restapi.amap.com/v3/geocode/geo'
 response = requests.get(base, parameters)
 answer = response.json()
 print(address + "的经纬度:", answer['geocodes'][0]['location'])
 lon = float(answer['geocodes'][0]['location'].split(',')[0])
 lat = float(answer['geocodes'][0]['location'].split(',')[1])
geocode(address)

我们输入下面两个地址,得到相应的经纬度。

address1 ='上海市徐汇区桂箐路靠近华鑫天地'

address2 ='上海市徐汇区田林路200号华鑫天地C座3楼'

上海市徐汇区桂箐路靠近华鑫天地的经纬度: 121.407124,31.169677
上海市浦东新区张江高科技园的经纬度: 121.593357,31.214343
lon1 = 121.407124
lat1 = 31.169677
lon2 = 121.593357
lat2 =31.214343
#计算距离 
from math import radians, cos, sin, asin, sqrt 
# 将十进制度数转化为弧度 
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) 
# haversine公式 
dlon = lon2 - lon1 
dlat = lat2 - lat1 
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 
c = 2 * asin(sqrt(a)) 
r = 6371 # 地球平均半径,单位为公里 
return c * r * 1000

最终结果如下,两个地方之间的距离约18公里

c * r * 1000 
Out[58]: 18397.59615786144

以上这篇python计算两个地址之间的距离方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
Python脚本实时处理log文件的方法
Nov 21 Python
解决Python requests 报错方法集锦
Mar 19 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
Python3 JSON编码解码方法详解
Sep 06 Python
dpn网络的pytorch实现方式
Jan 14 Python
django中的数据库迁移的实现
Mar 16 Python
Python如何将函数值赋给变量
Apr 28 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
关于python爬虫应用urllib库作用分析
Sep 04 Python
python实现商品进销存管理系统
May 30 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 #Python
pandas 对每一列数据进行标准化的方法
Jun 09 #Python
Python实现读写INI配置文件的方法示例
Jun 09 #Python
Python实现读取机器硬件信息的方法示例
Jun 09 #Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 #Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 #Python
python 用lambda函数替换for循环的方法
Jun 09 #Python
You might like
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
python安装sklearn模块的方法详解
2020/11/28 Python
浅析python实现动态规划背包问题
2020/12/31 Python
css3 矩阵的使用详解
2018/03/20 HTML / CSS
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
小区推广策划方案
2014/06/06 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
经营目标责任书
2015/05/08 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
法制工作总结2015
2015/07/23 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书