MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件

MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件

MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件

场景描述:

问题描述:

原因分析:

解决方法:

场景描述:

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

问题描述:

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

图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文件中

原因分析:

在调试完代码后,发现问题出现在没有添加rot90()这个函数。在matlab中用imshow()显示出的结果正确,那说明在该矩阵左上角的坐标是(90°,-180°),右下角的坐标是(-90°,180°)。而空间坐标是从-90到90维度,-180到180经度,我猜测georasterref()函数内部是按照矩阵A的规格构建了一个坐标矩阵,如图3:

图3. 坐标矩阵

如果按照原始代码运行,那意味着,矩阵第一行维度是-90°,但是实际上应该是90°,所以输出的数据南北维度出现了颠倒的现象。

解决方法:

在完成了矩阵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中自定义栅格数据地理坐标并写出数据到tiff文件相关教程

37.自定义导航栏开发 uni-app

37.自定义导航栏开发 uni-app 参考:https://uniapp.dcloud.io/collocation/pages?id=app-plus 禁止原生导航 1.新建发布页面add-input,在pages里写 2.在index.html写原生导航按钮的监听事件函数 onNavigationBarButtonTap(e){ console.log(JSON.stringify(e)

自定义属性操作/案例:自定义tab栏切换/H5自定义属性

自定义属性操作/案例:自定义tab栏切换/H5自定义属性 自定义属性操作 div id = 'demo' /div script var div = document.querySelector(div); //1.获取元素的属性值 //(1)element.属性 console.log(div.id); //(2)element.getAttribute('属性') console.log(d

MATLAB绘制纹理柱状图

MATLAB绘制纹理柱状图 https://ww2.mathworks.cn/matlabcentral/fileexchange/24021-hatch-fill-patterns-plus-color-invert 需要下载matlab包 applyhatch_pluscolor.m 是用来绘制的 makehatch_plus.m 当中包含了填充纹理的样式 testforapplyhatch.m 是用来

计算机概论之计算

计算机概论之计算 计算机概论计算篇 这里写自定义目录标题 进制运算的基础 进制概述 二进制运算的基础 二进制转换十进制:按权展开法 十进制转换二进制 有符号数与无符号数 原码表示法 二进制的补码表示法 二进制的反码表示法 定点数与浮点数 定点数的表示方

直纹面的简要介绍 以及matlab程序实现

直纹面的简要介绍 以及matlab程序实现 直纹面 是一类特殊的曲面,它可以由一族直线“织成”,即过曲线上每一点都存在过该点的直线落在该曲面上。 直纹面在 几何造型 中的应用非常广泛。直纹面是直线段在空间中沿某一定曲线运动所形成的轨迹. 定曲线称为准线,

mapreduce练习8过滤日志自定义输出

mapreduce练习8过滤日志自定义输出 1.FilterMapper import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper; public

Vue 自定义组件directive使用总结

Vue 自定义组件directive使用总结 !DOCTYPE htmlhtml lang=enhead meta charset=UTF-8 meta name=viewport content=width=device-width, initial-scale=1.0 script src=https://cdn.jsdelivr.net/npm/vue/dist/vue.js/script title自定义组件directive/title/

MATLAB求解峰值、均值、平均幅值、方差、均方根、方根幅值、最值

MATLAB求解峰值、均值、平均幅值、方差、均方根、方根幅值、最值、峭度、斜度、裕度指标、波形指标、脉冲指标、峰值指标、峭度指标 MATLAB求解峰值、均值、平均幅值、方差、均方根、方根幅值、最值、峭度、斜度、裕度指标、波形指标、脉冲指标、峰值指标、峭

