根据经纬度画区域python_高德api交通态势爬取及可视化利用 python+arcgis

近日做项目,有一部分要分析研究范围内的交通运行情况。传统的方法是要去现场调研数车,通过交通量和道路通行能力来计算道路的服务水平。但是因为疫情原因,不想外出,想要利用其它方法来获得区域的交通运行水平。首先想到的就是高德地图api的交通态势。

672ee448a6ece7f5e046bd0c46a8244e.png
高德地图api 交通态势

有了想法之后,作为一个只会看,不会写代码的辣鸡交通规划师,就必须借助度娘的帮助了。在网上发现很多介绍高德api交通态势爬取的方法,下面就列举一个我看完之后能够实现的方法。(写这篇文章的原因主要是为自己加深印象,小伙伴们也可以去网上搜索,很容易获得方法和代码)

本次使用的工具

Spyder(python3.7)编辑器、arcgis10.2主要是这两个。(当然会用到记事本、excel之类的了)

主要思路

根据高德api提供的接口,利用python的requests库get到高德返回到交通运行信息。将其保存成csv文件,导入到arcgis中,进行可视化展示分析。

方法分析

高德提供了两种获取区域交通态势的方法,一种是矩形区域查询(需要矩形的左下角和右上角经纬度坐标,注意是高德经纬度格式),另一种方法是圆形区域查询(需要圆形中心的经纬度和半径)。本次就采用了矩形区域的交通态势查询,但是高德对于查询的区域范围进行了限制(矩形对角线的距离在10公里之内),但是这也难不住网上的各位大神,利用网格的方法突破了这种限制。

将要分析的区域分割成多个网格,每个网格对角线距离不要超过10公里,然后利用for循环对网格的数据依次进行调用,这样虽然增加api调取的次数,但也不失为一个好的方法。

03fa48be94333696e323bc874054927f.png
方格画的不规则,大家不要介意了,主要是示意

主要代码

代码主要来源于网上,不是本人撰写(主要是自己太笨),部分有所改动,经过我的实践,代码好用。下面这些代码主要是用来爬取及保存交通态势数据。

# -*- coding: utf-8 -*-
"""
Created on Thu May  7 10:43:18 2020

@author: user
"""

import requests
import pandas as pd
import json
import time

#初始API的URL
url="https://restapi.amap.com/v3/traffic/status/rectangle?key=申请的ak&extensions=all&rectangle="

#设定整个网格左下角坐标的经纬度值
baselng=120.320805
baselat=36.098401
#设定每个网格单元的经纬度宽
widthlng=0.04
#同一维度,lng=0.01≈1000米
widthlat=0
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值