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 24 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
PyQt5主窗口动态加载Widget实例代码
Feb 07 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python安装requests库的实例代码
Jun 25 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
Python如何访问字符串中的值
Feb 09 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
django项目中新增app的2种实现方法
Apr 01 Python
python批量修改文件名的示例
Sep 27 Python
python中操作文件的模块的方法总结
Feb 04 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中返回引用类型的方法
2015/04/03 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Django xadmin安装及使用详解
2020/10/26 Python
Python可以用来做什么
2020/11/23 Python
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
入党积极分子思想汇报范文
2014/01/05 职场文书
信息总监管理职责范本
2014/03/08 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
节约用水演讲稿
2014/05/21 职场文书
学校标语大全
2014/06/19 职场文书
行政处罚告知书
2015/07/01 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
python编程实现清理微信重复缓存文件
2021/11/01 Python