原文链接

如何获取交通态势数据(上)https://mp.weixin.qq.com/s/ceSsz8uvvC2ozL-L0GP-sA

近规划的小伙伴有没有在做城市体检呢,我就是学着做的你们不要喷我。

分两次来记录一下,上篇内容主要为基础介绍和简单抓取交通态势数据以及ArcGIS中数据的处理;下篇主要为批量抓取交通态势数据并结合ArcGIS进行可视化出图。

Traffic API介绍

Python简单抓取操作

ArcGIS中道路处理和创建渔网

Traffic API介绍

高德地图交通态势接口早就下线了

百度API有一个实时路况查询服务

https://lbsyun.baidu.com/index.php?title=webapi/traffic

详细解释了请求参数与返回结果参数

构建自己的URL,以周边路况查询方式为例(URL如下)

https://api.map.baidu.com/traffic/v1/around?ak=你的AK&center=39.912078,116.464303&radius=200&coord_type_input=gcj02&coord_type_output=gcj02//GET请求

对照请求参数的含义拆解来看:

ak=你的AK,你申请的密匙,将其替换进去即可,怎么申请去百度啦。

center=39.912078,116.464303,中心点坐标,这里注意是纬度在前经度在后。

radius=200,查询半径,最大1km

但也是因为百度API的流量限制,相当于将研究区域划分为若干个网格,获取到网格内道路的中心点(center)周边半径范围(radius)内的实时拥堵情况和各拥堵路段信息,然后通过for循环获取每个网格内的交通态势数据从而获得整个研究区域的数据。

coord_type_input=gcj02与coord_type_output=gcj02,请求和返回的坐标类型,示例中用的gcj02。

了解了以后把要换的都替换上就可以构建自己的URL了

https://api.map.baidu.com/traffic/v1/around?ak=qTVkMU1Bt9S8L042nkimfh1y6WlbYBX&center=39.912078,116.464303&radius=200&coord_type_input=wgs84&coord_type_output=gcj02

直接在浏览器里试一下,可以看到返回的结果

那返回结果参数代表什么意思呢,服务文档中也有明确的解释

"status":0,显示是否成功的状态码,0就是成功,不成功会显示其他数字,在这里有个
状态码定义
https://lbsyun.baidu.com/index.php?title=webapi/appendix
"description",代表路况描述
"evaluation",路况整体评估,下面还包括"status":1和"status_desc"两个层级,前一个
以数字123..代表拥堵缓行等,后一个较status更为细致以文字描述路况。
那么我选取成都太古里一处地点,返回json是这样的层级关系,有"status","message"
evaluation"下就有"status":和"status_desc"两个层级。


Python简单抓取操作
以成都市太古里点为例,500m半径范围内的路况信息。
import requests
import pandas as pdkey = 'qTVkMU1Bt9S8L042nksimfh1yWlbYBX' # 你的key
x = 104.08373  # 经度
y = 30.65367  # 纬度#创建表格表头
traffic_api_header = [['status', 'description', 'eve_status', 'eve_desc', 'road_traffic']]
save_path = "C:\\Users\\chuan\\Desktop\\traffic api\\traffic.csv"
out = pd.DataFrame(traffic_api_header)
out.to_csv(save_path, mode='a', header=False, index=False, encoding='ANSI')  # 正确数据追加# 构建url并访问
url = 'https://api.map.baidu.com/traffic/v1/around?ak='+str(key)+'&center='+str(y)+','+str(x)+'&radius=500&coord_type_input=gcj02&coord_type_output=gcj02'
data = requests.get(url)
data.close()
traffic_m = data.json()# 提取返回结果中的各层级数据信息
status = traffic_m['status']
description = traffic_m['description']
eve_status = traffic_m['evaluation']['status']
eve_desc = traffic_m['evaluation']['status_desc']
road_traffic = traffic_m['road_traffic']
traffic_api = [[status, description, eve_status, eve_desc, road_traffic]]  # 编组#输出表格
save_path = "C:\\Users\\chuan\\Desktop\\traffic api\\traffic.csv"
out = pd.DataFrame(traffic_api)

这样就可以输出一个表格,方法基本就这么个方法

ArcGIS中道路处理和创建渔网

好了,到这里前面写的都先放一放不管,来到ArcGIS里说一说数据的处理和中心点坐标的获取,上面返回的结果只是一个中心点周边的数据,我们需要一整个研究区的数据,那就是需要多个坐标点。

数据来源:OSM

示例区域:成都一环路范围内

主要步骤是创建500*500渔网格,然后路网先融合成一个整体,然后用标识工具将渔网格切割路网,使每个网格中都对应着一段路网。然后在属性表中用计算几何计算“中点的x/y坐标”得到道路中心点坐标,最后表转EXCLE工具把坐标信息导出来。

