gma 1.1.4 (2023.03.14) 更新日志

新增

  1、地图工具

   a. 增加【GetWorldDEMDataSet】。提供了一套 GEOCO 2022 的全球陆地和海洋地形数据(分辨率 0.2°)。

   b. 增加【GetSystemFonts】。读取并列出当前系统支持的所有字体名称,方便绘图时使用。

   c. 增加【AddDataSetClassify】。对栅格进行分类后绘制,其图例标记以合入 AddLegend,可与矢量图层图例一起添加。如需其他样式,可以通过 IM 属性自行管理 颜色条

  2、DataSet

   增加 Boundary 栅格数据集四至范围属性。

修复

  1、AddGridLines

   修复空间绘图绘制经纬网过程中,配置经度网 左边界 但没有效果的问题。

  2、PAP

   修复 PAP(降水距平百分率) 分布检查不通过的问题(实际上不需要分布)

  3、ToRaster

   由于重构了 打开的矢量图层 Layer 类,导致部分 矢量处理函数异常,例如:ToRaster,发现一个修复一个。

  4、ET0 计算

   修复了 ET0 计算过程中,Day 参数不能是单个值的问题。此问题由 1.1.0 版本 ToNumericArray 删除了 0 维数组支持后引起!

简单示例

from gma.map import rcs, plot

# 0. 打开 gma 内置数据
WorldDS = plot.GetWorldDataSource()
WorldLayer = WorldDS.GetLayer(0)

WorldDEM = plot.GetWorldDEMDataSet()

示例1


# 1.初始化一个地图框,用于绘图
MapF = plot.MapFrame(Axes = None, BaseMapProj = rcs.CustomGCS(), Extent = None)

# 2.将内置的世界矢量图层添加到地图框
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = 'none', LineWidth = 0.2, EdgeColor = 'white', Zorder = 1)

Classify = MapF.AddDataSetClassify(WorldDEM,
                                   CMap = 'rainbow',
                                   Remap = [[0, 0], [500, 1], [1000, 2], [1500, 3],[2000, 4], [3000, 5], [9000, 6]],
                                   Method = 'Range', 
                                   Labels = ['<= 0', '0 ~ 500', '500 ~ 1000','1000 ~ 1500','1500 ~ 2000','2000 ~ 3000', '> 3000'],
                                  )

MapF.AddGridLines(LONRange = (-180, 180, 30))
Frame = MapF.SetFrame()

MapF.AddLegend(TitleAlignment = 'left', PlotID = [1], LOC = (-0.2, 0.2))

示例2

# 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = rcs.CustomGCS(CentralLongitude = 150), Extent = None)

# 添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = 'none', EdgeColor = 'black', LineWidth = 0.1, Zorder = 1)

MapD1 = MapF.AddDataSetDiscrete(WorldDEM, CMap = 'jet')

Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)

# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(LabelFontSize = 5)

示例3

# 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = rcs.AlbersEqualArea(), Extent = None)

# 添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = 'none', EdgeColor = 'black', LineWidth = 0.1, Zorder = 1)

MapD1 = MapF.AddDataSetDiscrete(WorldDEM, CMap = 'jet')

Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)

# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(LabelFontSize = 5)

示例4

# 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = 3857, Extent = None)

# 添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = 'none', EdgeColor = 'black', LineWidth = 0.1, Zorder = 1)

MapD1 = MapF.AddDataSetDiscrete(WorldDEM, CMap = 'jet')

Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)

# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(LabelFontSize = 5)

示例5

# 初始化一个地图框,用于绘图
MapF = plot.MapFrame(BaseMapProj = rcs.Mollweide(CentralLongitude = 150), Extent = None)

# 添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = 'none', EdgeColor = 'black', LineWidth = 0.1, Zorder = 1)

MapD1 = MapF.AddDataSetDiscrete(WorldDEM, CMap = 'jet')

Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)

# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(ShowBottom = False, ShowTop = False, LabelFontSize = 5)

你可能感兴趣的:(python,人工智能,开发语言)