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之深入变量和引用对象
Sep 24 Python
python登陆asp网站页面的实现代码
Jan 14 Python
在Python中使用HTML模版的教程
Apr 29 Python
Python3实现从指定路径查找文件的方法
May 22 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
关于python3中setup.py小概念解析
Aug 22 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python日期操作学习笔记
2008/10/07 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python实现基本线性数据结构
2016/08/22 Python
python正则实现提取电话功能
2018/02/24 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
如何验证python安装成功
2020/07/06 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
标准毕业生自荐信范文
2013/11/04 职场文书
广告语设计及教案
2014/03/21 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
2014年生产部工作总结
2014/12/17 职场文书
初中思想品德教学反思
2016/02/24 职场文书
golang import自定义包方式
2021/04/29 Golang