高德Web服务API提供了交通态势的http接口,使用时分为以下3个过程:
第一步,申请”Web服务API接口”密钥(Key);
第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。
详情参见https://lbs.amap.com/api/webservice/guide/api/trafficstatus

下面的代码使用Python3.7将爬取的济南市交通路况数据存储到MongoDB数据库中。

import requests
import json
from pymongo import MongoClient
import time                   client = MongoClient('localhost',27017)
db = client.Trafic
collection = db.table14_1
point_list = list()
with open("坐标对.txt", 'r', encoding='UTF-8') as txt_file:     #坐标对文件可通过arcgis生成渔网的方式加工得到for each_line in txt_file:if each_line != "" and each_line != "\n":# print(each_line)fields = each_line.split("\n")polygon = fields[0]point_list.append(polygon)txt_file.close()def getjson(rectangle):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}pa = {'key': 'xxxxxxxxxxx',  #从控制台申请'level': 6,                   #道路等级为6,即返回的道路路况等级最小到无名道路这一级别'rectangle':rectangle,        #矩形区域'extensions': 'all','output': 'JSON'}r = requests.get('https://restapi.amap.com/v3/traffic/status/rectangle?', params=pa, headers=headers)decodejson = json.loads(r.text)return decodejsonfor each_point in point_list:decodejson = getjson(each_point)time.sleep(0.8)if len(decodejson)==3:print("No Data")else:if decodejson['trafficinfo']['roads']:for each in decodejson['trafficinfo']['roads']:try:name = each['name']except:name = Nonetry:status = each['status']except:status = Nonetry:lcodes = each['lcodes']except:lcodes = Nonetry:direction = each['direction']except:direction = Nonetry:speed = each['speed']except:speed = Nonetry:polyline = each['polyline'].split(';')for i in range(0, len(polyline)):roadloc = name + ',' + status + ',' + direction + ',' + speed + ','+ polyline[i]dt = time.localtime()ft = "%Y-%m-%d %H:%M:%S"nt = time.strftime(ft, dt)data = {'roadloc': roadloc, 'time': nt, }print(data)collection.insert_one(data)except:polyline = None

打开MongoDB可视化工具studio 3t查看刚刚爬取的数据(MongoDB和studio 3t均可从免费下载安装,studio 3t有14天的免费使用时间,到期后若想继续使用,选择non-commercial即可,自己动手安装吧)。

然后,将此数据导出为csv格式,用记事本打开,将其保存为ASCII编码方式。通过excel的数据分列方式,得到如下结果:
利用ArcGIS的添加数据-添加xy数据,将其在ArcGIS中空间可视化,得到的结果如下:

放大看一下:

可以看出,在周一上班高峰期,济南市内很多路段为缓行状态。

附件:
坐标对文件可通过arcgis创建渔网,然后获取每个渔网的对角坐标(坐下和右上),可参见此文获取渔网对角坐标工具https://blog.csdn.net/GISer_kaifang/article/details/88603006,截图如下:

