1.1.5 (2023.4.13)

2023/4/13

优化:

  1、LogLogistic 分布

   优化标准化气候指数 LogLogistic 分布内部拟合/变换算法,提高拟合结果的精度 。

  2、【栅格处理】

   将进度条回调函数外置——包括 CallBack 和 CallBackData(已测试可以配合 PyQT 实现进图条界面(如果这个回调函数基于 gdal 原生方法))。

  3、Layer

   重构了 Layer 类(移除了 95% ogr.Layer 的内容,因为其可能导致 Python 内核崩溃,但整体用法和功能不变)。

注意

现在,gma 打开的矢量数据 Layer 和 Feature 已经完全不同于 ogr。

如果希望将 gma.~.Feature 转为 ogr.Feature,请探索 gma.algorithm.core.gcreate._GMAFeatureToOGR 函数!

  4、内置数据

   a、内置栅格数据格式由 .tif 改为 .jp2 和 .webp,使文件大小减小最多75%。

   b、除 DEM 数据之外,其他数据更换为 Natural Earth(1:50M)数据。

新增:

  1、io 模块

   将 gma 内部输入输出相关函数入口调整至 io 模块,开放使用。

主要包括(功能同名称):

  • CreateFeatureFromPoints:从点创建要素(Feature)。
  • CreateLayerFromFeature:从点创建图层(Layer)。
  • Open:打开文件。同 gma.Open
  • RasterOpen:打开栅格文件。
  • VectorOpen:打开矢量文件。
  • ReadArrayAsDataSet:将 Numpy 数组读取为数据集(DataSet)。
  • SaveArrayToRaster:将 Numpy 数组保存到栅格文件。
  • TranslateFeatureToDataSet:将要素(Feature)转换为数据集(DataSet)。
  • TranslateLayerToDataSet:将图层(Layer)转换为数据集(DataSet)。

   已开放但不在 io模块的同功能函数将在未来的某个版本移除(例如:rasp.WriteRaster 与 SaveArrayToRaster 功能完全一致)。

  2、inres 模块

   为 map 增加 inres模块,用以提供内置资源(世界陆地、大型河流、大型湖泊、自然地球等数据)。原有方法依旧可用,但会发出弃用警告。

  3、plot 模块

   a、增加【GetPreDefinedCMaps】。列出并绘制 matplotlib 所有默认色带。

   b、增加【CreatePlotFeature】。将坐标点转换为绘图要素。与 io.CreateFeatureFromPoints 不同,此方法生成的线、面要素会在点之间插值形成一系列的连续点,以保证更换投影时绘制线的位置不会发生改变并且是空间连续的。

  4、MapFrame 模块

   a、增加【AddFeature】方法。绘制 gma.~.Feature。

修复:

  1、SetFrame

   修复了一个因显示区域过小进而导致配置经度或纬度刻度总是忽略不显示(即 ShowXXX 总是= False)的问题。

  2、ET0.Hargreaves

   修复了 ET0.Hargreaves 函数在 2 维气温数据条件下,不支持对应 1 维纬度数据的问题。(感谢反馈:su*****77)

  3、MultiSDSToTif

   由于重构了 Open 函数导致此方法异常。因此,基于 gma 当前版本的整体逻辑对此方法进行简化重构。(感谢反馈:a2*****20)