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作用域用法实例详解
Mar 15 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
Python多线程经典问题之乘客做公交车算法实例
Mar 22 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
Python新手学习标准库模块命名
May 29 Python
Python实现排序方法常见的四种
Jul 15 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
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
关于php中一些字符串总结
2016/05/05 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
Python实现CET查分的方法
2015/03/10 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
腾讯广告词
2014/03/19 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
小学体育教学随笔
2015/08/14 职场文书