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的Flask框架中实现全文搜索功能
Apr 20 Python
python计算一个序列的平均值的方法
Jul 11 Python
Python 中的with关键字使用详解
Sep 11 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
python爬虫 Pyppeteer使用方法解析
Sep 28 Python
django 模版关闭转义方式
May 14 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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以及MYSQL日期比较方法
2012/11/29 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
python实现简单五子棋游戏
2019/06/18 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
内业资料员岗位职责
2014/01/04 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
文员岗位职责范本
2014/03/08 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
环境建议书
2015/02/04 职场文书
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA