一、简介

路径规划中包括步行、公交、驾车、骑行等不同方式,今天借助高德地图web服务api,实现出行路线规划。

思路

  1. 根据地点获取经纬度

  2. 根据经纬度调用api获取路线

  3. 对路线数据进行处理,便于浏览

高德地图API

对应链接

https://lbs.amap.com/api/webservice/guide/api/direction

去高德地图的开放平台注册一个账号,并且创建自己的项目,系统会分配给你一个 key 值。

在开发支持中选择 web服务,选中 web服务api

二、获取经纬度

输入地点、输出经纬度

def get_location_x_y(place):#place = input("请输入您要查询的地址")url = 'https://restapi.amap.com/v3/geocode/geo?parameters'parameters = {'key':'高德官网获取key','address':'%s' % place}page_resource = requests.get(url,params=parameters)text = page_resource.text       #获得数据是json格式data = json.loads(text)         #把数据变成字典格式location = data["geocodes"][0]['location']return locationif __name__ == '__main__':print(get_location_x_y("北京西站"))

获取结果

三、路线规划(四种方式)

获取起点、终点经纬度、出行方式

from_place = input("请输入起始地址")
from_location = get_location_x_y(from_place)
to_place = input("请输入目的地")
to_location = get_location_x_y(to_place)
type = input("出行方式(1.公交、2.步行、3.驾车、4.骑行),请输入数字")

获取出行路线

type是出行方式(四种方式对应1、2、3、4)

不同的出行方式,高德地图web服务api链接也不同

url="https://restapi.amap.com"
if type=="1":url = url+ "/v3/direction/transit/integrated"
elif type=="2":url = url + "/v3/direction/walking"
elif type=="3":url = url + "/v3/direction/driving"
elif type == "4":url = url + "/v4/direction/bicycling"

请求参数

parameters = {'key': '高德官网获取key','origin': str(from_location),'destination': str(to_location),'extensions':'all','output':'json','city':'020',
}

参数中from_location是起点经纬度,to_location是终点经纬度,output是数据返回的格式,这里返回json(官网还给了很多种格式,比如xml等)

数据处理

if type=="1":txt = txt['route']['transits']for i in txt:i = i['segments'][0]['bus']['buslines'][0]['name']print(i)
elif type=="2":txt = txt['route']['paths'][0]['steps']for i in txt:i = i['instruction']print(i)
elif type=="3":txt = txt['route']['paths'][0]['steps']for i in txt:i = i['instruction']print(i)
elif type == "4":txt = txt['data']['paths'][0]['steps']for i in txt:i = i['instruction']print(i)

根据不同的出行方式,获取的数据key不一样,所以需要对应的去处理,便于浏览。

四、演示效果

1、公交

2、步行

3、驾车

4、骑行

五、结尾

OK,以上就是python通过借助高德地图web服务实现不同出行方式的路线规划。完整源码获取方式在下方

本文完整源码获取方式

公众号回复:高德出行

------------------- End -------------------

各种爬虫源码获取方式

识别文末二维码,回复:爬虫源码

35行代码下载任意网页的图片

python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)

30行爬虫代码实现中英互译

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行


【加群获取学习资料QQ群:901381280】
【各种爬虫源码获取方式】
识别文末二维码,回复:爬虫源码
欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
回复【开源源码】免费获取更多开源项目源码

