跳转到主要内容

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

项目描述

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

注意

cuSpatial依赖于RAPIDS的cuDFRMM

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

cuProj是cuSpatial仓库中的一个新RAPIDS库,它提供了坐标参考系统(CRS)之间的GPU加速坐标转换。cuProj自23.10版本起支持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文档,或查看更多详细的notebooks。纽约出租车NYCTaxi和天气Weather笔记本都使用了cuSpatial。

支持的地理空间操作

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

核心空间函数

索引和连接函数

轨迹函数

如果需要操作不支持怎么办?

感谢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。

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

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格式。

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

在安装时,Fiona会检查GDAL的版本,如果没有安装兼容的GDAL版本,则会报错,如下所示

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

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

  1. 安装一个满足fiona最低要求的GDAL版本
  • Ubuntu用户可以使用UbuntuGIS PPA安装较新的GDAL
    sudo -y add-apt-repository ppa:ubuntugis/ppa
    sudo apt install libgdal-dev
    
  1. 将fiona的版本锁定到与您的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_cu11-24.8.0.tar.gz (4.4 kB 查看哈希值)

上传时间

由以下支持