Why does projfwd not work on some geotiff files?

6 次查看(过去 30 天)
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);
  1 个评论
Reema Alhassan
Reema Alhassan 2018-6-3
hello if you solved this issue could you please tell me how ? because I have the same and I couldn't solve it ...
thanks

请先登录,再进行评论。

采纳的回答

Ted Londner
Ted Londner 2018-6-5
编辑:Ted Londner 2018-6-5
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
  1 个评论
Robert Drucker
Robert Drucker 2019-4-10
I have been struggling with this issue, and your solution solved my problem. Thank you!!

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by