Read/write georeferenced image
조회 수: 32 (최근 30일)
이전 댓글 표시
Hi, here I am wondering why this simple operation of reading a georeferenced .tif image and writing some results in the same georeferenced framework is so difficult. Here is my example:
[A,R] = readgeoraster("input_image.tif");
O = f(A) %any operation you like
geotiffwrite("output_image.tif",O,R);
This gives the error:
Error using geotiffwrite
The input, R, is a map.rasterref.MapCellsReference object indicating that you are working in a projected coordinate system. If so, then specify a projected coordinate system by setting the appropriate values for the 'CoordRefSysCode' or 'GeoKeyDirectoryTag' optional parameters.
But the input image includes the Coordinate Reference System Code (which is EPSG:32632), and the geotiffinfo function confirms that, as I have among other values: PCS: WGS 84 / UTM Zone 32N, which is the same as EPSG:32632.
So, do we have two Matlab functions incompatible each other? How am I supposed to automatically save the result without manually input 'CoordRefSysCode',32632 to the geotiffwrite function?
Thanks
댓글 수: 0
채택된 답변
Kevin Holly
2022년 9월 28일
Can you try this below?
[A,R] = readgeoraster('input_image.tif');
O = A*2; %any operation you like
info = geotiffinfo('input_image.tif');
key = info.GeoTIFFTags.GeoKeyDirectoryTag;
geotiffwrite("output_image.tif",O,R,'GeoKeyDirectoryTag',key);
추가 답변 (1개)
Yan Tong
2023년 8월 16일
You can try this!
[A,R] = readgeoraster(infilename);
info = geotiffinfo('input_image.tif');
geoTags = info.GeoTIFFTags.GeoKeyDirectoryTag;
tiffTags = struct('TileLength',1024,'TileWidth',1024);
geotiffwrite(outfilename,your_outputtiff,R,'TiffType','bigtiff', ...
'GeoKeyDirectoryTag',geoTags, ...
'TiffTags',tiffTags)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Import, Export, and Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!