当前位置: 首页 > news >正文

将xyz格式的GRACE数据转成geotiff格式

我们需要将xyz格式的文件转成geotiff便于成图,或者geotiff转成xyz用于数据运算,下面介绍如何实现这一操作,采用GMT和matlab两种方法。

1.GMT转换

我们先准备一个xyz文件,这里是一个降水文件。在gmt中采用以下的语句实现xyz转grd网格文件

    xyz2grd DJF.txt -R-180/180/-90/90 -JN12c -I5 -Gm1.grdgmt grdsample m1.grd -Gm11.grd -I0.5

语句实现了将xyz转成grd文件,然后在Global mapper中打开,导出为geotiff格式即可,然后可以用于绘图和地理信息处理显示。

2.matlab程序实现

我们现在matlab中读取一个geotiff文件以观察其组成要素。

[A1,R] = geotiffread('Tibet_1000.tif');A1(A1<=0)=0;

可以看到,其由两部分组成,一个是数值矩阵(A1),另一个是投影信息(R)。因此我们如果想要将xyz数据转成geotiff格式的文件,同样需要准备两个信息:一个是数据矩阵,另一个是投影信息(当然需要自己设置)。

[A1,R] = geotiffread('Tibet_1000.tif');A1(A1<=0)=0;
lon = linspace(65.0042,109.9958,5400);
lat = linspace(20.0042,49.9958,3600);
[lon,lat] = meshgrid(lon,lat);O1.lon = lon;O1.lat = lat;O1.rg  = flipud(double(A1));
rg_plot(O1),title('10 km DEM'),colorbar

需要注意的是,一般我们所说的xyz数据是三列的,分别是

如果要转成geotiff文件,需要提前转成数值矩阵,即通常需要reshape一下(这针对于转换的影响为矩形)

接下来,我们实现一个xyz转成geotiff的例子。

(1)先准备一个xyz数据,这里以MSSA插值的GRACE level03数据集为例,数据参考以下专栏:

分享一个月份连续的MSSA插值的GRACE level03数据集_grace数据集-CSDN博客

matlab先读取xyz数据,然后绘图,可见reshape的正确性:

% % load data
A = load('GRACE_MSSA_2022_01.xyz');%% reshape
O.lon = reshape(A(:,1),181,361);
O.lat = reshape(A(:,2),181,361);
O.rg  = reshape(A(:,3),181,361);wzq_plot(O)

wzq_plot函数如下,其中缺失的报错文件参加B站的置顶评论:

绘图函数的使用wzq_plot - 哔哩哔哩 (bilibili.com)

function wzq_plot(wzq)
pcolor(wzq.lon,wzq.lat,wzq.rg)
shading interp
hold on;
if max(wzq.lon(:)) < 200coast=load('coastline-from-GMT-WNI.dat');
elsecoast=load('coastline-from-GMT-WNI-0-360.dat');
end
plot(coast(:,1),coast(:,2),'k')
hold off;
colorbar
colormap jet
end 

(2)配置投影信息

这里我们借用其他读取的geotiff文件的投影信息,然后按照实际情况进行修改配置,这里我们采用一个DEM的投影信息,我们需要修改的地方包括:

X Y的范围  采样分辨率  经纬度范围  栅格数量

然后我们得到配置好的新的投影信息,但是实际上有更简单的配置方法:

[A1,R] = geotiffread('Tibet_1000.tif');A1(A1<=0)=0;
% % load data
A = load('GRACE_MSSA_2022_01.xyz');%% reshape
O.lon = reshape(A(:,1),181,361);
O.lat = reshape(A(:,2),181,361);
O.rg  = reshape(A(:,3),181,361);wzq_plot(O)%% setting new projection info
R1.RasterInterpretation      = 'Postings';
R1.XIntrinsicLimits          = [1,361];
R1.YIntrinsicLimits          = [1,181];
R1.SampleSpacingInLatitude   = 1;
R1.SampleSpacingInLongitude  = 1;
R1.LatitudeLimits            = [-90,90];
R1.LongitudeLimits           = [0,360];
R1.RasterSize                = [181,361];
R1.AngleUnit                 = 'degree';
R1.ColumnsStartFrom          = 'north';
R1.RowsStartFrom             = 'east';
R1.CoordinateSystemType      = 'geographic';
R1.AngleUnits                = 'degrees';latlim = [-90,90];
lonlim = [0,360];
R0 = georefcells(latlim,lonlim,size(O.rg));	% 设置一个地理坐标
geotiffwrite('GRACE_xyz2tiff.tif', O.rg, R0);		% 

