<div dir="ltr">Nick,<div><br></div><div style>I haven't tried the .TAB files locally, but I see they are both resulting in georeferencing info.  The one is expressed as a geotransform with rotation and shear while the other is expressed as ground control points. </div>
<div style><br></div><div style>I believe that the .TAB reader attempts to compute a geotransform from the points in the TAB and if it can do so with minimal error then that is what is returned - a solution easier to utilize in QGIS and other applications. </div>
<div style><br></div><div style>If the control points do not represent a clean affine transformation for the image then it falls back to returning them as ground control points which relatively few applications can utilize directly.  </div>
<div style><br></div><div style>One "solution" is to run gdalwarp to transform the image that isn't currently working so well into a north up affine transformation style image. </div><div style><br></div><div style>
eg. </div><div style><br></div><div style>gdalwarp 33044071.TIF 33044071_northup.TIF </div><div style><br></div><div style>This warp will be done using the control points (ironically also using a best fit first order polynomial). </div>
<div style><br></div><div style>The code responsible for the decision is this from gdal/gcore/gdal_misc.cpp:</div><div style><br></div><div style><div>/* -------------------------------------------------------------------- */</div>
<div>/*      Try to convert the GCPs into a geotransform definition, if      */</div><div>/*      possible.  Otherwise we will need to use them as GCPs.          */</div><div>/* -------------------------------------------------------------------- */</div>
<div>    if( !GDALGCPsToGeoTransform( nCoordinateCount, asGCPs, padfGeoTransform, </div><div>                                 FALSE ) )</div><div>    {</div><div>        if (pnGCPCount && ppasGCPs)</div><div>        {</div>
<div>            CPLDebug( "GDAL", </div><div>                "GDALLoadTabFile(%s) found file, wasn't able to derive a\n"</div><div>                "first order geotransform.  Using points as GCPs.",</div>
<div>                pszFilename );</div><div><br></div><div>            *ppasGCPs = (GDAL_GCP *) </div><div>                CPLCalloc( sizeof(GDAL_GCP),nCoordinateCount );</div><div>            memcpy( *ppasGCPs, asGCPs, sizeof(GDAL_GCP) * nCoordinateCount );</div>
<div>            *pnGCPCount = nCoordinateCount;</div><div>        }</div><div>    }</div><div>    else</div><div>    {</div><div>        GDALDeinitGCPs( nCoordinateCount, asGCPs );</div><div>    }</div><div><br></div><div style>
I suspect if you change the FALSE to TRUE in the arguments to GDALGCPsToGeoTransform() you wlil always get an affine transform even when it is not a very good fit. </div><div style><br></div><div><br></div></div><div style>
Best regards,</div><div style>Frank</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 28, 2013 at 7:43 AM, Nick Hopton <span dir="ltr"><<a href="mailto:nhopton@gmail.com" target="_blank">nhopton@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">A friend, a relative newcomer to GIS, is having problems loading some of
 the TIFs created with Mapinfo into QGIS. Each TIF has a TAB file and in
 some cases the TAB file is interpreted correctly and in other cases the
 TAB file is (apparently) not recognised.
<br><br>I think this might be a problem with Gdal rather than a problem 
with QGIS. Taking just two of the TIFs, the output from gdalinfo when 
run on 33044061.TIF indicates that things are working as they should. 
However, when gdalinfo is run on 33044071.TIF the spatial data in its 
TAB file is not recognised. See the listings below.
<br><br>The strange thing is that all of the TIFs can successfully be 
converted from TIF to GeoTIFF using gdalwarp. (But it is important to my
 friend that he should be able to open Mapinfo raster images directly.)
<br><br>Any ideas?
<br><br>Regards,
<br>Nick.  
<br><br><br>Contents of 33044061.TAB:
<br>------------------------
<br>!table
<br>!version 300
<br>!charset WindowsLatin1
<br><br>Definition Table
<br>  File "33044061.tif"
<br>  Type "RASTER"
<br>  (582429,263569) (1,7594) Label "Pt 1",
<br>  (582372,265177) (1,0) Label "Pt 2",
<br>  (584784,265263) (11335,1) Label "Pt 3",
<br>  (584841,263655) (11335,7594) Label "Pt 4"
<br>  CoordSys Earth Projection 8, 79, "m", -2, 49, 0.9996012717, 400000, -100000
<br>  Units "m"
<br><br>Results of running gdalinfo on 33044061.TIF:
<br>-------------------------------------------
<br>nick@nick-6150M2MA:~/Desktop/tabstuff$ gdalinfo 33044061.TIF
<br>Warning 1: TIFFFetchNormalTag:ASCII value for tag "ImageDescription"
 contains null byte in value; value incorrectly truncated during reading
 due to implementation limitations
