MATLAB — 利用geotiffwrite将浮点型的高程数据写成tif文件
。。。只是自己用一下以下的两行代码,发现能用后没有深究,或许之后会深究8。。。
只是想要保存个tif图而已,不在乎坐标框架之类的时候:
R=[0,-1;1,0;0,6000];
geotiffwrite('result.tif', result, R, 'CoordRefSysCode', 21417);
-
test: 某个坐标框架
-
geotiffwrite(输出名称,输入数据,坐标框架)
-
地理坐标时:
R = georefcells(latlim,lonlim,rasterSize); %latlim,lonlim分别为1*2的南北、东西经纬度界限。 -
投影坐标时:
R = maprefcells(latlim,lonlim,rasterSize); %latlim,lonlim分别为1*2的南北、东西坐标界限。
-
-
PCS_Beijing_Gauss_zone_17 = 21417
-
(我用matlab2016的时候没法存,但是2019a的时候就没问题)
试图深究时
- 情景:读取某个tif影像,balabala操作后,想按照原来的地理参考存成tif。
-
geotiffread
:
[[A, R] = geotiffread(filename)
- A : 图像矩阵
- R : 地理参考
-
现在对A进行了balabala运算后,想要把A存下来,该怎么存?
如果还是按照地理参考R保存,且R为投影坐标系(Projected Coordinate System), 那么按照代码geotiffwrite(filename, A, R)
将返回错误结果,原因大意为以投影坐标系作为地理参考的时候,保存时应该在函数中**指明’CoordRefSysCode’**或者’GeoKeyDirectoryTag’两者任选其一。
其中,'CoordRefSysCode’是查询Projected CS Type Codes坐标系编码得到的得到的。