Problem creating a geoTIFF from a non-georeferenced image
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
KSSV
am 7 Sep. 2017
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 Kommentare
hendra kurnia febriawan
am 17 Sep. 2018
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.
Jacob Anderson
am 26 Nov. 2018
Bearbeitet: KSSV
am 18 Sep. 2020
Conver the utms to lat lon with utm2deg
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!