跳转到主要内容

cuSpatial:GPU加速的空间和轨迹数据管理与分析库

项目描述

 cuSpatial - GPU加速矢量地理空间数据分析

注意

cuSpatial依赖于RAPIDS中的cuDFRMM

cuProj - GPU加速坐标参考系统(CRS)转换

cuProj是RAPIDS仓库中的一个新库,它提供了坐标参考系统(CRS)之间坐标的GPU加速转换。从23.10版本开始,cuProj支持WGS84坐标与通用横轴墨卡托(UTM)之间的转换::globe_with_meridians:

要了解更多关于cuProj的信息,请参阅Python cuProj READMEc++ libcuproj README

资源

概述

cuSpatial通过GPU并行化加速矢量地理空间操作。作为RAPIDS库的一部分,cuSpatial与cuDFcuMLcuGraph内在相连,使整个工作流程都能实现GPU加速。

cuSpatial以GeoArrow格式表示数据,这使其能够与Apache Arrow生态系统兼容。

cuSpatial的Python API与GeoPandas紧密匹配,数据可以在两者之间无缝过渡。

import geopandas
from shapely.geometry import Polygon
import cuspatial

p1 = Polygon([(0, 0), (1, 0), (1, 1)])
p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
geoseries = geopandas.GeoSeries([p1, p2])

cuspatial_geoseries = cuspatial.from_geopandas(geoseries)
print(cuspatial_geoseries)

输出

0    POLYGON ((0 0, 1 0, 1 1, 0 0))
1    POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))

有关更多示例,请浏览完整的API文档,或查看更多详细的笔记本。NYC Taxi和Weather笔记本都使用了cuSpatial。

支持的地理空间操作

cuSpatial正在不断开发新功能!查看epics以了解我们的开发情况的高级视图,或查看路线图以获取详细信息!

核心空间函数

索引和连接函数

轨迹函数

如果需要的功能不受支持怎么办?

感谢from_geopandasto_geopandas函数,您可以将cuSpatial支持的部分加速,并将其余的工作流程保持原样。

---
title: Integrating into Existing Workflows
---
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false},
            'themeVariables': {'commitLabelColor': '#000000',
            'commitLabelBackground': '#ffffff',
            'commitLabelFontSize': '14px'}} }%%
gitGraph
   commit id: "Existing Workflow Start"
   commit id: "GeoPandas IO"
   commit id: "Geospatial Analytics"
   branch a
   checkout a
   commit id: "from_geopandas"
   commit id: "cuSpatial GPU Acceleration"
   branch b
   checkout b
   commit id: "cuDF"
   commit id: "cuML"
   commit id: "cuGraph"
   checkout a
   merge b
   commit id: "to_geopandas"
   checkout main
   merge a
   commit id: "Continue Work"

使用cuSpatial

CUDA/GPU要求

快速入门:Docker

使用RAPIDS Release Selector,选择Docker作为安装方法。所有RAPIDS Docker镜像都包含cuSpatial。

Release Selector中的示例命令

docker run --gpus all --pull always --rm -it \
    --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 \
    -p 8888:8888 -p 8787:8787 -p 8786:8786 \
    nvcr.io/nvidia/rapidsai/notebooks:24.08-cuda11.8-py3.10

使用Conda安装

要通过conda安装

注意 cuSpatial仅支持Linux或通过WSL,并且与Python版本3.9、3.10和3.11兼容。

您可以从rapidsai通道使用conda(miniconda或完整的Anaconda发行版)安装cuSpatial。

conda install -c rapidsai -c conda-forge -c nvidia \
    cuspatial=24.08 python=3.11 cudatoolkit=11.8

我们还提供从最新开发分支的HEAD构建的夜间Conda软件包。

有关更多操作系统和版本信息,请参阅RAPIDS安装文档

使用pip安装

要通过pip安装

注意 cuSpatial仅支持Linux或通过WSL,并且与Python版本3.9、3.10和3.11兼容。

cuSpatial pip软件包可以从NVIDIA的PyPI索引安装。pip安装需要使用与系统已安装CUDA工具包匹配的wheel。

  • 对于CUDA 11工具包,安装-cu11 wheels
  • 对于CUDA 12工具包安装-cu12 wheels
  • 如果您的安装具有CUDA 12驱动程序但CUDA 11工具包,请使用-cu11 wheels。
pip install cuspatial-cu12 --extra-index-url=https://pypi.nvidia.com
pip install cuspatial-cu11 --extra-index-url=https://pypi.nvidia.com

处理Fiona/GDAL版本的问题

cuSpatial依赖于geopandas,它使用fiona >= 1.8.19与GDAL一起读取常见的GIS格式。

Fiона要求GDAL已经存在于您的系统上,但其最低所需版本可能比操作系统包管理器中的GDAL版本更新。

Fiона在安装时检查GDAL版本,如果没有安装兼容版本的GDAL,将报错如下

ERROR: GDAL >= 3.2 is required for fiona. Please upgrade GDAL.

有两种方法可以解决这个问题

  1. 安装一个满足Fiона最低要求版本的GDAL
  • Ubuntu用户可以使用UbuntuGIS PPA安装更新的GDAL
    sudo -y add-apt-repository ppa:ubuntugis/ppa
    sudo apt install libgdal-dev
    
  1. 将Fiона的版本固定到与您的libgdal-dev版本兼容的范围
  • 对于Ubuntu20.04(GDAL v3.0.4
    pip install --no-binary fiona --extra-index-url=https://pypi.nvidia.com cuspatial-cu12 'fiona>=1.8.19,<1.9'
    
  • 对于Ubuntu22.04(GDAL v3.4.1
    pip install --no-binary fiona --extra-index-url=https://pypi.nvidia.com cuspatial-cu12 'fiona>=1.9'
    

从源码构建/安装

要构建并从源码安装cuSpatial,请参阅构建文档

引用cuSpatial

如果您在已发表的工作中发现cuSpatial很有用,请考虑引用该存储库。

@misc{cuspatial:24.08,
    author = {{NVIDIA Corporation}},
    title = {cuSpatial: GPU-Accelerated Geospatial and Spatiotemporal Algorithms},
    year = {2023},
    publisher = {NVIDIA},
    howpublished = {\url{https://github.com/rapidsai/cuspatial}},
    note = {Software available from github.com},
}

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

cuspatial_cu12-24.8.0.tar.gz (4.4 kB 查看哈希值)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面