Opened 22 years ago

Last modified 22 years ago

#130 closed defect (fixed)

MapInfo .tab files for GeoTIFF not handled properly.

Reported by: warmerdam Owned by: warmerdam
Priority: high Milestone:
Component: default Version: unspecified
Severity: normal Keywords:
Cc:

Description

GDAL has some support for getting georeferencing from .tab files associated
with .tif files but it seems to be buggy. 

In particular, the .tab files have a set of reference points and the 
GDALReadTabFile() code in geotiff.cpp seems to assume that the reference points
will be at the image corners, and that the image will not be rotated. 

The coordinate system is also ignored so no projection is returned even though
it could be done. 

The following is an example .tab file that causes problems:
!table
!version 300
!charset WindowsLatin1

Definition Table
  File "new_4_ed50.tif"
  Type "RASTER"
  (550108.76000000001,4300108.25) (32,44) Label "Pt 1",
  (600243.88,4300191.6100000003) (1032,44) Label "Pt 2",
  (600206.34999999998,4250280.0800000001) (1032,1043) Label "Pt 3",
  (550071.21999999997,4250162.5300000003) (31,1044) Label "Pt 4"
  CoordSys Earth Projection 8, 28, "m", -9, 0, 0.9996, 500000, 0
  Units "m"

Once corrected notify Jack (ameritec@clix.pt).

Change History (1)

comment:1 by warmerdam, 22 years ago

I have added the fairly general GDALGCPsToGeoTransform() function to convert
GCPs to a geotransform, and test whether the translation fits all gcps properly.
This has been applied (within geotiff.cpp) to the TIFF/.tab case. 

Based on this the geotiff.cpp code will now just return GCPs if an accurate 
geotransform can't be computed. 

For the example case, the GCPs do not accurately fit a first order geotransform,
things are approximately 4 pixels out in one dimension. 

While it doesn't really help the original user the bugs in geotiff.cpp are now
fixed. 

Note: See TracTickets for help on using tickets.