python四种出行路线规划的实现
python四种出行路线规划的实现
目录
- 一、简介
- 思路
- 高德地图API
- 二、获取经纬度
- 三、路线规划(四种方式)
- 获取出行路线
- 数据处理
- 四、演示效果
- 五、结尾
一、简介
路径规划中包括步行、公交、驾车、骑行等不同方式,今天借助高德地图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 location if __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服务实现不同出行方式的路线规划。
到此这篇关于python四种出行路线规划的实现 的文章就介绍到这了,更多相关python 出行路线规划 内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!
推荐阅读
-
Python多线程抓取代理服务器
Python作为一门功能强大的脚本语言来说,经常被用来写爬虫程序,下面是Python爬虫多线程抓取代理服务器。年前是用//lin...
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
本篇文章给大家分享的是有关python中变量的存储原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有...
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
这篇文章主要介绍“python怎么实现批量文件加密功能”,在日常操作中,相信很多人在python怎么实现批量文件加密功能问题上存在...
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...