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实现DES加密解密方法实例详解
Jun 30 Python
python之Socket网络编程详解
Sep 29 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
python opencv实现信用卡的数字识别
Jan 12 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
Python 生成短8位唯一id实战教程
Jan 13 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
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
jupyter notebook 重装教程
2020/04/16 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
升职自荐信
2013/11/28 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
可怜妈妈观后感
2015/06/09 职场文书
大学校园招聘会感想
2015/08/10 职场文书
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技