python大数据_交通大数据QGIS与Python可视化

719762dec1b3274980ef20bb6ea1492b.gif

今天我想给大家分享的是QGIS可视化(MapBox在线底图)和Python可视化。

高德交通大数据

ee8655621ea328c8ebeb67ed1f5cc57c.gif

先获取数据:格式如下,第一列为纬度,第二列为经度,第三列为车辆(使用了高德地图服务的车辆)的定位次数。

2dd14f2a35f8d5721f8ef300459ca72b.png

之后数据简单的先导入ArcGIS进行转为shp,然后在地图上进行显示,可以看到点要素基本上数据都是沿着道路分布(估计数据主要是用了高德地图车辆导航数据):

af8b5dd47ec04761bbe4ebc85baece69.png

使用高德交通大数据的相关论文推荐

如果大家想做相关研究给大家推荐一篇论文:

郭向阳, 穆学青, 明庆忠, 丁正山, 胡美娟. 旅游地快速交通优势度与旅游流强度的空间耦合分析[J]. 地理研究 , 2019, 38 (5): 1119- 1135.

该论文数据来源部分介绍:

快速交通系统方面,高速公路:通车里程源自《云南省统计年鉴2017》,路网密度由测算所得,高速路口及站点数量、区位优势度和换乘便捷度等指标均通过高德交通大数据《中国交通地图册》和《中国公路交通图集》获取。高速铁路:高速铁路里程和站点距离行政中心距离均通过高德交通大数据获取,站点数量和日通行车辆通过“12306铁道部火车票网上订票官网”查询获取。航空运输:机场飞行区等级依据航空民航标准-MH5001-2000《民用机场飞行区技术标准》,机场离行政中心距离通过高德交通地图测算获取,日均旅客吞吐量和日均飞机起降架次均依据中国民用航空局发布的2016年《民航机场生产统计公报》和《云南年鉴2017》计算获取。旅游流方面,主要源自《云南省统计年鉴2017》和2016年云南省16个州市的国民经济与社会发展统计公报。

QGIS可视化

之前看过张云金老师一篇教程《QGIS教程番外篇02--如何在QGIS中添加自定义的Mapbox底图?》https://mp.weixin.qq.com/s/SzDdQUBVrhwRQ0-bq6J-Nw,感觉很好玩。

MapBox(我觉得是目前市面上做地图最好看的厂商)推出的这款地图设计网站网址是https://apps.mapbox.com/cartogram,最好玩的一点就是允许用户上传图片进行地图样式设计(左下角自定义图片)。

比如一个小皇帝的图片

a9a09d05d32857aa53cfe8c275103cc2.png

高德地图交通大数据的截图

aa288ed5ce6022cb19382dd8f480eb4f.png

选择好自己想要的地图之后发不成WMTS服务,然后复制链接,即可加载到QGIS上作为底图:

749c2981169473c92c1e515e57b92f9d.png

比如红色作为底图(如下图),或者蓝色灰色等等都可以,看你自己选择:

3e1256240181003104157d90e66af1d4.png

Python地图可视化

以上所说都是借助软件实现的,那么能不能在获取数据的时候直接就给制作出可视化地图呢?答案当然是可以的,R语言和Python都提供了很多地图可视化的第三方库,比如Python的folium库和pyecharts库都可以很方便的实现地图各种可视化。

folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm或自行获取的osm资源和地图原件进行地理信息内容的可视化,以及制作优美的可交互地图,今天我就以forlium为例来简单介绍下如何实现高的交通大数据爬取与热力图可视化。

以下便是简单的一口气Python可视化核心代码,非常简单快速,根本不用像导入arcgis然后加载在线地图并且核密度分析啥的那样那么复杂。用代码的话在爬取到数据的同时只要定义好输入的经纬度啥的,直接运行就能展现出非常漂亮的热力图(会生成一个html文件,并且自动在浏览器打开):

   map_osm = folium.Map(location=[35,110],zoom_start=6)    #绘制Map,开始缩放程度是5倍
   HeatMap(temp).add_to(map_osm)  # 将热力图添加到前面建立的map里
   file_path = r"高德交通大数据地图可视化.html"
   map_osm.save(file_path)     # 保存为html文件
   webbrowser.open(file_path)  # 默认浏览器打开
    
   df=pd.DataFrame(temp)
   now = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
   df.to_csv('GaoDe'+now+'.txt',mode='a',index = False,header=None)
​

cc6acf15a722fa00729c2b04609c5139.png

59ab26e0e1f0ccea3323102556ab5e13.png

当然大家还可以先获取数据,然后借助第三方地图可视化平台,比如什么地图慧、高德地图和百度地图,都可以实现导入数据进行地图数据展示,但是那样也比较麻烦,所以还是推荐这种一步到位的方法。

另外在国匠城匠大的提示下,我发现可以直接直接用QGIS自带的功能实现热力图制作:直接双击高德交通大数据的图层,然后样式里选择热力图,调整好半径就可以显示出热力图分布情况了,特漂亮:

b9aa739317870a4b85bd77065e0792cd.png

热力与显示,中国四大交通繁忙地带分别是北上广和成都,成都牛逼了

c4b361fb2babb4e494642f467426b544.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值