import requests
from json import loads
from math import radians,sin,cos,asin,sqrtKEY = 'your_secret_key'
#获得地址的经纬度,即location
def get_geocode(address):#用于输出和字符串拼接global flag, finally_result#参数列表key和addressdata = {'key':KEY,'address':address,}#向api发送get请求url = 'http://restapi.amap.com/v3/geocode/geo'res = requests.get(url,data)#将json数据加载为子典result = loads(res.text)finally_result += result['geocodes'][0]['formatted_address']if not flag:finally_result += '--->'return result['geocodes'][0]['location']
#高德地图所提供的API,误差较大,可能是非直线距离
def distance_calc(startloc , endloc):global finally_resulturl = 'http://restapi.amap.com/v3/distance'data = {'key':KEY,'origins':startloc,'destination':endloc,}res = requests.get(url,data)result = loads(res.text)finally_result += ':' + str(float(result['results'][0]['distance'])*1.0/1000)print finally_result + u'公里'#计算精确
def distance_calc_two(startloc , endloc):global finally_resultstartloc = startloc + ',' + endloc# 将十进制度数转化为弧度lon1 , lat1 ,lon2 , lat2 = map(radians,[float(i) for i in startloc.split(',')])# haversine公式dlon = lon2 - lon1dlat = lat2 - lat1a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2c = 2 * asin(sqrt(a))# 地球平均半径,单位为公里r = 6371finally_result +=':' + str('%.3f'%(r * c))print finally_result + u'公里'startLocation = ''
endLocation = ''
flag = False
finally_result = ''
addresss = raw_input()
for address in addresss.split()[-1::-1]:startLocation = get_geocode(address)if not endLocation:flag = TrueendLocation = startLocation
#distance_calc(startLocation,endLocation)
distance_calc_two(startLocation,endLocation)

Python调用高德地图API测距相关推荐

  1. Python调用高德地图API实现经纬度换算、地图可视化

    作者 | 糖甜甜甜 出品 | 经管人学数据分析 Python调用高德地图API实现经纬度换算.地图可视化 前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地 ...

  2. 你还在为高德地图找不到门牌号等详细地址而烦恼吗?你还在等什么——Python调用高德地图API实现经纬度换算、地图可视化

    Python调用高德地图API实现经纬度换算.地图可视化 前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出 ...

  3. python调用高德地图api 可视化_Python调用高德地图API实现经纬度换算、地图可视化...

    前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密 ...

  4. python调用高德地图api 可视化_Python:利用高德地图API实现找房

    记:本项目是在实验楼上看到的,但是上面的代码由于没有及时维护,爬虫文件的代码不再能完整的把所有房源信息爬取下来,我根据最新的58同城官网进行了研究,现在的官网的房源信息已经不是分页的了,而是拉到最后自 ...

  5. python调用高德地图api获取路径规划,然后规划好点显示在地图上(农机路径转移)

    我的博客好像跳度比较大,不少内容都涉及,但我是做ros组合导航的,其他的或者是项目设计,或者是因为兴趣,或者是随笔记下来. 无聊写来玩下的小demo,本来试图在硕士期间研究下这个课题即农机从仓库到田间 ...

  6. 使用python调用高德地图API获取经纬度地理信息

    高德地图API简介 1.进入"地理/逆地理编码API"界面 1)登录高德地图API网站-高德API,界面如图所示. 鼠标移至"开发支持-Web服务API",点击 ...

  7. python 根据经纬度 调取和显示地图_Python调用高德地图API实现经纬度换算、地图可视化-站长资讯中心...

    目前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请 ...

  8. java获取经纬度_java调用高德地图api获取某个位置的经纬度

    java调用高德地图api获取经纬度的方法,废话少说,直接上代码: import com.fasterxml.jackson.databind.JsonNode; import com.ning.ht ...

  9. 调用高德地图Api实现通过地址转经纬度

    调用高德地图Api实现通过地址转经纬度 在高德地图开放平台注册一个key就可以了,链接在这儿高德地图开放平台 /*** @author _沉淀_* @version 1.0.0* @ClassName ...

最新文章

  1. 遍历——PowerShell三分钟(十)
  2. 10+ commonly using find command switches with example Unix/Linux
  3. ASP.Net 验证正则表达式
  4. java 定时任务spring_Spring实现定时任务调度
  5. 第19章 可空值类型
  6. rest_framework之解析器、路由控制、分页
  7. 微商分销代理商城源码带代理等级和升级条件 thinkphp框架
  8. 桥牌笔记:机会最多的打法
  9. 662X芯片,662X三极管,贴片3.3V稳压IC规格书
  10. centos8安装中文版man帮助手册
  11. 【华为OD机试】1038 - 学英语
  12. mac输密码麻烦?一位数密码来了!
  13. 入耳式蓝牙耳机哪种音质好?微型蓝牙隐形耳机推荐
  14. android app 内嵌h5小游戏
  15. android studio调用电话,Android studio案例之实现电话拨号
  16. 计算机毕业设计论文网站综合比较
  17. Spark 安装部署与快速上手
  18. 安装硬盘SATA驱动
  19. App Inventor Blocks Editor 打不开问题
  20. 简单、易用、易学,这个全自动测试平台真香

热门文章

  1. LINUX配置文件加载顺序
  2. 使用Java校验【统一社会信用代码】真假
  3. 不想结婚要小孩了!怎么破?
  4. 坚果PRO3搭载Android,安卓 10 来了,坚果 Pro 3 推送 Smartisan OS v7.5.0 早期众测版
  5. 欢迎大家加入Xcode公社
  6. Cause: org.postgresql.util.PSQLException: 错误: 对于可变字符类型来说,值太长了(255)
  7. [异能程序员]第六章 遛狗(第二更)
  8. 计算机组成原理资料(选择题)
  9. Nginx配置浏览器缓存
  10. Android Activity 生命周期和重要的相关函数(基础一)