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
7 views (last 30 days)
Show older comments
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 ?
Answers (1)
Daniele Sportillo
on 14 Jun 2023
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?
See Also
Categories
Find more on Geographic Coordinate Reference Systems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!