gma 2 教程(一)概述:1.GMA 简介

news2024/11/16 13:55:34

  地理与气象分析库(Geographic and Meteorological Analysis. gma),是一个基于 Python 的地理、气象数据快速处理分析和地理制图函数包。构建过程参考了ArcGIS和QGIS的操作逻辑和特点,并添加诸多独创性、独有的功能,具有独特的代码构造理念。

  整体上,gma遵循易用至上、开放共享、效率更新的原则,不断整合优秀的、前沿的、大众急需的地理/气象相关模型算法,力争打造国内独具特色的集地理数据处理和分析、气象指标计算、地理空间绘图等功能为一体函数包,以简单的用法、完整的帮助说明、典型的示例等使用者可以快速入手,并解决现实问题。
  目前,gma 2 alpha 版(2.0.0a2)已经发布测试,相较于早期版本,gma 2 底层算法逻辑彻底重构,功能函数重新归类,类结构和功能逻辑更加清晰,其更像是gma真正意义上的第一个正式版。

主要功能

  1. 栅格/矢量数据输入输出模块
    包括数据打开、信息查看、转换、提取,栅格/矢量内存数据创建等。
  2. 坐标参考系统
    包括地理/投影坐标系创建、基准面/椭球体创建、投影方法配置、初始化现有空间参考等。
  3. 地理空间制图
    包括栅格、矢量数据绘图,指北针、比例尺等生成。
  4. 数学运算模块
    包括数据平滑、评估、滤波、拉伸、增强、变换等。
  5. 气候气象模块
    包括气候指数(SPEI、SPI等)、多种潜在蒸散算法(Penman-Monteith法等)、气候诊断(M-K突变检验等)和一些其他相关指数(日地相对距离等)算法等。
  6. 遥感指数计算
    包括NDVI、EVI、TVDI等遥感植被指数计算。
  7. 栅格处理工具
    包括基础处理(重采样、重投影等)、提取分析(等值线提取、重分类等)、栅格融合(Pansharpen融合等)、滤波运算(高斯滤波等)、栅格分解(波段分解等)、多维处理(多维数据转为普通栅格等)、表面分析(坡度、坡向等)等工具。
  8. 矢量处理工具
    包括基础处理(几何修复、简化、重投影等)、矢量提取(要素分割等)、几何处理(裁剪、相交、擦除等)。
  9. 空间计算工具
    包括空间查询(长度测量、坐标转换等)、空间插值(反距离权重法、克里金法等)。
  10. 其他系统工具
    包括常用的文件查找、压缩文件操作、多线程等。

构建初衷与目标

  对于大部分地学或气象学的学者来说,数据处理是一个很大的工程,动辄数小时或者数天的数据处理时间。如果没有很好的工具或者方法,在面对多时序(例如时序遥感数据),大尺度(例如全国范围)等数据分析研究时,就显得极为困难。
  因此,gma构建的最初目的便是为了解决上述问题。当然,随着gma版本的更迭,gma内容也越来越丰富,功能越来越完善,所能解决的问题也越来越多。

发展目标

  随着gma 的迭代更新,gma的建库理念和发展目标也越发明确:

  1. 数据处理方面
    基于GDAL(OGR/OSR),简化并优化用户交互逻辑,构建更加快速、方便、实用地Python地理与气象数据处理和分析方法。
  2. 气候气象方面
    基于NumPy体系,涵盖从前期数据清晰、提取到气候应用的全过程,完整封装计算过程中繁杂的数学方法,简化使用方法,降低使用门槛。
  3. 空间绘图方面
    以ArcGIS交互逻辑为参考模板,打造独立于cartopy的Python空间绘图体系。
  4. 国内开源GIS应用
    以ArcGIS工具箱功能为学习对象,力争成为国内功能最丰富的Python开源地理处理工具包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT Creator上位机学习(三)QString及其相关控件介绍

系列文章目录 文章目录 系列文章目录字符串QStringQLableQLineEditQString的常用功能 字符串QString QSting类,用于处理字符串,进行字符串和数字之间的转化 转换函数: //字符串转数字 QString str......; int numstr.toInt(); float num2s…

微信项目IO优化:Jetpack DataStore 与MMKV实现高效持久化

咱们一起来看看mmkv 腾讯微信团队于2018年9月底宣布开源 MMKV ,原理上基于 mmap的一个高性能key-value 组件,数据的序列化/反序列化使用 protobuf 实现,主打高性能和稳定性,也支持了Android 平台。 **MMKV最新源码托管地址&#…

Mybatis【核心配置文件说明】

配置解析 1、核心配置文件 mybatis-config.xml 注意: 在配置 mybatis-config.xml 时,要注意标签的顺序: 2、环境变量(environments) MyBatis 可以配置成适应多种环境 不过要记住:尽管可以配置多个环境…

现代操作系统(下)

第六章 死锁 在计算机系统中有很多独占性的资源,在任一时刻它们都只能被一个进程使用。两个进程同时使用同一文件系统表中的表项会引起文件系统的瘫痪。正因为如此,操作系统都具有授权一个进程(临时)排他地访问某一种资源的能力。…

