I understand from the error message that R should be different, but then the question is how can I get R as a 3-by-2 referencing matrix or a scalar map raster reference object ?
Change coordinate system of geotif from WGS 34 to EPSG:32628
6 ビュー (過去 30 日間)
古いコメントを表示
Hello
I have a geotif with data projected in WGS 84 (standart) and I want to convert it in EPSG:32628
since .tif files cannot be uploaded here, I saved it in a .mat (using geotiffread and save). Thus the data are in the file test.mat (attached). I want to read this data and export it in a new geotif but with different coordinate system, but I can't :
load test.mat
coordRefSysCode = 32628
geotiffwrite('test',A,R,'CoordRefSysCode',coordRefSysCode)
I get this error :
Error using geotiffwrite
Function GEOTIFFWRITE expected input number 3, R, to be either a 3-by-2 referencing matrix or a scalar map
raster reference object. Instead its type was: map.rasterref.GeographicCellsReference.
How can I do it ?
回答 (1 件)
Daniele Sportillo
2023 年 6 月 14 日
Hi Timbro,
you can try doing this:
load test.mat
coordRefSysCode = 32628;
M = makerefmat('RasterSize',R.RasterSize,'LatitudeLimits',R.LatitudeLimits,'LongitudeLimits',R.LongitudeLimits,'ColumnsStartFrom', R.ColumnsStartFrom);
geotiffwrite('test',A,M,'CoordRefSysCode',coordRefSysCode);
You can verify that the matrix M produces the same GeographicCellsReference object with the following code:
R2 = refmatToGeoRasterReference(M,R.RasterSize);
Does it work as expected?
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!