高德地图交通态势爬取相关推荐

  1. 高德地图交通态势爬取并存入MySQL数据库

    高德地图交通态势爬取并存入mysql数据库 高德地图交通态势开放api链接: 高德交通态势 高德地图交通态势使用流程: 第一步,申请"Web服务API接口"密钥(Key): 第二步 ...

  2. python 高德地图交通态势爬取(存入mysql)

    高德Web服务API提供了交通态势的http接口,使用时分为以下3个过程: 第一步,申请"Web服务API接口"密钥(Key): 第二步,拼接HTTP请求URL,第一步申请的Key ...

  3. arcgis公里坐标转经纬度_高德api交通态势爬取及可视化利用 python+arcgis

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

  4. 高德地图之Python爬取上海市所有道路轮廓坐标

    任务内容:根据某个城市的经纬度坐标范围,将城市范围划分成一个个的小网格,依次爬取每个网格内的道路id,name,存储至excel文件,然后再根据道路id,爬取每条道路的坐标轮廓. 步骤: step1: ...

  5. Python爬虫|高德地图地铁数据爬取与制图

    目录 一.高德地图数据爬取 1.爬取思路 2.python核心代码 二.Arcmap制图 一.高德地图数据爬取 1.爬取思路 首先,谷歌浏览器打开高德地图官网,点击上方菜单栏地铁进入地铁线路网站如下, ...

  6. 微信小程序使用高德地图Web服务爬取企业数据

    高德地图Api官网:高德开放平台 | 高德地图API 一.高德地图使用说明 "POI2.0" 地点搜索服务2.0是一类Web API接口服务:服务提供多种场景的地点搜索能力,包括关 ...

  7. python爬取地图地址_python爬取了高德地图一些地点的数据,爬出来数据大致情况如下:...

    python爬取了高德地图一些地点的数据,爬出来数据大致情况如下: 下面是基本流程: 1.注册成为高德地图API开发者,网址http://lbs.amap.com/(主要是获取自己的keywords ...

  8. python爬取地图数据_高德3地图之python爬取POI数据及其边界经纬度(根据关键字在城市范围内搜索)...

    目前高德的边界没法批量爬取,不过可以采用百度地图的接口来替代,目前用着还可以,参见这里: 为了方便大家,不用再为安装环境,以及运行报错等问题困扰,目前已经将POI数据爬取做成一个在线公开的数工具,地址 ...

  9. 高德地图、google、openstreenmap地图瓦片数据爬取--java代码(地图数据篇.3)

    听老人家说:多看美女会长寿 地图之家总目录(建议先查看该内容) 文章末尾处提供保证可运行完整代码包,运行如有问题,可"私信"博主. 效果如下所示: 爬取后的瓦片数据可通过nginx ...

最新文章

  1. UVa 10118 记忆化搜索 Free Candies
  2. 培训是一种乐趣(3)
  3. 需求实在太旺盛,三星电子考虑扩大在华芯片产能
  4. 可配置的逻辑块(CLB)
  5. java jax-rs_在Java EE 7和WildFly中使用Bean验证来验证JAX-RS资源数据
  6. 带有Swagger的Spring Rest API –创建文档
  7. PyTorch的nn.Linear()详解
  8. Selenium 屏幕截图
  9. WPF之HierarchicalDataTemplate(转)
  10. 3dmax su 简单_Sketchup导入3DSMAX的方法 3DMAX导入SU技巧
  11. 百度搜索移动端流量词热度统计方法
  12. OpenCV角点检测—Harris,SIFT,ORB(7)
  13. uni-app第三方插件 根据银行卡卡号查询银行类型和卡类型
  14. 圣诞表白html,Pyhton表白代码——浪漫圣诞节
  15. 介于上海与江苏的地铁小户型
  16. shadertoy 实现简易指南针
  17. 学蓝桥Chapter6:矩阵键盘KBD练习
  18. 键盘等号坏了怎么办?键盘有的按键不灵了怎么办?怎么修改注册表?
  19. 第四节——生成go测试代码
  20. 浙江理工大学英语平台Unipus自动答题

热门文章

  1. ionic4自定义插件
  2. 高通平台ITS:sensor_fusion test_sensor_fusion.py Fail
  3. AutoStitch: a new dimension in automatic image stitching
  4. c语言输出菱形for循环_c语言输出菱形
  5. python 离群值 q1 q3_设第一分位数是Q1,第二分位数是Q2,第三分位数是Q3,那么四分位差(又称内距)则用 _________表示。_学小易找答案...
  6. 个人免签码支付源码|服务监控模块强大后台功能全面
  7. hive获取近12个月数据
  8. 郑州大学本科生毕业论文latex模板
  9. 1MB,1GB,1TB等于多少字节或比特?(理解B与b的区别)
  10. git cherry-pick 多分支的代码库,将代码从一个分支转移到另一个分支