然后我们可以得到GRACE_xyz2tiff.tif文件,需要注意的是,再次运行前需要删除之前生成的文件。

在global mapper中可以打开

相关文章:

将xyz格式的GRACE数据转成geotiff格式

我们需要将xyz格式的文件转成geotiff便于成图&#xff0c;或者geotiff转成xyz用于数据运算&#xff0c;下面介绍如何实现这一操作&#xff0c;采用GMT和matlab两种方法。 1.GMT转换 我们先准备一个xyz文件&#xff0c;这里是一个降水文件。在gmt中采用以下的语句实现xyz转grd…...

【机器学习】机器学习流程之收集数据

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…...

IP风险画像在企业网络统计与安全防范中应用

随着企业在数字化时代的迅速发展&#xff0c;网络安全问题变得尤为突出。IP风险画像作为一种全面的网络安全工具&#xff0c;在企业网络统计与安全防范中展现出卓越的应用价值。本文将以一个实际案例为例&#xff0c;深入探讨IP风险画像在企业网络中的成功应用&#xff0c;以及…...

Unity类银河恶魔城学习记录3-6 Finalize BattleState源代码 P52

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Enemy.cs using System.Collections; using System.Collections.Generic; …...

【语音合成】中文-多情感领域-16k-多发音人

模型介绍 语音合成-中文-多情感领域-16k-多发音人 框架描述 拼接法和参数法是两种Text-To-Speech(TTS)技术路线。近年来参数TTS系统获得了广泛的应用&#xff0c;故此处仅涉及参数法。 参数TTS系统可分为两大模块&#xff1a;前端和后端。 前端包含文本正则、分词、多音字预…...

07-使用Package、Crates、Modules管理项目

上一篇&#xff1a;06-枚举和模式匹配 当你编写大型程序时&#xff0c;组织代码将变得越来越重要。通过对相关功能进行分组并将具有不同功能的代码分开&#xff0c;您可以明确在哪里可以找到实现特定功能的代码&#xff0c;以及在哪里可以改变功能的工作方式。 到目前为止&…...

spring.jpa.hibernate 配置和源码解析

版本 spring-boot:3.2.2 hibernate:6.4.1.Final 配置项目 DDL模式 生成定义语句修改表结构 配置路径&#xff1a;spring.jpa.hibernate.ddl-auto配置值&#xff1a;org.hibernate.tool.schema.Action枚举类型值 可选值&#xff1a; 可选值说明none默认值。不操作create-…...

2019年江苏省职教高考计算机技能考试——一道程序改错题的分析

题目&#xff1a;函数将str字符串中的5个数字字符串转换为整数&#xff0c;并保存在二维数组m的最后一行&#xff0c;各元素为3、-4、16、18、6。并经函数move处理后&#xff0c;运行结果如下&#xff1a; 18 6 3 -4 16 16 18 6 3 -4 -4 16 …...

邦芒支招:职场白领必备的10条护身符

​在职场生存除了小心驶得万年船&#xff0c;怎样躲过不长眼的办公室风暴&#xff0c;职场八卦及不成为上司利益的牺牲品呢&#xff1f;职场就是个小社会&#xff0c;人际关系说复杂也复杂&#xff0c;说简单也简单。现在送你10道有用的职场护身符&#xff0c;希望你能够通过利…...

python实现飞书群机器人消息通知(消息卡片)

