当前位置:   article > 正文

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

根据经纬度画点 属于哪一模块api次数

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

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

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

本次使用的工具

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

主要思路

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

方法分析

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

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

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

主要代码

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

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Thu May 7 10:43:18 2020
  4. @author: user
  5. """
  6. import requests
  7. import pandas as pd
  8. import json
  9. import time
  10. #初始API的URL
  11. url="https://restapi.amap.com/v3/traffic/status/rectangle?key=申请的ak&extensions=all&rectangle="
  12. #设定整个网格左下角坐标的经纬度值
  13. baselng=120.320805
  14. baselat=36.098401
  15. #设定每个网格单元的经纬度宽
  16. widthlng=0.04
  17. #同一维度,lng=0.01≈1000米
  18. widthlat=0
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号