python四种出行路线规划的实现
作者:Python研究者 发布时间:2022-10-01 18:46:09
标签: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服务实现不同出行方式的路线规划。
来源:https://juejin.cn/post/6976520671786434597
0
投稿
猜你喜欢
- 本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下贪吃蛇游戏截图:首先安装pygame,可以使用pip安装pyg
- 如下所示:list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list
- 这次我们讨论的是,区分有单选框的选项和普通的选项~~乍听起来,可能不太理解我说了什么,下面举个例子先~~1、标签的单选~~例如QQ秀的支付流
- 看代码吧~import torchimport numpy as npfrom torchvision.transforms import
- Jupyter Notebook读取csv文件失败1.IndentationError: expected an indented bloc
- 反向单位矩阵单位矩阵即对角线为 1,如下:那么反向的单位矩阵就是反对角线为 1:左右镜像操作这里采用 numpy 实现。方案 1import
- 目录前言🎪 一、Python 关键字🎢 二、Python标识符🎠 2.1 在 Python 中创建标识符的指南🎡 2.2 测试标识符是否有效
- CSS布局作为一个热门技术,发展的确有些缓慢。CSS最早被提议在1994年,最早被浏览器支持在1996年,CSS一直被力捧为传统的以HTML
- 1、RuntimeError: invalid argument 0: Sizes of tensors must match except
- 1.安装依赖包 pip install channels channels-redis2.settings.py 修改加上支持INSTALL
- 这篇文章将介绍在Python中使用 "frozenset "函数的指南,该函数返回一个新的frozenset类型的Pyt
- 使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能。在iPy
- 一、安装1、安装easy_install工具wget http://peak.telecommunity.com/dist/ez_setup
- 引子首先说 正则表达式是什么?正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expres
- 1.在html页面中导入js文件和css文件<link rel="stylesheet" href=".
- 1.新建一个vs2003的web工程,取名为XMLTest &nbs
- 如何远程注册DLL?试试下面的代码:<% Response.Buffer = True %&g
- 一年一度的元宵节刚刚过去,由于时间关系,在元宵节当天晚上11点多才完成本文灯笼的绘制。这两天又在忙着别的事情,所以现在才跟大家分享。一、效果
- 因为工作的原因,开发过一个拆分字符串的SQL函数,现在把它贴出来,与大家共勉学习。该函数如下: &
- 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所