python实现四种出行路线规划(公交、步行、驾车、骑行)
一、简介
路径规划中包括步行、公交、驾车、骑行等不同方式,今天借助高德地图web服务api,实现出行路线规划。
思路
根据地点获取经纬度
根据经纬度调用api获取路线
对路线数据进行处理,便于浏览
高德地图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实现四种出行路线规划(公交、步行、驾车、骑行)相关推荐
- 百度地图api实现路线规划之步行驾车
着手做一个用户轨迹的demo,大概分了下步骤:1.过滤边缘点:2.分段量化聚类焦点关键点:3.基于关键点的百度地图api路线规划:4:路线择优 我们先看下第三点基于键点的百度地图api路线规划的方案, ...
- 264.高德地图的使用---驾车出行路线规划(4)
驾车出行路线规划 驾车路径规划可以根据起终点和驾车路线的数据,使用 DrivingRouteOverlay 画出驾车路线图层,包括起终点和转弯点.另外也可以自定义起终点和驾车转弯点的图标. 第 1 步 ...
- Android 驾车出行路线规划
好久没有写了,今天又是加班的一天,先随便写点东西吧. 最近在搞一款自驾游的项目,需要用到地图,扒了点高德上的数据,便集成了高德地图SDK.之前的项目大部分都只是用了定位,其中有一款也用了地图poi的搜 ...
- android 地图路线规划,未来行程路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
自地图 SDK 搜索功能 6.9.0 版本起新增未来行程路线规划,简称ETD. 未来出行规划(ETD)服务已覆盖全国所有城市,可提供未来7天的出行路线规划. 注意:下面介绍的功能使用的是地图SDK的搜 ...
- python中内置的四种数值类型为_浅谈python语言四种数值类型
Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...
- 货车进货路线问题java代码实现_货车出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
从搜索功能6.1.0 版本开始支持货车出行路线规划功能,货车出行路线规划的具体策略可参见服务文档. 第 1 步,初始化 RouteSearch 对象 mRouteSearch = new RouteS ...
- java 高德地图路线规划_公交出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
公交路径规划可以根据起终点和公交换乘的数据,使用 BusRouteOverlay 画出公交路线图层,包括起终点和换乘点.另外也可以自定义起终点和换乘点的图标. 目前支持跨城公交路线规划,提供不同城市之 ...
- java 高德地图路线规划_高德地图 web 页面里的出行路线规划
高德地图的引入,有两种方式,第一种在引入链接里直接添加 plugin 参数: 第二种是引入链接里不添加 plugin 参数,而是在在使用插件之前,使用AMap.service方法加载插件,然后在回调 ...
- pycharm设置控制台的解释器_PyCharm 中文教程 01:运行 Python 的四种方式
<PyCharm 中文指南>在线阅读:http://pycharm.iswbm.com/ Github 项目主页:https://github.com/iswbm/pycharm-guid ...
最新文章
- 堪称神级的 Java 技术栈手册火了!
- 云计算已成创新基础设施,三大暗流左右未来“云市场”
- odoo开发笔记--一个模块显示两个一级菜单
- 去除图片水印_只需一键,即可快速去除图片水印!如此简单的方法,谁不知谁吃亏...
- 计算机网络技术通识试题,超星计算机网络技术章节答案
- 最后的代课老师———漆红玉[转]
- 当全家人一起看电影,播到羞羞镜头时......
- 自动化C语言第一次月考试卷,计算机专业第一次月考.doc
- Kubernetes 学习总结(19)—— Kubernetes 集群管理平台如何选择?Rancher vs KubeSphere
- iOS6和iOS7适应代码(6) —— NSLocalizedString
- 斐波那契数列:一道100年后羊圈羊的数量算法题
- java 镶嵌创建线程_请教一个 Java 多线程嵌套使用的问题
- java分层ppt_java程序设计第10章图形用户界面.ppt
- 彻底理解 Window 和 WindowManager
- SpringBoot集成Swagger文档及自定义访问路径
- Winedit 下载第三方库
- 用jQuery提取到input中value值 checked选择器
- 我是培训机构出身的程序员,不敢告诉任何人!
- 大爱 unity 数字孪生 老卵了 Unity 数字孪生笔记1 工具介绍
- 外罚函数法(一):外罚函数的构造