<br>Driver: GTiff/GeoTIFF
<br>Files: 33044061.TIF
<br>Size is 11335, 7594
<br>Coordinate System is:
<br>PROJCS["unnamed",
<br>    GEOGCS["unnamed",
<br>        DATUM["OSGB_1936",
<br>            SPHEROID["Airy 1930",6377563.396,299.3249646],
<br>            TOWGS84[375,-111,431,-0,-0,-0,0]],
<br>        PRIMEM["Greenwich",0],
<br>        UNIT["degree",0.0174532925199433]],
<br>    PROJECTION["Transverse_Mercator"],
<br>    PARAMETER["latitude_of_origin",49],
<br>    PARAMETER["central_meridian",-2],
<br>    PARAMETER["scale_factor",0.9996012717],
<br>    PARAMETER["false_easting",400000],
<br>    PARAMETER["false_northing",-100000],
<br>    UNIT["Meter",1]]
<br>GeoTransform =
<br>  582371.785312838, 0.2128106799708935, 0.007506419931892793
<br>  265177.0453393974, 0.007597130759524194, -0.2117600570261751
<br>Metadata:
<br>  TIFFTAG_IMAGEDESCRIPTION=
<br>  TIFFTAG_XRESOLUTION=300
<br>  TIFFTAG_YRESOLUTION=300
<br>  TIFFTAG_MINSAMPLEVALUE=0
<br>  TIFFTAG_MAXSAMPLEVALUE=1
<br>  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
<br>Image Structure Metadata:
<br>  COMPRESSION=CCITTFAX4
<br>  INTERLEAVE=BAND
<br>  MINISWHITE=YES
<br>Corner Coordinates:
<br>Upper Left  (  582371.785,  265177.045) (  0d40'19.83"E, 52d15'14.75"N)
<br>Lower Left  (  582428.789,  263568.939) (  0d40'19.71"E, 52d14'22.68"N)
<br>Upper Right (  584783.994,  265263.159) (  0d42'27.09"E, 52d15'14.63"N)
<br>Lower Right (  584840.998,  263655.053) (  0d42'26.92"E, 52d14'22.57"N)
<br>Center      (  583606.392,  264416.049) (  0d41'23.39"E, 52d14'48.66"N)
<br>Band 1 Block=512x512 Type=Byte, ColorInterp=Palette
<br>  Image Structure Metadata:
<br>    NBITS=1
<br>  Color Table (RGB with 2 entries)
<br>    0: 255,255,255,255
<br>    1: 0,0,0,255
<br>nick@nick-6150M2MA:~/Desktop/tabstuff$ 
<br><br>Contents of 33044071.TAB:
<br>------------------------
<br>!table
<br>!version 300
<br>!charset WindowsLatin1
<br><br>Definition Table
<br>  File "33044071.tif"
<br>  Type "RASTER"
<br>  (584841,263655) (1,7576) Label "Pt 1",
<br>  (584784,265263) (1,0) Label "Pt 2",
<br>  (587197,265349) (11335,1) Label "Pt 3",
<br>  (587254,263740) (11335,7576) Label "Pt 4"
<br>  CoordSys Earth Projection 8, 79, "m", -2, 49, 0.9996012717, 400000, -100000
<br>  Units "m"
<br><br>Results of running gdalinfo on 33044071.TIF:
<br>-------------------------------------------
<br>nick@nick-6150M2MA:~/Desktop/tabstuff$ gdalinfo 33044071.TIF
<br>Warning 1: TIFFFetchNormalTag:ASCII value for tag "ImageDescription"
 contains null byte in value; value incorrectly truncated during reading
 due to implementation limitations
<br>Driver: GTiff/GeoTIFF
<br>Files: 33044071.TIF
<br>Size is 11335, 7576
<br>Coordinate System is `'
<br>GCP Projection = 
<br>PROJCS["unnamed",
<br>    GEOGCS["unnamed",
<br>        DATUM["OSGB_1936",
<br>            SPHEROID["Airy 1930",6377563.396,299.3249646],
<br>            TOWGS84[375,-111,431,-0,-0,-0,0]],
<br>        PRIMEM["Greenwich",0],
<br>        UNIT["degree",0.0174532925199433]],
<br>    PROJECTION["Transverse_Mercator"],
<br>    PARAMETER["latitude_of_origin",49],
<br>    PARAMETER["central_meridian",-2],
<br>    PARAMETER["scale_factor",0.9996012717],
<br>    PARAMETER["false_easting",400000],
<br>    PARAMETER["false_northing",-100000],
<br>    UNIT["Meter",1]]
<br>GCP[  0]: Id=Pt 1, Info=
<br>          (1,7576) -> (584841,263655,0)
<br>GCP[  1]: Id=Pt 2, Info=
<br>          (1,0) -> (584784,265263,0)
<br>GCP[  2]: Id=Pt 3, Info=
<br>          (11335,1) -> (587197,265349,0)
<br>GCP[  3]: Id=Pt 4, Info=
<br>          (11335,7576) -> (587254,263740,0)
<br>Metadata:
<br>  TIFFTAG_IMAGEDESCRIPTION=
<br>  TIFFTAG_XRESOLUTION=300
<br>  TIFFTAG_YRESOLUTION=300
<br>  TIFFTAG_MINSAMPLEVALUE=0
<br>  TIFFTAG_MAXSAMPLEVALUE=1
<br>  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
<br>Image Structure Metadata:
<br>  COMPRESSION=CCITTFAX4
<br>  INTERLEAVE=BAND
<br>  MINISWHITE=YES
<br>Corner Coordinates:
<br>Upper Left  (    0.0,    0.0)
<br>Lower Left  (    0.0, 7576.0)
<br>Upper Right (11335.0,    0.0)
<br>Lower Right (11335.0, 7576.0)
<br>Center      ( 5667.5, 3788.0)
<br>Band 1 Block=512x512 Type=Byte, ColorInterp=Palette
<br>  Image Structure Metadata:
<br>    NBITS=1
<br>  Color Table (RGB with 2 entries)
<br>    0: 255,255,255,255
<br>    1: 0,0,0,255
<br>nick@nick-6150M2MA:~/Desktop/tabstuff$ 
<br clear="all"><span class="HOEnZb"><font color="#888888"><br>-- <br>Nick Hopton, Caversham, Reading, England.
</font></span></div>
<br>_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>---------------------------------------+--------------------------------------<br>
I set the clouds in motion - turn up   | Frank Warmerdam, <a href="mailto:warmerdam@pobox.com" target="_blank">warmerdam@pobox.com</a><br>light and sound - activate the windows | <a href="http://pobox.com/~warmerdam" target="_blank">http://pobox.com/~warmerdam</a><br>
and watch the world go round - Rush    | Geospatial Software Developer<br>
</div>