不想说具体步骤了..我写着写着不想写了..截图实在太麻烦了一步步的(ID是自己添加的,因为FID是从0开始,从1开始比较方便)。表转成excle后保存为csv格式的即可

批量坐标点都弄好了,下次就是循环这些中心点坐标获取周边半径范围内的路况信息。最后说一点,osm路网是wgs84的,构建URL的时候记得改一下coord_type_input哦~~~下次见,有写错的地方的请理解。

公众号:一点规划

也欢迎大家投稿哦,投稿邮箱:m17723445756@163.com

如何获取交通态势数据(上)相关推荐

  1. Python程序及交通态势数据

    这是获取韶关交通态势数据的代码. 通过使用key,去高德地图上获取数据. import requests import pandas as pdkey = 'ljIS5EiGMd2mZrswSrU9T ...

  2. python爬取路况信息查询_如何一键获取高德交通态势数据

    发送原创文章至admin@caup.net,可申请注册邀请码 您需要 登录 才可以下载或查看,没有帐号?注册方式 x W56N8WNYzvv0Yeow.jpg (86.04 KB, 下载次数: 25) ...

  3. python交通调查数据处理_Python突破高德API限制爬取交通态势数据+GIS可视化(超详细)...

    一.需求: 爬取高德的交通态势API,将数据可视化为含有交通态势信息的矢量路网数据. 二.使用的工具: Python IDLE.记事本编辑器.ArcGIS 10.2.申请的高德开发者KEY(免费). ...

  4. 阿里云HaaS100作为Http客户端获取中控机数据上云

    需求: 某些工控设备具有以太网接口,内部是一个Web服务器,把作业数据汇总,呈现在html页面上,甲方希望脱离集中控制器,数据直接上云.这样可以快速部署工控设备,不需要布网线,装中控PC软件之类的. ...

  5. 怎么调用获取被创建的预制体_Go 语言 Web 编程系列—— 获取用户请求数据(上)...

    0.GET/POST 请求数据 在 PHP 中,可以直接通过全局变量 $_GET 和 $_POST 快速获取 GET/POST 请求数据,GET 请求数据主要是 URL 查询字符串中包含的参数,以前面 ...

  6. 中高德地图只显示某一城市_小O地图 - 城市交通态势数据查询及下载

    小O地图是一款互联网地图数据挖掘.分析.图表软件.具有专业.稳定.高效的特点.提供地图功能多达30余项,并持续更新中. 感兴趣的朋友可以登录官网下载使用 .www.GIS9.com [概述] 本文介绍 ...

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

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

  8. [小o地图-数据] - 城市交通态势数据(实时路况)

    小O地图是一款互联网地图数据挖掘.分析.图表软件.具有专业.稳定.高效的特点.提供地图功能多达30余项,并持续更新中. [概述] 本文介绍小O地图新开发的"交通态势数据"获取功能. ...

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

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

最新文章

  1. [20160307]绑定变量的分配长度3.txt
  2. 征集活动 | PMCAFF八周年,十万产品经理送祝福
  3. js 设备条形码字体_蚌埠食品袋激光打码机设备-青岛博泰格睿特
  4. php分页实例下载,PHP文件操作实例总结【文件上传、下载、分页】
  5. Maven定制化打包后的包名(加入时间戳)
  6. 03-22 H5 性能分析
  7. Java项目开发中实现分页的三种方式一篇包会
  8. IE8卸载再回到IE6
  9. 对公司的建议_工作总结
  10. _validate_lengths‘ from ‘numpy.lib.arraypad
  11. qt控件之qt中的控件QTableWidget的使用
  12. 用记事本编辑注册表文件
  13. 【设计模式】- 观察者模式
  14. nssl 1438.战略威慑
  15. Chrome浏览器未连接到互联网的解决办法
  16. 全球疫情形势动态地图展示(超帅超好玩的python动图)
  17. Xubuntu22.04设置全局代理(一百五十六)
  18. esp分区创建 linux_EFI引导Ubuntu。分区如何手动创建
  19. 视频融合平台EasyCVR如何快速更改快照文件的raw后缀?
  20. Hibernate_day03(转载传智播客的老师讲义,博主只图查看方便)

热门文章

  1. python 多媒体框架pyglet开发
  2. 招商银行 测试开发工程师 视频面经
  3. 火山安卓模块的封装方法
  4. IOS:Warning: Attempt to dismiss from view controller xxxxxxxxxController: 0x13f6840e0
  5. Oracle 最后一次更新时间(dba_objects)
  6. Discuz论坛广告横幅大图在百度app内无法显示,百度app默认开启了广告屏蔽
  7. 【报告分享】苏宁:2019中国智慧零售门店数字化白皮书(附下载)
  8. WIFI大师专业版支持多开系统和独立系统
  9. QWT3D 之 三维动态曲线的实现
  10. java.lang.RuntimeException: Unable to fence NameNode at hadoop1/192.168.43.100:8020