MATLAB中自定义栅格数据地理坐标R,利用geotifwrite写入tif

本文主要是介绍MATLAB中自定义栅格数据地理坐标R,利用geotifwrite写入tif,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

场景描述:

有时候将nc格式的数据转成tiff,或者是将一个矩阵输出成带有地理坐标信息tiff数据时,常常涉及到空间参考的定义和geotiffwrite()函数。

问题描述:

以全球数据为例,今天发现在matlab中对矩阵进行显示后,该数据是正常的,但是添加了空间参考输出后,数据的南北维度颠倒了。如图1是正常显示的结果,图2是输出后的南北纬被颠倒的结果。图下方是一段示例代码。

 正常显示的结果应该如下所示:

上述倒置的图像的代码是:

A=zeros(180,360);  //创建一个180行,360列的矩阵
A=function;  //对A进行复制计算,这里就用function来指代
Ref=georasterref('RasterSize',[180,360],'Latlim',[-90,90],'Lonlim',[-180,180]);  //定义空间参考信息
geotiffwrite(outfilepath, A, Ref); //将A输出到tiff文件中

解决方法:

在完成了矩阵A的赋值后,应该在后面添加一个rot90()函数将原来的数据倒置一下,所以纠正后的代码应该如下。

A=zeros(180,360);  //创建一个180行,360列的矩阵
A=function;  //对A进行复制计算,这里就用function来指代
A=rot90(A');  //将矩阵A倒置一下,即南北维度调换
Ref=georasterref('RasterSize',[180,360],'Latlim',[-90,90],'Lonlim',[-180,180]);  //定义空间参考信息
geotiffwrite(outfilepath, A, Ref); //将A输出到tiff文件中

这篇关于MATLAB中自定义栅格数据地理坐标R,利用geotifwrite写入tif的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python读取TIF文件的两种方法实现

《Python读取TIF文件的两种方法实现》本文主要介绍了Python读取TIF文件的两种方法实现,包括使用tifffile库和Pillow库逐帧读取TIFF文件,具有一定的参考价值,感兴趣的可以了解... 目录方法 1:使用 tifffile 逐帧读取安装 tifffile:逐帧读取代码:方法 2:使用

SpringBoot 自定义消息转换器使用详解

《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d