gma 1.1.6 | 2.0.0a1 (2023.05.14) 更新日志

2023-10-28 09:10
文章标签 日志 更新 14 1.1 2.0 gma 0a1 2023.05

本文主要是介绍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) 更新日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/292202

相关文章

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作