ITADN
geopandas/pyogrio
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

pypi Conda version Actions Status Powered by NumFOCUS

pyogrio - 基于 GDAL/OGR 的批量空间矢量文件 I/O

Pyogrio 提供了对 GDAL/OGR 矢量数据 源的快速、批量读写访问,例如 ESRI Shapefile、GeoPackage、GeoJSON 以及其他多种格式。 矢量数据源通常包含几何信息,如点、线或 多边形,以及关联的记录,这些记录可能包含许多列的数据。

典型用法是从 GeoPandas GeoDataFrames 读取或写入这些数据源。由于 几何列是可选的,因此仅读取或写入非空间数据也是 可能的。因此,也支持 GeoPackage 属性表、DBF 文件或 CSV 文件。

Pyogrio 之所以快速,是因为它使用 GDAL/OGR 的预编译绑定来批量 读取和写入数据记录。这种方法避免了在 Python 内部进行多次 Python 数据类型之间的转换,因此性能主要受限于 GDAL/OGR 中数据源驱动程序的底层 I/O 速度。

与使用逐行方法(例如 Fiona)相比,我们观察到读取文件的速度提升了 >5-100 倍, 写入文件的速度提升了 >5-20 倍。

阅读文档以获取更多信息: https://pyogrio.readthedocs.io.

要求

  • Python >= 3.10
  • GDAL >= 3.6
  • 读取到 GeoDataFrames 需要 geopandas>=0.12shapely>=2。此外, 安装 pyarrow 在指定 use_arrow=True 时可实现进一步加速。

安装

Pyogrio 目前可在 conda-forgePyPI 上用于 Linux、MacOS 和 Windows。

请阅读 安装文档 以获取更多信息。

支持的矢量格式

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

请参阅支持的格式列表 以获取更多信息。

入门指南

请阅读介绍 以获取更多信息和示例,开始使用 Pyogrio。

您还可以查看API 文档 以获取使用 API 的完整详细信息。

致谢

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

  • 核心 I/O 方法和支持函数改编自 Fiona
  • 灵感来自 Fiona PR