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 生态系统的兼容性,同时修复了多个影响用户体验的问题。对于地理空间数据分析师和开发者来说,这个版本提供了更强大、更稳定的工具集,能够更高效地处理复杂的地理空间数据任务。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0194- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
602
4.04 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
暂无简介
Dart
847
204
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.46 K
826
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
24
0
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
922
770
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
234
152
昇腾LLM分布式训练框架
Python
130
156