gma 2.0.0a2 (2023.06.17) 更新日志

2023-10-28 09:10
文章标签 日志 更新 17 2.0 gma 0a2 2023.06

本文主要是介绍gma 2.0.0a2 (2023.06.17) 更新日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  从本版本开始,gma 1.x 不再维护。一方面是由于精力和时间有限,另一方面由于 gma 2.x 与 1.x 相差巨大,同时维护两个相差巨大的版本较困难。
  本版本 (gma 2.0.0a2)依旧为预览版,但内容已趋于稳定,若没有较大BUG,下一版则作为正式版发布。

安装 gma 2.0.0a2

pip install gma==2.0.0a2

新增

 1、添加 【gft】地理文件格式模块
  a. 新增 **栅格(GetRasterFormat)/矢量(GetVectorFormat)**方法,用以初始化一个 栅格/矢量 格式

  • 提供完整的 栅格(/矢量 文件格式信息查看和配置高级创建选项(通过 SetCreationOptions 方法)等操作。
  • 现在,所有 栅格/矢量 处理函数的 Format/OutFormat 等格式相关参数同步支持配置的自定义格式类,以便将自定义的高级创建选项应用于栅格/矢量创建过程中。

注意: 目前,gma 仅会对高级创建选项进行简单检查,并按照以下规则处理异常配置:

  • 不支持的创建选项:直接移除
  • 错误的创建选项:直接忽略

  b. 新增 栅格(RasterSummary)/矢量(VectorSummary)概括方法,用以查看 gma 所支持的所有 栅格/矢量 格式 信息。

 2、新增 【Extraction】 提取分析模块
  a. 新增 【ExtractValues】函数。根据点坐标从栅格数据集提取值至 pandas 数据帧(DataFrame)。

修复

 1、修复了数组保存为栅格时,默认压缩方式丢失的问题。

 2、修复了 io.ReadArrayAsDataSet 函数异常的问题。

 3、修复了 io.CreateLayer 返回值为空的问题。

简单示例1:提取点值

from gma.map import inres
from gma import smc## 使用内置数据做示例
DataSet = inres.WorldDataSet.NaturalEarthEXTData = smc.Extraction.ExtractValues([[1,2], [9.0,67.5], [77, 99]], DataSet)
XYBand0Band1Band2
01.02.0123169206
19.067.5172202224

简单示例2:为 GTiff 格式配置高级创建参数(以修改压缩方式为例)

from gma.map import inres
from gma import gft## 使用内置数据做示例
DataSet = inres.WorldDataSet.NaturalEarth## 另存一个 GTiff 文件(默认为 DEFLATE 压缩)用以对比
DataSet.SaveAs(r'D:\NaturalEarth.tif', Format = 'GTiff')## 0. 创建一个 'GTiff' 栅格驱动格式
GTiff = gft.GetRasterFormat(Format = 'GTiff')
## 1. 重新设置创建选项中压缩配置(COMPRESS)参数为 LZW 压缩
GTiff.SetCreationOptions(COMPRESS = 'LZW')
## 1.1 可通过如下方法查看当前格式支持的所有配置参数(这里不做示例)
## GTiff.CreationOptionInfo
## 2. 应用自定义的栅格驱动另存数据集
DataSet.SaveAs(r'D:\NaturalEarth_LZW.tif', Format = GTiff)

利用 ArcGIS 查看生成结果
原图

修改为 LZW 压缩

gma 网站和功能说明

gma 网站:gma.luosgeo.com

注意:网站针对 1.x 版本内容,2.x 版本中部分函数功能已经调整或变更,详见内置帮助。2.x 功能参考下图:

这篇关于gma 2.0.0a2 (2023.06.17) 更新日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

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.