安装 gma 2.0.12
pip install gma==2.0.12
网盘下载:
链接:https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd=1pc8
提取码:1pc8
注意:此版本没有Linux版!
编译gma的Linux虚拟机没有时间修复,本期Linux版继续暂停发布。
【官方网站】
https://gma.luosgeo.com/
【PyPI】
https://pypi.org/project/gma/
新增
1、Layer.Merge
:合并矢量图层。用以将若干个其他矢量图层合并到当前Layer。
2、DataSet 数值运算
:为 DataSet 类添加 +,-,*,/,//,%,**,>,&,^,|,,>= 等运算方法,现在可以直接对 DataSet 进行基础的数值计算操作。多个DataSet之间的运算取空间相交部分的结果。
3、DataSet.AlgebraicCalculus
:添加代数计算方法,可以直接进行更高级的代数运算。
4、添加栅格数据类型支持
:Int8,Int64,UInt64!
5、GeoDataBase.AddLayer
:新增ReName(重命名图层)、OverWrite(强制覆盖重复)参数。
6、io.ReadArrayAsDataSet/io.SaveArrayAsRaster
:新增 Metadata参数,用以创建时添加元数据。
修复
1、修复 NUMPY 驱动的 DataSet 空间形变运算(裁剪,重投影等)结果异常的问题。
2、其他若干BUG修复。
补充
重要更新!自2.0.6起可以保存全nan(以及全为nodata)数组到栅格了(不在抛出异常)!
优化
1、默认的栅格/矢量数据创建策略更新。
2、DatSet.ComputeStatistics:现在只统计结果,不在尝试将结果写回 DataSet。
3、为部分类添加若干私有方法和属性(不建议外部调用)。
4、提升Layer矢量属性表的预览效率和内容标记。
示例
示例1(栅格数据集整体乘以 2.1)
from gma import io
DataSet = io.ReadRaster("HYP_50M_SR_W.tif")
DataSetMul2 = DataSet * 2.1
print(DataSetMul2.ToArray())
[[[277.2 268.8 268.8 ... 277.2 277.2 277.2] …]]
示例2(两个栅格数据集相除)
from gma import io
DataSet = io.ReadRaster("HYP_50M_SR_W.tif")
DS1 = DataSet[0]
DS2 = DataSet[1]
DSNew = DS1 / DS2
print(DSNew.ToArray())
[[0.76744186 0.74418605 0.74853801 ... 0.76300578 0.75862069 0.75862069] …]
示例3(栅格数据集计算标准化指数)
计算公式:Nor = (GB2 – GB1) / (GB2 + GB1)
from gma import io
DataSet = io.ReadRaster("HYP_50M_SR_W.tif")
# 计算函数或表达式字符。其中:
# GDS:栅格数据集本身;用于计算整个数据集;
# GBi:栅格波段,其中i为波段序号,从1开始。例如第一个波段:GB1;用以计算某些波段。
def NorIdx(GB1, GB2):
Nor = (GB2 - GB1) / (GB2 + GB1)
return Nor
NorIdx = DataSet.AlgebraicCalculus(AggFunOrExp = NorIdx)
print(NorIdx.ToArray())
[[0.83333333 1. 1. ... 0.83673469 0.84 0.84] ...]