iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python四种出行路线规划的实现
  • 593
分享到

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

python出行路线规划python路线规划图 2022-06-02 22:06:20 593人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

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

目录
  • 一、简介
    • 思路
    • 高德地图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 出行路线规划 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

        --结束END--

        本文标题: python四种出行路线规划的实现

        本文链接: https://www.lsjlt.com/news/11011.html(转载时请注明来源链接)

        有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

        本篇文章演示代码以及资料文档资料下载

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

        下载Word文档
        猜你喜欢
        软考高级职称资格查询
        编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
        • 官方手机版

        • 微信公众号

        • 商务合作