1.需求

在上篇中,已经批量获得了经纬度信息,现在需要根据经纬度来进行路径规划,想知道两点之间的距离和路程、花费等信息。

这时候就需要用到高德地图API中的路径规划功能了。

2.过程

1. 构造经纬度函数

同上篇,先构造出获得经纬度函数便于调用。

import requests,json

# 返回经纬度

def gain_location(adress):

api_url=f'https://restapi.amap.com/v3/geocode/geo?city=北京市&address={adress}&key=自己的key&output=json&callback=showLocation'

r = requests.get(api_url)

r = r.text

r = r.strip('showLocation(')#高德

r = r.strip(')')

jsonData = json.loads(r)['geocodes'][0]['location'] # 将json字符串转换为字典类型转为字典格式类型

return jsonData

2.构造路径规划函数

理解了上篇的请求参数,路径规划就很好理解了。文档中也有详细解释,路径规划中包括步行、公交、驾车、骑行、货车路径规划以及距离测量。

这里以公交路径规划为例。

公交路径规划.png

根据必填项:自己申请到的Key,起终点的经纬度以及城市,就可以返回相关的字段信息。

# 路径规划

def get_route(origin,destination):

api=f'https://restapi.amap.com/v3/direction/transit/integrated?origin={origin}&destination={destination}&output=JSON&key=自己的key&city=北京'

r=requests.get(api)

r=r.text

jsonData=json.loads(r)

return jsonData

公交返回结果.png

3.构造返回信息函数

根据返回结果参数,可以提取很多关于路径规划的信息,这里以起终点步行距离,路线出租车费用,路线时间,路线费用,路线距离为例。

def get_route_info(start,end):

routeplan=[]

for o in start:

for d in end:

route=[]

#起点

route.append(o)

#终点

route.append(d)

#起点坐标

ori=gain_location(o)

#终点坐标

des=gain_location(d)

#路线规划

info=get_route(ori,des)

if info["info"]=='OK':

#起终点步行距离

try:

walk_distance=info['route']['distance']

except:

walk_distance='null'

route.append(walk_distance)

# 路线出租车费用

try:

taxi_cost=info['route']['taxi_cost']

except:

taxi_cost='null'

route.append(taxi_cost)

#路线时间

try:

duration=info['route']['transits'][0]['duration']

except:

duration='null'

route.append(duration)

#路线费用

try:

price=info['route']['transits'][0]['cost']

except:

price='null'

route.append(price)

#路线距离

try:

distance=info['route']['transits'][0]['distance']

except:

distance='null'

route.append(distance)

print(o,d,taxi_cost,duration,price,distance)

routeplan.append(route)

return routeplan

4. 主函数

在主函数中设定起点和终点,并调用返回信息函数,就能得到每个起点到每个终点的步行距离,路线出租车费用,路线时间,路线费用,路线距离信息了。

if __name__ == '__main__':

start=['金隅丽景园','苏荷时代','天恒乐活城','明悦湾','gogo新世代']

end=['新中关购物中心','五道口购物中心','天作国际大厦','朱辛庄地铁站','朝阳建外soho','海淀文教产业园']

routeplan=get_route_info(start,end)

print(routeplan)

3.效果

结果以列表的形式返回,结果如图。

路径规划效果.png

python路径规划仿真实验_【python实战】批量获得路径规划——高德地图API相关推荐

  1. 摩拜单车地图显示的红点是什么_找到最近的摩拜单车——高德地图API的应用

    import folium import subprocess import requests from requests.packages.urllib3.exceptions import Ins ...

  2. python 乡镇轮廓 高德_基于高德地图api和Python的区县地理边界坐标提取

    在工作中,经常想用到类似于地热图的方式进行数据展示,奈何工作环境是内网,无法在线进行地图关联,没办法,只好自己想办法上网找边界坐标. 查了很多文档和费心以后,最终发现高德地图api的方法和方式最简单, ...

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

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

  4. 高德地图API武汉某区域的步行路径规划

    高德地图API的武汉某区域的步行路径规划 利用python的requests函数,基于高德地图 网页服务API 使用地理编码化.步行路径规划等开发方法 以武汉武昌.青山交界处以区域为例 做已有出行点至 ...

  5. python + 高德地图API实现地图找房

    python + 高德地图API实现地图找房 项目简介:根据工作地点信息和58同城爬取的租房信息,通过高德地图进行显示,同时利用高德API自动规划房源到工作地点的通勤路线(公交+地铁) 项目仓库:ht ...

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

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

  7. 高德地图API路径规划结果清除

    关于高德地图API之路径规划结果的清除(js API) 偶然用到高德地图API做路径规划,在做的过程中发现连续进行不同的路径规划产生的结果是叠加的.如何清除上一次的路径规划呢?开发手册上有一个 cle ...

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

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

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

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

最新文章

  1. 堡垒机高危命令正则表达式
  2. uva 1614奇怪的股市(归纳法证明,贪心)
  3. UI组件-UISlider
  4. ubuntu编译并调试OpenJDK8源码实践
  5. 霸榜各大CV任务榜单,Swin Transformer横空出世!
  6. 从本地上传项目到 github 以及从github 下载项目到本地环境
  7. C#实现监听网易邮箱
  8. leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)
  9. 戴尔便携式计算机无法开机,戴尔笔记本电脑开不了机如何解决【解决方法】
  10. Linux 的mv命令
  11. 深度linux_国产系统?基于Linux研发的深度Deepin系统,到底算不算真国产
  12. 统一并发 III——跨基准测试
  13. HTML+CSS制作七夕跳动的红心动画效果
  14. Java基础提高学习笔记2
  15. 7类数据分析常见的统计陷阱,快来排雷!
  16. 042 第一章 简介
  17. shell历史命令记录功能
  18. 阿里云云计算 51 在线实验--安全中心初体验
  19. 如果面试官问您还有什么问题要问的,应该如何巧妙的回答才算合适呢?
  20. 多传感器融合的四种经典结构

热门文章

  1. oracle--逻辑对象--bai
  2. App开发流程之创建项目和工程基本配置
  3. Create MSSQL Procedure
  4. shell更改目录编码
  5. Codeforces Gym 100463A Crossings 逆序数
  6. 说说我在项目中为什么不用实体框架,如果说我在诋毁你所爱的EF,请进来.
  7. 软件工程复习提纲——第十一章
  8. 数据3分钟丨华为正式捐赠欧拉操作系统;腾讯云数据库TDSQL将发布免费版;MatrixDB 4.3发布...
  9. 资源放送丨《并行不悖——Oracle数据库并行的是是非非》PPT视频
  10. 留言送书丨《Oracle高性能系统实战大全》包邮到家