跳转到主要内容

适用于Geopandas的几何体快速文件格式

项目描述

geofeather

Build Status Coverage Status

适用于geopandas的几何体更快基于文件的格式。

本项目利用非常快速的feather文件格式来存储几何数据(点、线、多边形)以与geopandas进行互操作性。

介绍性帖子.

为什么会有这个存在?

本项目存在是因为在geopandas中读取和写入标准空间格式(例如,shapefile)速度较慢。我正在处理数百万个几何体,涉及多个处理步骤,并需要一个快速读取和写入中间文件的方法。

在我们的基准测试中,我们看到了比通过GeoDataFrame的.to_file()将geopandas写入shapefile快5-6倍。

我们看到了与geopandas的read_file()函数相比快2倍的读取速度。

它是如何工作的?

feather格式在标准pandas数据框中表现得非常好。为了利用feather格式,我们只需将几何数据从shapely对象转换为WKB格式(WKB),然后将其作为原始字节存储在该列中。

我们使用JSON格式在副文件crs中存储坐标参考系统。

安装

在PyPi上可用: https://pypi.ac.cn/project/geofeather/

pip安装geofeather

用法

写入

给定现有的GeoDataFrame my_gdf,将其传递给to_geofeather

to_geofeather(my_gdf, 'test.feather')

读取

my_gdf = from_geofeather('test.feather')

临时

pygeos为空间数据的数组提供了更快的空间操作。

geopandas正在将使用pygeos几何体作为其内部数据存储迁移到,而不是shapely对象。

在pygeos完全集成之前,geofeather中有适配器以支持与包含pygeos几何体的pandas DataFrame的互操作性。如果您已经使用pygeos对从geofeather读取的数据进行操作,使用以下适配器将比将geofeather读取到GeoDataFrames快3-7倍的速度读写数据。

内部,feather文件与上面创建的文件相同。

使用此功能需要pygeos

警告:一旦pygeos集成到geopandas中,此功能将被弃用。

from geofeather.pygeos import to_geofeather, from_geofeather

# given a DataFrame df containing pygeos geometries in 'geometry' column
# and a crs object

to_geofeather(df, 'test.feather', crs=crs)

df = from_geofeather('test.geofeather')

注意:从GeoFeather读取到DataFrame时不会返回CRS信息,以保持函数签名与上面的from_geofeather相同。

索引

目前,feather文件不支持索引。为了解决这个问题,请在调用to_geofeather之前重置索引。

更改

0.3.0

  • 允许序列化和反序列化包含pygeos几何体的pandas DataFrame(见上面的说明)。
  • 在geopandas DataFrame中使用新的CRS对象(#4)。
  • 已删除to_shp;请使用geopandas的to_file()代替。

0.2.0

  • 允许从feather文件中读取子集列。
  • 将几何体存储在'geometry'列而不是'wkb'列中(简化以避免重命名列)。

0.1.0

  • 初始发布

致谢

使这个快速运行的一切都归功于pyarrowgeopandasshapely的贡献者们的辛勤工作。

项目详情


下载文件

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

源分布

geofeather-0.3.0.tar.gz (4.4 kB 查看散列)

上传时间:

构建分布

geofeather-0.3.0-py3-none-any.whl (6.4 kB 查看散列)

上传时间: Python 3

由以下组织支持

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