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脚本实现下载合并SAE日志
Feb 10 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
python使用udp实现聊天器功能
Dec 10 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
如何使用Python调整图像大小
Sep 26 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
用Python爬取某乎手机APP数据
Jun 15 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php生成图片缩略图的方法
2015/04/07 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
Python中使用item()方法遍历字典的例子
2014/08/26 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
np.dot()函数的用法详解
2020/01/17 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
浅谈Python 参数与变量
2020/06/20 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
用python写PDF转换器的实现
2020/10/29 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
绩效专员岗位职责
2013/12/02 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
趣味游戏活动方案
2014/02/07 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
使用Redis实现分布式锁的方法
2022/06/16 Redis