场景描述:
有时候将nc格式的数据转成tiff,或者是将一个矩阵输出成带有地理坐标信息tiff数据时,常常涉及到空间参考的定义和geotiffwrite()函数。
问题描述:
以全球数据为例,今天发现在matlab中对矩阵进行显示后,该数据是正常的,但是添加了空间参考输出后,数据的南北维度颠倒了。如图1是正常显示的结果,图2是输出后的南北纬被颠倒的结果。图下方是一段示例代码。
正常显示的结果应该如下所示:
上述倒置的图像的代码是:
Matlab
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()函数将原来的数据倒置一下,所以纠正后的代码应该如下。
Matlab
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文件中