(实际版本日期:2023.02.14)
重要更新: 从本版本开始, gma 开始支持 Python 3.11!
新增:
1、map
增加【AddDataSetDiscrete】添加离散型栅格数据集绘制功能。
2、math
a、添加 Stretch 数据拉伸类。提供:Percentage(百分比截断)、STD(标准差)、MaxMin(最大值最小值拉伸)、HistEqualize(直方图均衡化) 四种拉伸方法。
b、添加 Correction 数据变换(矫正)类。提供:Sigmoid(S型曲线函数)、Log(对数变换)、Gamma(伽马变换)三种变换方法。
修复:
1、Linux 下 gma 配置异常
修复一个重大 bug,该 bug 导致 gma 无法获取栅格/矢量的配置文件,导致相关函数无法正常使用。
2、Python 3.10 兼容性问题
修复一个与 Python 标准库 collections 存在兼容性问题,其引起 地图工具 无法正常导入。
已包含但不可用:
1、AddDataSetClassify
向地图框添加重分类栅格数据集。
2、AddDataSetUnique
向地图框添加唯一值栅格数据集。
移除:
扩展模块 extend 功能已全部合入,本版本删除此模块。
待优化:
map 工具添加图例
某些情况下,地图框自动调整过程不能识别图例内容,导致图例出现在画布外侧从而无法完全显示。
由于并非所有条件均不识别,目前尚不清楚此问题出现的原因。解决方法为完成后绘图后手动调整绘图范围。
简单示例:
(示例 DEM:https://gma.luosgeo.com/UserGuide/map/plot/MapFrame/AddDataSetDiscrete.html)
import gma
from gma.map import plot
WorldDS = plot.GetWorldDataSource()
WorldLayer = WorldDS.GetLayer(0)
DataSet = gma.Open('ELE_China_GEBCO_2020.tif')
# 初始化地图框
MapF = plot.MapFrame(BaseMapProj = 4326, Extent = None)
# 1.1 添加世界国家和政区底图图层
MapL1 = MapF.AddLayer(WorldLayer, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)
# 1.2 添加 GEBCO DEM 数据集(分辨率非常粗的示例版)
MapL1 = MapF.AddDataSetDiscrete(DataSet)
# 2.添加经纬网
Grid = MapF.AddGridLines(LONRange = (-180, 180, 30), LATRange = (-90, 90, 15), LineWidth = 0.2)
# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(FrameWidth = 0.5, LabelFontSize = 7, TickLength = 0.008)