matlab生成tiff,MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件相关推荐

  1. matlab 生成网格,matlab生成网格

    绘制马鞍面和平面截割平面 clc,clear,close all clf, a=-20;eps0=1; [x,y]=meshgrid(-10:0.2:10); %生成平面网格 v=[-10 10 -1 ...

  2. Matlab 生成vhdl,matlab - 使用HDL Workflow Advisor将Matlab代码转换为vhdl - 堆栈内存溢出...

    我制作了一个Matlab程序,它可以检测2个圆是否相交,并输出相交的坐标. 现在,我正在尝试将代码转换为vhdl以进行FPGA实现. 我的代码中在HDL Workflow Advisor中仍然存在错误 ...

  3. php根据时间搜索的控件,yii2 crud生成的搜索中 自定义按 时间 搜索

    第一步 用gii生成crud 注意填充Search Model Class这一项 可以放在单独的文件夹 例如app\models\search\PostSearch 第二步 再生成的views里面的i ...

  4. matlab 生成连续信号,Matlab的连续信号生成及时频域分析

    基于Matlab 的连续信号生成及时频域分析 一.实验目的 1.通过实验使学生掌握matlab 表示信号的方法: 2.通过实验掌握基于matlab 的连续时间信号与系统的时频域分析方法. 二.实验要求 ...

  5. matlab生成随机数,matlab随机数生成方法

    Matlab(mathworks.com) 随机数生成方法 (转自雅虎空间) 第一种方法是用 random 语句,其一般形式为 y = random('分布的英文名',A1,A2,A3,m,n), 表 ...

  6. 用Matlab生成歌曲,MATLAB制作歌曲

    简谱知识 首先了解简谱基础知识 表示音的高低的基本符号,用七个阿拉伯数字标记. 它们的写法和读法如下: 写法: 1 2 3 4 5 6 7 读法: Do Re Mi Fa Sol La Si 1 ˙ ...

  7. matlab 生成 尖峰信号,MATLAB的FFT波形图只含有一个尖峰

    我有一些初级的,基本的物理网络数据,我试图应用FFT,但我有点困惑的结果,我认为他们是正确的.我主要是用这个代码 example fftshift documentation page 有一些调整,但 ...

  8. Winform中自定义xml配置文件,并配置获取文件路径

    场景 在Winform程序中,需要将一些配置项存到配置文件中,这时就需要自定义xml的配置文件格式.并在一些工具类中去获取配置文件的路径并加载其内容. 关注公众号 霸道的程序猿 获取编程相关电子书.教 ...

  9. 安卓怎么显示res文件夹中的html_android中自定义WebView显示网页或本地html文件 | 学步园...

    由于最近项目部分需求要访问网页查阅信息,如:学历查询,学位查询,英语四六级查询等. 在这里总结下完成的方式,难度也不算大. 自定义带进度条的WebView控件: package app.ui.widg ...

  10. 【Matlab】在Java中调用matlab函数

    考虑到计算的各种情况,有些用Java代码实现的计算难免会显得不够高效.而利用MATLAB写好相应的计算函数,然后打包成jar包供Java调用,在某些情况下会更加方便.现在就来说一下如何实现这一过程: ...

最新文章

  1. (理解和3种方法完全解决pycharm报错)main.py: error: the following arguments are required: -d/--dataset
  2. linux中cut -c命令,linux中~/cut/argus/
  3. Android ANR详解
  4. 无盘服务器怎么修改ip,怎么进入无盘服务器修改IP地址呢
  5. Dotfuscator使用教程
  6. Oracle备份恢复之逻辑备份
  7. MAC地址、IP地址、ARP协议
  8. MySQL存储引擎:MyISAM InnoDB
  9. taz文件_我们将赠送LulzBot Taz 6 3D打印机
  10. 36 小时,程序员可以开发出什么?
  11. 谷歌放弃go_用 Go 实现 Flutter
  12. HDOJ_ACM_统计问题
  13. http接口开发几种工具简单介绍
  14. 图形变换之旋转变换公式推导
  15. css选择文件的图片大小,怎么用css设置图片大小
  16. 台式计算机内存两个缺口,台式机内存条正确安装方法|台式电脑怎样安装两个内存条...
  17. 买房? 上区块链, 安排! 全国首张不动产区块链电子凭证诞生
  18. AI带你省钱旅游!精准预测民宿房源价格! ⛵
  19. Java与C语言链表的不同
  20. 如何使用远程桌面连接远程计算机?

热门文章

  1. JavaWeb购物系统(课程设计)
  2. 用Visio画流程图
  3. 我的世界java材质包推荐下载_我的世界材质包排行-Minecraft材质包-我的世界高清材质包下载大全-Minecraft中文分享站...
  4. MFC基础之字符集,Unicode字符集,多字节字符集
  5. ps4如何无线连接网络连接服务器,PC党最佳选择!达人发布PS4手柄无线连接PC教程...
  6. 用WIN PE通过修改系统注册表修复因盘符错乱而导致系统无法启动问题
  7. python 写入文件 wb_python读写文件
  8. linux相关rpm包下载地址
  9. logo字体设计心法
  10. android 有序map,给HashMap排序,使之成为有序Map