Why does projfwd not work on some geotiff files?

Illustration
Ted Londner - 2022-01-10T11:45:27+00:00
Question: Why does projfwd not work on some geotiff files?

I am working with a set of geoTIFF files. For some of them, I receive an error when I attempt to use the projfwd function (see below). I have little experience with the Mapping Toolbox and geoTIFF files and would appreciate any help better understanding this problem.   Error using proj2gtif (line 17) The GeoTIFF structure PROJ cannot be used with functions PROJFWD or PROJINV.   Error in projaccess (line 40) gtif = proj2gtif(proj);   Error in projfwd (line 60) [x,y] = projaccess('fwd', proj, lat, lon);

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

I believe I have discovered the problem. There are multiple types of geoTIFF files, each requiring different treatment. I've written how I handled the differences below. Note that my ultimate goal was to convert latitude and longitude data into pixel coordinates, which I call 'row' and 'col'.

 

%Get geoTIFF file information
info = geotiffinfo(geoTIFF_filename);

%Get geoTIFF image file data based on ColorType field of 'info'
switch lower(info.ColorType)
     case 'indexed'
          [~, ~, R] = geotiffread(geoTIFF_filename);
     otherwise
          [~, R] = geotiffread(geoTIFF_filename);
     end

   %Convert latitude and longitude to pixel coordinates based on class of R
   switch class(R)
        case 'map.rasterref.GeographicCellsReference'
             [row, col] = latlon2pix(R, lat, lon);
        case 'map.rasterref.MapCellsReference'
             [X, Y] = projfwd(info, lat, lon);
             [row, col] = map2pix(R, X, Y);
        otherwise
             error('Unrecognized format for R');
   end

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!