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的迭代器与生成器实例详解
Jul 16 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
Python使用filetype精确判断文件类型
Jul 02 Python
python微信公众号之关键词自动回复
Jun 15 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
python读取几个G的csv文件方法
Jan 07 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
python如何将图片转换素描画
Sep 08 Python
Python实现京东抢秒杀功能
Jan 25 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
python​格式化字符串
Apr 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
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
任意位置显示html菜单
2007/02/01 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
python线程中的同步问题及解决方法
2019/08/29 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
python中列表的含义及用法
2020/05/26 Python
Python之Sklearn使用入门教程
2021/02/19 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
奶茶店创业计划书范文
2014/01/17 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
销售岗位职责范本
2014/06/12 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书