简介

2023/8/20
  地理与气象分析库(Geographic and Meteorological Analysis,简称 gma) 是一个基于 Python 的地理、气象数据快速处理分析和地理制图函数包。构建过程参考了ArcGIS和QGIS的操作逻辑和特点,并添加诸多独创性、独有的功能,具有独特的代码构造理念。

  整体上,gma遵循易用至上、开放共享、效率更新的原则,不断整合优秀的、前沿的、大众急需的地理/气象相关模型算法,力争打造国内独具特色的集地理数据处理和分析、气象指标计算、地理空间绘图等功能为一体函数包,以简单的用法、完整的帮助说明、典型的示例等使用者可以快速入手,并解决现实问题。

  目前,gma 2 已经发布,相较于 gma 1,其底层算法逻辑彻底重构,功能函数重新归类,类结构和功能逻辑更加清晰,其更像是gma真正意义上的第一个正式版。

注意

  • gma 2 已经发布,并且数十年内不会进行大的用法调整!

  • gma 1 不在提供支持,本站内容均建立于gma 2。

# 主要功能

  gma 是作者地理研学过程中成果的集合。且为每个函数配置中文的函数帮助说明,使用时只需调用对应的函数,设置相应的参数即可实现。

已包含的功能

  • 栅格/矢量数据输入输出模块:包括数据打开、信息查看、转换、提取,栅格/矢量内存数据创建等。

  • 坐标参考系统:包括地理/投影坐标系创建、基准面/椭球体创建、投影方法配置、初始化现有空间参考等。

  • 地理空间制图:包括栅格、矢量数据绘图,指北针、比例尺等生成。

  • 数学运算模块:包括数据平滑、评估、滤波、拉伸、增强、变换等。

  • 气候气象模块:包括气候指数(SPEI、SPI等)、多种潜在蒸散算法(Penman-Monteith法等)、气候诊断(M-K突变检验等)和一些其他相关指数(日地相对距离等)算法等。

  • 遥感指数计算:包括NDVI、EVI、TVDI等遥感植被指数计算。

  • 栅格处理工具包括基础处理(重采样、重投影等)、提取分析(等值线提取、重分类等)、栅格融合(Pansharpen融合等)、滤波运算(高斯滤波等)、栅格分解(波段分解等)、多维处理(多维数据转为普通栅格等)、表面分析(坡度、坡向等)等工具。

  • 矢量处理工具:包括基础处理(几何修复、简化、重投影等)、矢量提取(要素分割等)、几何处理(裁剪、相交、擦除等)。

  • 空间计算工具:包括空间查询(长度测量、坐标转换等)、空间插值(反距离权重法、克里金法等)。

  • 其他系统工具:包括常用的文件查找、压缩文件操作、多线程等。

# 构建初衷与目标

  对于大部分地学或气象学的学者来说,数据处理是一个很大的工程,动辄数小时或者数天的数据处理时间。如果没有很好的工具或者方法,在面对多时序(例如时序遥感数据),大尺度(例如全国范围)等数据分析研究时,就显得极为困难。

  因此,gma构建的最初目的便是为了解决上述问题。当然,随着gma版本的更迭,gma内容也越来越丰富,功能越来越完善,所能解决的问题也越来越多。

# 发展目标

  随着gma 的迭代更新,gma的建库理念和发展目标也越发明确:

  (1)数据处理方面

  基于GDAL(OGR/OSR),简化并优化用户交互逻辑,构建更加快速、方便、实用的Python地理与气象数据处理和分析方法。

  (2)气候气象方面

  基于NumPy体系,涵盖从前期数据清晰、提取到气候应用的全过程,完整封装计算过程中繁杂的数学方法,简化使用方法,降低使用门槛。

  (3)空间绘图方面

  以ArcGIS交互逻辑为参考模板,打造独立于cartopy的Python空间绘图体系。

  (4)国内开源GIS应用

  以ArcGIS工具箱功能为学习对象,力争成为国内功能最丰富的Python开源地理处理工具包。