GeoPandas 1.1.0 版本发布:地理空间数据分析的重大更新
2025-06-12 18:26:03作者:宣利权Counsellor
项目简介
GeoPandas 是一个基于 Python 的开源项目,它在 Pandas 的基础上扩展了对地理空间数据的支持。该项目允许用户在熟悉的 Pandas 数据框架中处理地理空间数据,提供了读取、写入、操作和分析地理空间数据的功能。GeoPandas 集成了多个地理空间分析库(如 Shapely、Fiona、PyProj 等),使得地理空间数据的处理变得简单高效。
版本更新概览
GeoPandas 1.1.0 版本带来了多项重要更新,包括新功能、性能改进和错误修复。这个版本对依赖项的要求有所提高,现在需要 Python 3.10 或更高版本,并且对 Pandas、NumPy 等核心依赖的最低版本要求也有所提升。
主要新特性
1. 空间索引查询增强
新版本改进了 SpatialIndex.query 方法,现在可以返回密集或稀疏的布尔数组形式的结果。这一改进需要可选依赖 scipy 来支持稀疏输出格式。
2. 多边形处理功能增强
新增了多个多边形处理相关的方法:
constrained_delaunay_triangles:生成受约束的 Delaunay 三角形is_valid_coverage和invalid_coverage_edges:验证多边形覆盖的有效性simplify_coverage:对多边形覆盖进行拓扑简化orient_polygons:统一多边形方向maximum_inscribed_circle:计算最大内接圆minimum_clearance_line:计算最小清除线
3. 数据处理功能改进
- 新增
disjoint_subset联合算法,用于union_all和dissolve操作 - 新增
grid_size参数到union_all和dissolve方法 - 改进
make_valid方法,新增method和keep_collapsed参数
4. 坐标系统支持扩展
新增了对 M 坐标(测量坐标)的初步支持,包括 m 和 has_m 属性,以及在 get_coordinates 方法中添加了 include_m 参数。
5. 数据访问器
新增了 geopandas.accessors 模块,注册了一个 pandas.Series.geo 访问器,通过 Pandas 的扩展机制暴露 GeoSeries 方法。
性能优化
- 显著提高了
overlay操作在how=identity情况下的性能 - 改进了从 URL 读取数据时的范围请求处理,即使头部没有直接指示支持也会尝试使用范围请求
错误修复
1.1.0 版本修复了多个问题,包括但不限于:
- 修复了
to_geo_dict和__geo_interface__中 bbox 显示 numpy 数据类型的问题 - 修复了
sample_points方法中可能导致非均匀分布的问题 - 修复了读取多层数据集时未指定层的警告问题
- 修复了
GroupBy.agg中对几何列命名聚合的支持问题 - 修复了从带有 GeometryDtype 值的 pd.Series 构造 GeoSeries 时的问题
- 修复了多边形绘制时的孔洞显示问题
兼容性说明
新版本不再支持以下功能:
- 移除了
GeoSeries.select方法(上游 Pandas 已不再支持) - 移除了已弃用的
geom_almost_equals方法(应使用geom_equals_exact替代)
总结
GeoPandas 1.1.0 版本带来了大量地理空间数据处理的新功能和改进,特别是在多边形处理和空间分析方面。新版本提高了对现代 Python 生态系统的兼容性,同时修复了多个影响用户体验的问题。对于地理空间数据分析师和开发者来说,这个版本提供了更强大、更稳定的工具集,能够更高效地处理复杂的地理空间数据任务。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0216
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
Ascend Extension for PyTorch
Python
758
968
昇腾LLM分布式训练框架
Python
185
231
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
698
1.4 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
878
2.03 K
暂无描述
Dockerfile
780
5.08 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
70
22
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.08 K
216