本文主要是介绍gma 1.1.6 | 2.0.0a1 (2023.05.14) 更新日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从现在开始,gma 开始同步更新 gma 2 的前期预览版,并与 gma 1 的正式版同步发布。
gma 1.1.6 更新日志
新增
1、添加 3组 新的指北针样式。
修复
1、【map】高分辨栅格数据集内存溢出问题。
添加高分辨率栅格数据集且进行强制数据缩放时 偶现内存溢出错误,此问题是由于掩膜过程设计的不太合理导致。
优化
1、TVDI。TVDI 所有计算结果的存储类型更换为 具名元组(以前为元组),方便抽取对应数据。
2、坐标参考系统。不再依附于 map 模块,新增 gma.crs 模块,用于统一 gma 库整体的坐标参考系统。
待开放
1、已含有超过10种其他的遥感植被指数。
简单示例
from gma.map import plot, inresMapF = plot.MapFrame(BaseMapProj = 3035, Extent = None)# 1.添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(inres.WorldLayer.Country, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)# 2.添加经纬网
Grid = MapF.AddGridLines()# 3.绘制四种指北针
Compass = MapF.AddCompass(LOC = (0.1, 0.9), Color = 'black', Style = 'GMACompass1')
Compass = MapF.AddCompass(LOC = (0.2, 0.9), Color = 'blue', Style = 'GMACompass2')
Compass = MapF.AddCompass(LOC = (0.1, 0.8), Color = 'green', Style = 'GMACompass3')
Compass = MapF.AddCompass(LOC = (0.2, 0.8), Color = 'red', Style = 'GMACompass4')# 4.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame()
gma 2.0.0a1 更新日志
整体架构调整
重构
1、底层算法逻辑彻底重构,类继承关系更加明确。
2、功能函数重新归类,部分函数进行更名或移除。
重要函数更新
1、Open 栅格文件。
现在,打开的栅格文件可以直接进行重投影、重采样、另存为栅格文件或转为矢量图层等操作。
2、Open 矢量文件。
现在,打开的矢量图层可以直接进行裁剪、擦除、重投影,另存为矢量文件或转为栅格数据集等操作。
3、更多投影支持。
现在,gma.crs.ProjMethod 添加了超过 30 种投影方法以供使用。
其他更新
1、控制台更清爽。此版本开始 gma 会直接抑制 GDAL/OGR 的内部警告。
2、稳定版 gma 更新。gma 1.1.6
的新功能也会包含在此版本。
简单示例
from gma import crs############### 构建自定义投影的主要思路
# 1.定义一个 Bonne 投影方法,中央子午线为东经 112°
ProjMethod = crs.ProjMethod.Bonne(CentralMeridian = 112)# 2.创建一个地理坐标系
## 2.1 创建一个自定义椭球体。椭球体名称:'New Ellips',不使用默认椭球体;自定义椭球体长半轴 6378137.0m,反扁率 298.257223563
Ellipsoid = crs.Ellipsoid(Name = 'New Ellips', UseDefault = False, SemiMajor = 6378137.0, InvFlattening = 298.257223563)
## 2.2 生成一个地理坐标系。地理坐标系名称:'GMA GCS',角度单位为 'Degree',中央经线为 'Greenwich',椭球体为 2.1 创建的自定义椭球体
GCS = crs.GeogCS(Name = 'GMA GCS', AngularUnit = 'Degree', PRIMEM = 'Greenwich', Ellipsoid = Ellipsoid)# 3.创建投影坐标系。投影坐标系名称:'GMA PCS',线性单位为 'Meter',投影方法为 1 定义的投影方法,地理坐标系为 2.2 创建的地理坐标系
Proj = crs.ProjCS(Name = 'GMA PCS', LinearUnit = 'Meter', ProjMethod = ProjMethod, GCS = GCS)
print(Proj.Export())
PROJCS[“GMA PCS”,GEOGCS[“GMA GCS”,DATUM[“New Ellips”,SPHEROID[“New Ellips”,6378137,298.257223563]],PRIMEM[“Greenwich”,0],UNIT[“Degree”,0.0174532925199433]],PROJECTION[“Bonne”],PARAMETER[“central_meridian”,112],PARAMETER[“standard_parallel_1”,60],PARAMETER[“false_easting”,0],PARAMETER[“false_northing”,0],UNIT[“Meter”,1],AXIS[“Easting”,EAST],AXIS[“Northing”,NORTH]]
from gma.map import plot, inresMapF = plot.MapFrame(BaseMapProj = Proj, Extent = None)# 1.添加图层(可以重复添加多个图层)
MapL1 = MapF.AddLayer(inres.WorldLayer.Country, FaceColor = None, EdgeColor = 'gray', LineWidth = 0.1)# 2.添加经纬网
Grid = MapF.AddGridLines()# 3.设置地图框(包括刻度和经纬度的标注)
Frame = MapF.SetFrame(ShowLeft = False, ShowBottom = False, ShowRight = False, ShowTop = False)
这篇关于gma 1.1.6 | 2.0.0a1 (2023.05.14) 更新日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!