Changeset 14417

Show
Ignore:
Timestamp:
05/09/08 12:28:59 (2 months ago)
Author:
rouault
Message:

Add test for a rotated TIFF image

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/autotest/gcore/tiff_write.py

    r14415 r14417  
    982982        and (binvalues[3] != 0x2B or binvalues[2] != 0)): 
    983983        return 'fail' 
     984 
     985    return 'success' 
     986 
     987############################################################################### 
     988# Create a rotated image 
     989 
     990def tiff_write_32(): 
     991 
     992    drv = gdal.GetDriverByName( 'GTiff' ) 
     993 
     994    ds_in = gdal.Open('data/byte.vrt') 
     995 
     996    # Test creation 
     997    ds = drv.Create( 'tmp/byte_rotated.tif', 20, 20, gdal.GDT_Byte ) 
     998 
     999    gt = (10,3.53553390593,3.53553390593,30,3.53553390593,-3.53553390593) 
     1000    ds.SetGeoTransform( gt ) 
     1001 
     1002    data = ds_in.ReadRaster( 0, 0, 20, 20 ) 
     1003    ds.WriteRaster( 0, 0, 20, 20, data ) 
     1004 
     1005    ds_in = None 
     1006 
     1007    # Test copy 
     1008    new_ds = drv.CreateCopy( 'tmp/byte_rotated_copy.tif', ds ) 
     1009    new_ds = None 
     1010 
     1011    # Check copy 
     1012    ds = gdal.Open( 'tmp/byte_rotated_copy.tif' ) 
     1013    new_gt = ds.GetGeoTransform() 
     1014    for i in range(6): 
     1015        if abs(new_gt[i]-gt[i]) > 1e-5: 
     1016            print 
     1017            print 'old = ', gt 
     1018            print 'new = ', new_gt 
     1019            gdaltest.post_reason( 'Geotransform differs.' ) 
     1020            return 'fail' 
     1021 
     1022    ds = None 
     1023    new_ds = None 
     1024 
     1025    drv.Delete( 'tmp/byte_rotated.tif' ) 
     1026    drv.Delete( 'tmp/byte_rotated_copy.tif' ) 
    9841027 
    9851028    return 'success' 
     
    10221065    tiff_write_30, 
    10231066    tiff_write_31, 
     1067    tiff_write_32, 
    10241068    tiff_write_cleanup ] 
    10251069