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私有属性和方法实例分析
Jan 15 Python
在Python中使用lambda高效操作列表的教程
Apr 24 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
python实现员工管理系统
Jan 11 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
Python 实现域名解析为ip的方法
Feb 14 Python
Python 中list ,set,dict的大规模查找效率对比详解
Oct 11 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
python游戏开发的五个案例分享
Mar 09 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
Python办公自动化解决world文件批量转换
Sep 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
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php xml文件操作代码(一)
2009/03/20 PHP
PHP 根据IP地址控制访问的代码
2010/04/22 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
vue按需加载实例详解
2019/09/06 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
python 追踪except信息方式
2020/04/25 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
单身申明具结书
2015/02/26 职场文书
关于运动会的广播稿
2015/08/19 职场文书
小学语文教师研修日志
2015/11/13 职场文书
小学班长竞选稿
2015/11/20 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android