我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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不一样,所以需要对应的去处理,便于浏览。

        四、演示效果

        公交

        步行

        驾车

        骑行

        五、结尾

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

        到此这篇关于python四种出行路线规划的实现 的文章就介绍到这了,更多相关python 出行路线规划 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

        免责声明:

        ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

        ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

        python四种出行路线规划的实现

        下载Word文档到电脑,方便收藏和打印~

        下载Word文档

        猜你喜欢

        python四种出行路线规划的实现

        目录一、简介思路高德地图API二、获取经纬度三、路线规划(四种方式)获取出行路线数据处理四、演示效果五、结尾一、简介路径规划中包括步行、公交、驾车、骑行等不同方式,今天借助高德地图web服务api,实现出行路线规划。思路根据地点获取经纬度根
        2022-06-02

        关于python线程池的四种实现方式

        这篇文章主要介绍了关于python线程池的四种实现方式,一个程序运行起来后,一定有一个执行代码的东西,这个东西就是线程,需要的朋友可以参考下
        2023-05-16

        Python多线程实现同步的四种方式

        临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能,因为不能多个线程同时操作,而访问这部分资源的代码通常称之为临界区。 锁机制 threading的Lock类,用该类的acquire函数进行
        2022-06-04

        uniapp小程序使用高德地图api实现路线规划的示例代码

        路线规划常用于出行路线的提前预览,我们提供4种类型的路线规划,分别为:驾车、步行、公交和骑行,满足各种的出行场景,这篇文章主要介绍了uniapp小程序使用高德地图api实现路线规划,需要的朋友可以参考下
        2023-01-10

        PHP开发买菜系统的订单配送路线规划功能实现方法

        随着互联网和移动技术的发展,线上购物已成为人们生活的一部分。而日常买菜服务也逐渐走入了线上,方便了人们的生活。然而,对于买菜系统来说,实现订单配送路线规划功能是一项非常重要的任务。本文将介绍使用PHP开发买菜系统的订单配送路线规划功能的实现
        PHP开发买菜系统的订单配送路线规划功能实现方法
        2023-11-01

        uniapp开发安卓App实现高德地图路线规划导航功能的全过程

        最近项目需要在APP内实现路线规划导航功能,直接打开高德地图进行导航,下面这篇文章主要给大家介绍了关于利用uniapp开发安卓App实现高德地图路线规划导航功能的相关资料,需要的朋友可以参考下
        2022-11-13

        编程热搜

        • Python 学习之路 - Python
          一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
          Python 学习之路 - Python
        • chatgpt的中文全称是什么
          chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
          chatgpt的中文全称是什么
        • C/C++中extern函数使用详解
        • C/C++可变参数的使用
          可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
          C/C++可变参数的使用
        • css样式文件该放在哪里
        • php中数组下标必须是连续的吗
        • Python 3 教程
          Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
          Python 3 教程
        • Python pip包管理
          一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
          Python pip包管理
        • ubuntu如何重新编译内核
        • 改善Java代码之慎用java动态编译

        目录