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中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
python实现折半查找和归并排序算法
Apr 14 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
python中字符串的操作方法大全
Jun 03 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
matlab、python中矩阵的互相导入导出方式
Jun 01 Python
用python制作个音乐下载器
Jan 30 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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实现加减法验证码代码
2014/02/14 PHP
Yii框架form表单用法实例
2014/12/04 PHP
使用URL传输SESSION信息
2015/07/14 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
php报错502badgateway解决方法
2019/10/11 PHP
javascript jQuery插件练习
2008/12/24 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
详解vue-cli3使用
2018/08/14 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
启动targetcli时遇到错误解决办法
2017/10/26 Python
python多任务及返回值的处理方法
2019/01/22 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
演讲稿怎么写
2014/01/07 职场文书
小学后勤管理制度
2014/01/14 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL