最近在空闲的时候经常逛逛国外网站,了解了解新技术。而在PostGIS社区中看到了PostGIS VS GPU的一篇文章。
作者也是看到了一篇利用GPU做空间数据连接的文章,感觉也很有趣,看了后自己也搭了环境跑了一通,过程也挺艰难的。
随着人工智能的不断发展,GPU也成了诸多领域必须的硬件设备,但是在地理空间数据这块主要还是在影像分析和三维这块,矢量数据分析还没有使用起GPU,或者说非常少见。但是随着技术的不断迭代更新,相信不久将来GPU也会成为矢量大数据分析的重要硬件设施。
在看了文章后小编也按照文章中的步骤进行了GPU下空间连接分析操作,今天为大家分享一下整个流程。
1 数据准备
数据主要有两个:
1、费城违章停车记录,1GB 900多万条记录的csv文件;
2、费城行政区规划shp数据,158条。
2 环境准备
Python GPU库rapids-cudf和cuspatial
版本21.08
显卡是Quadro P620 4GB
CUDA版本是11.4
空间连接主要是使用cuspatial完成的,不过它支持的矢量数据分析还是比较少的。
具体安装在后面的文章中会介绍,下面来看看主要实现流程。
3 GPU空间连接流程
1、首先利用pandas读取csv数据,并过滤经纬度为空的数据。然后利用开源GPU数据分析RAPIDS套件中的cudf读取pandas中csv数据至GPU。
处理后的csv数据有865万左右。
2、然后利用geopandas读取费城行政区shp数据并进行可视化展示,了解数据。
3、利用rapids中的空间数据分析模块cuspatial读取费城shp数据,cuspatial对shp数据的读取有限,只支持polygon类型的,它读取后返回的数据类型也与平常的空间数据模块不同,返回的是坐标点集合。这里不做详细说明,可在官方文档中进行查阅。
4、最后也是关键步骤,利用GPU进行空间连接。cuspatial支持的多边形数量有限,但是可以通过迭代进行批处理,小编测试时貌似每次只支持31个多边形。创建迭代后便可以执行空间连接操作。这里的目的是将行政区的NAME属性挂到每个违规停车数据上面。
可以看到利用GPU进行空间连接用了1分钟,但是作者用了13秒,应该是GPU原因,毕竟我的设备主要用的是内存,GPU就~~~
4 总结
小编现在主要是从事大数据开发,在前段时间也了解到spark支持GPU,但是现有的空间大数据框架都暂未支持GPU分析,所以看到这篇文章非常好奇,忍不住想尝试,其中环境搭建就花费了好久,rapids框架套件本身不支持windows运行,所以使用wls2搭建的Ubuntu环境进行测试的,后续会推出环境部署文档。
虽然cuspatial暂时支持的矢量空间数据分析能力还很弱,但是也为GPU矢量分析打开了一扇门。同时Spark中也支持rapids框架。小编想想不久将来利用GPU进行空间大数据分析肯定会是一个新的挑战和机遇。
分享就到这里啦,源码已上传至gitee:Python代码集: python代码仓库
Original: https://blog.csdn.net/qq_24655701/article/details/123464110
Author: AnywalkerGISer
Title: GPU加持是否给矢量大数据分析带来新的挑战和机遇?(案例分享)

StableDiffusion是否可以与其他算法相结合使用

百分点感知智能实验室:声纹识别技术发展及未来趋势研究

交叉验证(Cross-Validation)

python虚拟环境的建立和使用

基于Tensorflow2的基本自编码器实现(MNIST)

MacBook Pro使用小技巧,Mac及win操作功能对比

Could not find a version that satisfies the requirement numpy>=1.20.0 (from imageio) 解决办法

vue网页小程序实现七牛云图片文件上传以及原生组件video显示不出问题

多层神经网络 —— Sequential模型

利用pandas进行数据分析

how to disable accidental deletion for some directories怎么避免意外误删除目录?

TensorFlow 或 PyTorch 选择哪个作为你的深度学习框架?

【part2】Tensorflow Object detection API Win10使用教程(tensorflow数据集生成教程)

【ESP32-CAM】使用opencv获取ESP32-CAM视频流,并将图像保存至TF卡(一)
