GPU加持是否给矢量大数据分析带来新的挑战和机遇?(案例分享)

       最近在空闲的时候经常逛逛国外网站,了解了解新技术。而在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代码仓库

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnywalkerGISer

加个鸡腿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值