首页
/ GeoPandas 1.1.0 版本发布:地理空间数据分析的重大更新

GeoPandas 1.1.0 版本发布:地理空间数据分析的重大更新

2025-06-12 07:54:31作者:宣利权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_coverageinvalid_coverage_edges:验证多边形覆盖的有效性
  • simplify_coverage:对多边形覆盖进行拓扑简化
  • orient_polygons:统一多边形方向
  • maximum_inscribed_circle:计算最大内接圆
  • minimum_clearance_line:计算最小清除线

3. 数据处理功能改进

  • 新增 disjoint_subset 联合算法,用于 union_alldissolve 操作
  • 新增 grid_size 参数到 union_alldissolve 方法
  • 改进 make_valid 方法,新增 methodkeep_collapsed 参数

4. 坐标系统支持扩展

新增了对 M 坐标(测量坐标)的初步支持,包括 mhas_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 生态系统的兼容性,同时修复了多个影响用户体验的问题。对于地理空间数据分析师和开发者来说,这个版本提供了更强大、更稳定的工具集,能够更高效地处理复杂的地理空间数据任务。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
144
1.93 K
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
274
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
930
553
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
423
392
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
75
66
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.11 K
0
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
64
511