【AcWing】夏季每日一题2023 -- 4382. 快速打字 -- Java Version

题目链接:https://www.acwing.com/problem/content/4385/ 1. 题解(4382. 快速打字) y总视频讲解:https://www.acwing.com/video/4743/ 类似题目:AcWing 2816. 判断子序列 1.1 双指针:判断子序列 ⭐ 时间复…

一文吃透MAUI、WinUI3和WPF的优势及劣势

引言: 在应用程序开发领域,选择合适的框架对于开发人员和业务来说至关重要。本文将比较并对比三个流行的用户界面框架:MAUI(Multi-platform App UI)、WinUI 3和WPF(Windows Presentation Foundation&#x…

element ui table表格(表头、表体)样式

效果图如下 1.表头样式:header-cell-stayle 2.表体样式 在methods中写 在style中

使用Qt/C++实现WGS84、高德GCJ-02、百度BD-09坐标系间相互转化

在做地图相关开发时候,绕不开不同坐标系间的转化,因此我根据查阅相关资料后将不同坐标系间的转换封装到一个GeoTranslate类中,该类转换函数不仅支持Qt/C调用,同时可在QML中直接调用,配合上QML/Map很方便,我…

大咖培训讲座|高性能计算专场 认识真正的高性能计算,探究如何成为高性能计算工程师 ...

猿代码科技高性能计算讲座原文——OpenBLAS创始人无保留分享 我们如何成为一个高性能计算的工程师,或者这种性能优化的这一部分的软件工程师。 我其实想了一下,这一部分的入门的基础其实没那么难。 就是更主要的话,我还是在于兴趣和自驱力…

idea自定义类注释以及方法注释,无警告

背景 idea:IntelliJ IDEA 2023.1.3 (Ultimate Edition) 效果 类 方法 正式:类 设置 代码 /** * author: 你的名字* date: ${DATE} on ${TIME}* desc: $NAME*/注意,请全部复制,空行也要,看设置截图选中部分 …

Jenkins定时执行JMeter脚本并查看测试报告实现

【整体思路】 通过Tomcat启动Jenkins服务,在Jenkins中创建自动化测试项目,项目配置中配置构建时执行的动作,配置构建后动作展示报告 【涉及软件及版本信息】 Tomcat版本:9.0.76 Jenkins版本:2.332.3(注…

ES批量上传数据 - Python操作ES

代码 # -*- coding: utf-8 -*- # Author : markadcimport randomfrom elasticsearch import Elasticsearch, helpersurl http://localhost:9200/ client Elasticsearch(url) index testsome [] for i in range(1, 10001):docu {uid: i, age: random.randint(1, 100)} …

ChatGPT中的Token:了解聊天模型的基本单位

✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:AI大模型 ChatGPT中的Token是什么? 在ChatGPT…

23-BOM和常见的BOM对象

一、是什么 BOM (Browser Object Model),浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象 作用:跟浏览器做一些交互效果, 如何进行页面的后退,前进,刷新,浏览器的窗口发生变化&am…

ECS云服务器U实例评测,可以免费体验哦

目录 一、ECS云服务器U实例介绍 话题一、U实例使用体感如何,是否和主售型实例有区别,具体体现在哪里? 话题二、结合相关数据材料,对您感兴趣的场景 话题三、使用u实例是否为您的云上业务或者测试项目提供了帮助支持&#xff1…

Axure教程——表格内部修改

本文介绍的时用Axue中的中继器制作表内修改效果 效果 预览地址:https://w97xns.axshare.com 功能 点击某条数据的”编辑“按钮可以修改此条数据的每项数据,”编辑“和”删除“按钮变为”保存“和”取消‘按钮 制作 需要的元件:矩形、中继…

asp.net MVC

文件目录 页面 HTML与Script的联系 HTML元素通过调用脚本中的function来触发前端的动作要进行的后端逻辑操作 Script中通过选择器$(“#str”)来改变前端HTML的显示数据 Script中有两种类型的函数模式 $(function(){ … }) :window.onload时调用。function btnRese…

​Chamilo 学习管理软件存在命令执行漏洞(CVE-2023-34960)

Chamilo 学习管理软件存在命令执行漏洞(CVE-2023-34960) 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责&#xff…

Python基础语法笔记整理(黑马8天学会python笔记)

Python 第一章、基础语法 01.字面量(写在代码中的固定的值) 02.注释 # 单行注释 """ 多行注释 """03.变量 变量无类型,数据有类型 变量名 变量值04.数据类型 数据类型: type()05.类型转换 字符串转数字&#xff…

【unity实战】制作一个类帝国时代、红警——RTS战略性游戏

文章目录 先来看看实现的最终效果什么是RTS游戏一、两种方法实现相机的移动旋转缩放以及拖拽功能前言准备第一种办法1. 移动1.1 代码实现,里面都写了详细的中文注释,就不过多解释了1.2 效果:1.3 问题: 2. 缩放2.1 代码 3. 限制范围…