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

相关文章

Sapphire开发日志 (十) 关于页面

关于页面 任务介绍 关于页面用户对我组工作量的展示。 实现效果 代码解释 首先封装一个子组件用于展示用户头像和名称。 const UserGrid = ({src,name,size,link,}: {src: any;name: any;size?: any;link?: any;}) => (<Box sx={{ display: "flex", flexDirecti

个人博客文章目录索引(持续更新中...)

文章目录 一、Java基础二、Java相关三、MySql基础四、Mybatis基础及源码五、MybatisPlus基础六、Spring基础及源码七、Tomcat源码八、SpringMVC基础及源码   随着文章数量多起来,每次着急翻找半天,而是新申请的域名下来了,决定整理下最近几年的文章目录索引。(红色标记为常检索文章) 一、Java基础 1、Java基础(一):语言概述2、J

linux匹配Nginx日志,某个字符开头和结尾的字符串

匹配 os=1 开头, &ip结尾的字符串 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ 存入日志。然后使用submit 前面和后面的值去掉,剩下就是需要的字符串。 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ >log.log

springboot学习02-[热部署和日志]

热部署和日志 热部署 热部署

C# 日志框架Serilog使用

1、框架和说明        C#日志框架Serilog支持多种场景输出,简单验证了一下,比较方便        包的安装,推荐直接使用“推荐NuGet包管理器”安装Serilog.AspNetCore,常见的组件都已经集成在一个包中,使用比较方便 2、配置文件        Serilog可以由配置文件来定义行为,而且配置文件的修改即时生效。参考配置文件如下: {"Serilog":

【大数据 复习】第11,12,13,14章

Web应用与流数据 1.在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——静态数据,即数据以大量、快速、时变的流形式持续到达。( )    正确答案: 错误 错误在静态数据,这里应该叫非静态数据之类的,虽然没有这个名词。 2.流数据适合采用批量计算,因为流数据适合用传统的关系模型建模。( )    正确答案: 错误 传统的关系模型一般是用于静态数据的存储和分析,例如 S

Android Log日志 - 打印不全问题

AndroidStudio在打印Log的时候目前支持4*1024长度,超出部分不能打印。当你在各种百度之后有对应的解决办法,但是每次都是部分代码,看着都忧伤。索性此次项目调试的数据也是比较多滴,目前就准备对Log开刀来写一个Log类,还是如以往的性格直接写完整的类,方便需要的人用。反正又不是什么高深的东西,为了给被方便同时也是给自己方便。 /*** Relin* 2019-07-10 10:40

手把手带你实现Android增量更新

Android增量更新技术在很多公司都在使用,网上也有一些相关的文章,但大家可能未必完全理解实现的方式,本篇博客,我将一步步的带大家实现增量更新。 为什么需要增量更新? 当我们开发完一个项目之后,上线维护 , 增加新功能 , 添加第三方库 , APK大小从4 - 5M , 增长到10+M , 用户由原来的几十秒下载 , 到现在几分钟以上的下载 , 网络情况不好的时候 , 或许就是十分钟不等。每

华为欧拉 openEuler24.03 更新 阿里 yum源

华为欧拉 openEuler24.03 更新 阿里 yum源 备份 yum 源编写 阿里云 yum源 配置文件更新 yum 缓存 备份 yum 源 mv /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak 编写 阿里云 yum源 配置文件 vim /etc/yum.repos.d/openEuler.r

git 放弃本地修改 强制更新

git fetch --all git reset --hard origin/分支名称 git fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本