python实现四种出行路线规划(公交、步行、驾车、骑行)相关推荐

  1. 百度地图api实现路线规划之步行驾车

    着手做一个用户轨迹的demo,大概分了下步骤:1.过滤边缘点:2.分段量化聚类焦点关键点:3.基于关键点的百度地图api路线规划:4:路线择优 我们先看下第三点基于键点的百度地图api路线规划的方案, ...

  2. 264.高德地图的使用---驾车出行路线规划(4)

    驾车出行路线规划 驾车路径规划可以根据起终点和驾车路线的数据,使用 DrivingRouteOverlay 画出驾车路线图层,包括起终点和转弯点.另外也可以自定义起终点和驾车转弯点的图标. 第 1 步 ...

  3. Android 驾车出行路线规划

    好久没有写了,今天又是加班的一天,先随便写点东西吧. 最近在搞一款自驾游的项目,需要用到地图,扒了点高德上的数据,便集成了高德地图SDK.之前的项目大部分都只是用了定位,其中有一款也用了地图poi的搜 ...

  4. android 地图路线规划,未来行程路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...

    自地图 SDK 搜索功能 6.9.0 版本起新增未来行程路线规划,简称ETD. 未来出行规划(ETD)服务已覆盖全国所有城市,可提供未来7天的出行路线规划. 注意:下面介绍的功能使用的是地图SDK的搜 ...

  5. python中内置的四种数值类型为_浅谈python语言四种数值类型

    Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...

  6. 货车进货路线问题java代码实现_货车出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...

    从搜索功能6.1.0 版本开始支持货车出行路线规划功能,货车出行路线规划的具体策略可参见服务文档. 第 1 步,初始化 RouteSearch 对象 mRouteSearch = new RouteS ...

  7. java 高德地图路线规划_公交出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...

    公交路径规划可以根据起终点和公交换乘的数据,使用 BusRouteOverlay 画出公交路线图层,包括起终点和换乘点.另外也可以自定义起终点和换乘点的图标. 目前支持跨城公交路线规划,提供不同城市之 ...

  8. java 高德地图路线规划_高德地图 web 页面里的出行路线规划

    高德地图的引入,有两种方式,第一种在引入链接里直接添加 plugin 参数: 第二种是引入链接里不添加  plugin 参数,而是在在使用插件之前,使用AMap.service方法加载插件,然后在回调 ...

  9. pycharm设置控制台的解释器_PyCharm 中文教程 01:运行 Python 的四种方式

    <PyCharm 中文指南>在线阅读:http://pycharm.iswbm.com/ Github 项目主页:https://github.com/iswbm/pycharm-guid ...

最新文章

  1. 堪称神级的 Java 技术栈手册火了!
  2. 云计算已成创新基础设施,三大暗流左右未来“云市场”
  3. odoo开发笔记--一个模块显示两个一级菜单
  4. 去除图片水印_只需一键,即可快速去除图片水印!如此简单的方法,谁不知谁吃亏...
  5. 计算机网络技术通识试题,超星计算机网络技术章节答案
  6. 最后的代课老师———漆红玉[转]
  7. 当全家人一起看电影,播到羞羞镜头时......
  8. 自动化C语言第一次月考试卷,计算机专业第一次月考.doc
  9. Kubernetes 学习总结(19)—— Kubernetes 集群管理平台如何选择?Rancher vs KubeSphere
  10. iOS6和iOS7适应代码(6) —— NSLocalizedString
  11. 斐波那契数列:一道100年后羊圈羊的数量算法题
  12. java 镶嵌创建线程_请教一个 Java 多线程嵌套使用的问题
  13. java分层ppt_java程序设计第10章图形用户界面.ppt
  14. 彻底理解 Window 和 WindowManager
  15. SpringBoot集成Swagger文档及自定义访问路径
  16. Winedit 下载第三方库
  17. 用jQuery提取到input中value值 checked选择器
  18. 我是培训机构出身的程序员,不敢告诉任何人!
  19. 大爱 unity 数字孪生 老卵了 Unity 数字孪生笔记1 工具介绍
  20. 外罚函数法(一):外罚函数的构造

热门文章

  1. 高通量测序数据分析:RNA-seq
  2. HashMap源码阅读笔记
  3. 谭浩强c语言不讲位运算呢,谭浩强C语言教程第十二章-位运算.doc
  4. yum 下载离线包 及其安装
  5. 无需再怨恨“刘海屏”了,因为适配十分简单
  6. vue js樱花飘落背景特效
  7. arcgis javascript Measurement的使用
  8. 平安科技寿险金服面试
  9. Elasticsearch集成(二)
  10. ES6解构赋值: ES6...转为ES5的写法