Problem creating a geoTIFF from a non-georeferenced image
5 次查看(过去 30 天)
显示 更早的评论
I'm trying to create a geoTIFF file in Matlab from the attached png. I'm following the example provided in: https://uk.mathworks.com/help/map/examples/exporting-images-and-raster-grids-to-geotiff.html
but need to create georeferencing information from scratch, so using makerefmat and worldfilewrite to acheive this. The code below does not cause a crash, but generates a TIFF that image readers seem to struggle with, so I assume I'm doing something wrong. There may also be some redundancy as I haven't worked with TIFF tags before. Any help appreciated!
% Load image without georeferencing
RGB = imread('uk_dT.png');
% Create worldfile for image. At present this is done by first creating a
% reference matrix, then using these values to generate a worldfile.
% Longitude spans -17:10 (west to east), latitude 63:47 (north to south)
lonmin = -17; lonmax = 10; latmin = 47; latmax = 63;
DX = (lonmax-lonmin)/(length(RGB(1,:,1))); DY = (latmin-latmax)/(length(RGB(:,1,1)));
R = makerefmat(lonmin, latmax, DX, DY);
worldfilewrite(R,'uk_dT.tfw');
% Read worldfile, create geotiff
REF = worldfileread('uk_dT.tfw','geographic',size(RGB));
geotiffwrite('uk_dT.tif',RGB,REF)
0 个评论
采纳的回答
KSSV
2017-9-7
file = 'uk_dT.png' ;
[path,name,ext] = fileparts(file) ;
I = imread(file) ;
lonmin = -17; lonmax = 10; latmin = 47; latmax = 63;
x = linspace(lonmin,lonmax,size(I,2)) ;
y = linspace(latmin,latmax,size(I,1)) ;
% Write to geotiff
R = georasterref('RasterSize',size(I),'LatitudeLimits',[latmin,latmax],'LongitudeLimits',[lonmin,lonmax]);
tiffile = strcat(name,'.tif') ;
geotiffwrite(tiffile,I,R)
4 个评论
hendra kurnia febriawan
2018-9-17
Hi All,
Thank you for the sharing. I am working with this thing as well but I used UTM zone 50S coord instead of latlong. Could you please tell me what function to be used which is similar with georasterref but for UTM coord?
Thank you in advance.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!