跳转到主要内容

使用GDAL/OGR的矢量化空间矢量文件格式I/O

项目描述

pyogrio - 使用GDAL/OGR的矢量化空间矢量文件格式I/O

Pyogrio提供了一个面向GeoPandas的API,用于OGR矢量数据源,如ESRI Shapefile、GeoPackage和GeoJSON。矢量数据源具有几何形状,例如点、线或多边形,以及与可能包含大量列的数据相关联的记录。

Pyogrio使用矢量化方法来读取和写入GeoDataFrames,以便从OGR矢量数据源中快速互操作。它使用预编译的GDAL/OGR绑定,以便性能主要受GDAL/OGR数据源驱动程序的底层I/O速度的限制,而不是Python内部将数据类型转换为Python数据类型的多个步骤。

我们观察到,与使用非矢量化方法(Fiona和GeoPandas当前I/O支持)相比,读取文件速度提高了5-10倍,写入文件速度提高了5-20倍。

您可以将这些数据源读入GeoDataFrames,只读取非几何列到Pandas DataFrames,甚至读取与矢量数据源共存的非空间数据源,例如ESRI File Geodatabase中的表或古老的DBF文件。

Pyogrio还允许您将GeoDataFrames写入至少几种不同的OGR矢量数据源格式。

阅读文档了解更多信息:https://pyogrio.readthedocs.io

警告:Pyogrio仍处于早期版本,API可能发生重大变化。请参阅CHANGES

要求

支持Python 3.9 - 3.13和GDAL 3.4.x - 3.9.x。

读取到GeoDataFrames需要geopandas>=0.12shapely>=2

此外,在GDAL 3.6+上安装pyarrow可以进一步加速,当指定use_arrow=True时。

安装

Pyogrio目前在Linux、MacOS和Windows上可在conda-forgePyPI上获得。

有关更多信息,请阅读安装文档

支持的矢量格式

Pyogrio支持一些最常见的矢量数据源格式(前提是它们也由GDAL/OGR支持),包括ESRI Shapefile、GeoPackage、GeoJSON和FlatGeobuf。

有关更多信息,请参阅支持的格式列表

入门

有关更多信息及示例,请阅读入门介绍

您还可以查看API文档,了解如何使用API的完整细节。

致谢

本项目得以实现得益于GDAL、Fiona和Geopandas社区的巨大努力。

  • 核心I/O方法和辅助函数改编自Fiona
  • 灵感来源于Fiona PR

项目详情


下载文件

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

源分发

pyogrio-0.10.0.tar.gz (281.9 kB 查看哈希值)

上传时间:

构建分发

pyogrio-0.10.0-cp313-cp313-win_amd64.whl (16.2 MB 查看哈希值)

上传时间: CPython 3.13 Windows x86-64

pyogrio-0.10.0-cp313-cp313-manylinux_2_28_x86_64.whl (24.0 MB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.28+ x86-64

pyogrio-0.10.0-cp313-cp313-manylinux_2_28_aarch64.whl (23.0 MB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.28+ ARM64

pyogrio-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.9 MB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ x86-64

pyogrio-0.10.0-cp313-cp313-macosx_12_0_x86_64.whl (16.4 MB 查看哈希值)

上传时间: CPython 3.13 macOS 12.0+ x86-64

pyogrio-0.10.0-cp313-cp313-macosx_12_0_arm64.whl (15.1 MB 查看哈希值)

上传时间: CPython 3.13 macOS 12.0+ ARM64

pyogrio-0.10.0-cp312-cp312-win_amd64.whl (16.2 MB 查看哈希值)

上传时间: CPython 3.12 Windows x86-64

pyogrio-0.10.0-cp312-cp312-manylinux_2_28_x86_64.whl (24.0 MB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.28+ x86-64

pyogrio-0.10.0-cp312-cp312-manylinux_2_28_aarch64.whl (23.1 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.28+ ARM64

pyogrio-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.9 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

pyogrio-0.10.0-cp312-cp312-macosx_12_0_x86_64.whl (16.4 MB 查看哈希值)

上传于 CPython 3.12 macOS 12.0+ x86-64

pyogrio-0.10.0-cp312-cp312-macosx_12_0_arm64.whl (15.1 MB 查看哈希值)

上传于 CPython 3.12 macOS 12.0+ ARM64

pyogrio-0.10.0-cp311-cp311-win_amd64.whl (16.2 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

pyogrio-0.10.0-cp311-cp311-manylinux_2_28_x86_64.whl (24.1 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.28+ x86-64

pyogrio-0.10.0-cp311-cp311-manylinux_2_28_aarch64.whl (23.1 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.28+ ARM64

pyogrio-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.9 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

pyogrio-0.10.0-cp311-cp311-macosx_12_0_x86_64.whl (16.5 MB 查看哈希值)

上传于 CPython 3.11 macOS 12.0+ x86-64

pyogrio-0.10.0-cp311-cp311-macosx_12_0_arm64.whl (15.1 MB 查看哈希值)

上传于 CPython 3.11 macOS 12.0+ ARM64

pyogrio-0.10.0-cp310-cp310-win_amd64.whl (16.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pyogrio-0.10.0-cp310-cp310-manylinux_2_28_x86_64.whl (23.9 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.28+ x86-64

pyogrio-0.10.0-cp310-cp310-manylinux_2_28_aarch64.whl (22.9 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.28+ ARM64

pyogrio-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.7 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

pyogrio-0.10.0-cp310-cp310-macosx_12_0_x86_64.whl (16.5 MB 查看哈希值)

上传于 CPython 3.10 macOS 12.0+ x86-64

pyogrio-0.10.0-cp310-cp310-macosx_12_0_arm64.whl (15.1 MB 查看哈希值)

上传于 CPython 3.10 macOS 12.0+ ARM64

pyogrio-0.10.0-cp39-cp39-win_amd64.whl (16.2 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

pyogrio-0.10.0-cp39-cp39-manylinux_2_28_x86_64.whl (23.9 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.28+ x86-64

pyogrio-0.10.0-cp39-cp39-manylinux_2_28_aarch64.whl (22.9 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.28+ ARM64

pyogrio-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.7 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pyogrio-0.10.0-cp39-cp39-macosx_12_0_x86_64.whl (16.5 MB 查看哈希值)

上传于 CPython 3.9 macOS 12.0+ x86-64

pyogrio-0.10.0-cp39-cp39-macosx_12_0_arm64.whl (15.1 MB 查看哈希值)

上传于 CPython 3.9 macOS 12.0+ ARM64

由以下支持