python实现飞书群机器人消息通知 直接上代码 """ 飞书群机器人发送通知 """ import time import urllib3 import datetimeurllib3.disable_warnings()class FlybookRobotAlert():def __init__(self):self.webhook webhook_urlself.headers {…...

网站服务器中毒或是被入侵该怎么办?

随着互联网的普及和发展&#xff0c;网站服务器已经成为企业和个人不可或缺的资源。然而&#xff0c;网络安全问题也日益突出&#xff0c;其中服务器中毒或被入侵是常见的问题之一。一旦服务器中毒或被入侵&#xff0c;不仅会导致数据泄露、网站瘫痪等严重后果&#xff0c;还可…...

Skywalking 学习之ByteBuddy 方法执行时间监控

Skywalking git&#xff1a; GitHub - apache/skywalking: APM, Application Performance Monitoring System 集成入门&#xff1a; 10分钟3个步骤集成使用SkyWalking - 知乎 企业级监控项目Skywalking详细介绍&#xff0c;来看看呀-CSDN博客 下面自己学习了一下ByteBuddy的…...

idea vim配置

"basemap "source $cnfpath/nvim/cnf/basemap.vim """"""""""""""""""""" " 自动设置 """""""""…...

kafka排除zookeeper使用kraft的最新部署方案

kafka在新版本中已经可以不使用zookeeper进行服务部署&#xff0c;排除zookeeper的部署方案可以节省一些服务资源&#xff0c;这里使用 kafka_2.13-3.6.1.tgz 版本进行服务部署。 测试部署分为三个服务器&#xff1a; 服务器名称服务器IP地址test01192.168.56.101test02192.1…...

SQL Server数据库日志查看若已满需要清理的三种解决方案

首先查看获取实例中每个数据库日志文件大小及使用情况&#xff0c;根据数据库日志占用百分比来清理 DBCC SQLPERF(LOGSPACE) 第一种解决方案&#xff1a; 在数据库上点击右键 → 选择 属性 → 选择 文件&#xff0c;然后增加数据库日志文件的文件大小。 第二种解决方案 手动…...

人工智能 | 深度学习的进展

深度学习的进展 深度学习是人工智能领域的一个重要分支&#xff0c;它利用神经网络模拟人类大脑的学习过程&#xff0c;通过大量数据训练模型&#xff0c;使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来&#xff0c;深度学习在多个领域取得了显著的进展&#…...

玩转Java8新特性

背景 说到Java8新特性&#xff0c;大家可能都耳濡目染了&#xff0c;代码中经常使用遍历stream流用到不同的api了&#xff0c;但是大家有没有想过自己也自定义个函数式接口呢&#xff0c;目前Java8自带的四个函数式接口&#xff0c;比如Function、Supplier等 stream流中也使用…...

EasyRecovery2024永久免费版电脑数据恢复软件下载

EasyRecovery数据恢复软件是一款非常好用且功能全面的工具&#xff0c;它能帮助用户恢复各种丢失或误删除的数据。以下是关于EasyRecovery的详细功能介绍以及下载步骤&#xff1a; EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win…...

QQ音乐新版客户端的音乐无法解密?来看看解决方法!音乐解锁工具Web+批处理版本合集,附常见问题及解决方法!

一、软件简介 一般会员制音乐软件&#xff08;如某抑云&#xff0c;某鹅&#xff0c;某狗音乐&#xff09;的歌曲下载后都是加密格式&#xff0c;加密格式的音乐只能在特定的播放器中才能播放&#xff0c;在其他音乐播放器和设备中则无法识别和播放。音乐解锁工具的作用就是将…...

2023年12月CCF-GESP编程能力等级认证C++编程一级真题解析

一、单选题(共15题,共30分) 第1题 以下C++不可以作为变量的名称的是( )。 A:CCF GESP B:ccfGESP C:CCFgesp D:CCF_GESP 答案:A 第2题 C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。 A:0 B:1 C:2 D:3 答案:B 第3题 假设现在是上午十点,求出N小时(正整数…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...