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 相关文章推荐
Python2.x版本中cmp()方法的使用教程
May 14 Python
python使用in操作符时元组和数组的区别分析
May 19 Python
Python同时向控制台和文件输出日志logging的方法
May 26 Python
改进Django中的表单的简单方法
Jul 17 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
python sorted方法和列表使用解析
Nov 18 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
python怎么判断模块安装完成
Jun 19 Python
Pandas中DataFrame基本函数整理(小结)
Jul 20 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
Python面向对象类的继承实例详解
2018/06/27 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
Python request中文乱码问题解决方案
2020/09/17 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
2015年化验员工作总结
2015/04/10 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python