[R-sig-Geo] raster or rgdal: problem with geometry of tif + tifw file

Robert J. Hijmans r.hijmans at gmail.com
Sun May 8 21:04:56 CEST 2011


Hi Agus,

The problem is that you raster is rotated (GeoTransform[3] and [5] are not zero)

GeoTransform =
 445548.7745816645, -0.109570548549058, 0.216912817625298
 4628418.279379116, 0.216912817625298, 0.109570548549058

raster ignored the rotation. I have fixed that (in version 1-8-19) by
throwing an error for such a file.

readGDAL will read the file, but as points (SpatialPointsDataFrame),
which you could interpolate to a non-rotated raster. I do not plan to
support such files in raster, but I might include a function for
memory-safe transformation to a non-rotated file.

Thanks for catching & reporting this,

Robert


On Sun, May 8, 2011 at 9:50 AM, Agustin Lobo <alobolistas at gmail.com> wrote:
> Hi!
>
> I read a tif fle (with a companion tifw file) for which gdalinfo states:
>
> alobo at alobo-laptop:/media/TRANSCEND2/VegcamPro/MATA20090729/Proc2$
> gdalinfo SDIM0114.tif
> Warning 1: TIFFReadDirectory:Unknown field with tag 37717 (0x9355) encountered
> Driver: GTiff/GeoTIFF
> Files: SDIM0114.tif
> Size is 2640, 1760
> Coordinate System is `'
> GeoTransform =
>  445548.7745816645, -0.109570548549058, 0.216912817625298
>  4628418.279379116, 0.216912817625298, 0.109570548549058
> Metadata:
>  TIFFTAG_SOFTWARE=SIGMA Photo Pro 3.5.2.0000
>  TIFFTAG_DATETIME=2010:02:27 15:40:55
>  TIFFTAG_XRESOLUTION=180
>  TIFFTAG_YRESOLUTION=180
>  TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
> Image Structure Metadata:
>  INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left  (  445548.775, 4628418.279)
> Lower Left  (  445930.541, 4628611.124)
> Upper Right (  445259.508, 4628990.929)
> Lower Right (  445641.275, 4629183.773)
> Center      (  445595.025, 4628801.026)
>
>
> Then I read it in R:
>> test= brick("/media/TRANSCEND2/VegcamPro/MATA20090729/TIFFOri/SDIM0114.tif")
>> show(test)
> class       : RasterBrick
> dimensions  : 1760, 2640, 3  (nrow, ncol, nlayers)
> resolution  : 0.1095705, 0.1095705  (x, y)
> extent      : 445548.8, 445838, 4628418, 4628611  (xmin, xmax, ymin, ymax)
> projection  : NA
> values      : /media/TRANSCEND2/VegcamPro/MATA20090729/TIFFOri/SDIM0114.tif
> min values  : 0 0 0
> max values  : 65535 65535 65535
>
> and write it back to disk:
>
>> writeRaster(test,file="test.tif", format="GTiff", overwrite=TRUE,datatype='FLT8S')
>
> But gdalinfo states a different bounding box for the new file:
> alobo at alobo-laptop:/media/TRANSCEND2/VegcamPro/MATA20090729/Proc2$
> gdalinfo test.tif
> Driver: GTiff/GeoTIFF
> Files: test.tif
> Size is 2640, 1760
> Coordinate System is `'
> Origin = (445548.774581664009020,4628611.233115110546350)
> Pixel Size = (0.109570548549241,-0.109570548548469)
> Image Structure Metadata:
>  COMPRESSION=LZW
>  INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left  (  445548.775, 4628611.233)
> Lower Left  (  445548.775, 4628418.389)
> Upper Right (  445838.041, 4628611.233)
> Lower Right (  445838.041, 4628418.389)
> Center      (  445693.408, 4628514.811)
> .../...
>
> Somehow the geometric properties are modified in R
>
> I've made a single geotif file with gdal_transform (no tifw created)
> and read it in R in the same way and get the same result, so the
> problem does not come
> from using a tifw file as I initially thought.
>
> Perhaps a bug in brick() ?
>
> Thanks
>
> Agus
>
> Files:
> http://dl.dropbox.com/u/3180464/SDIM0114.tif
> http://dl.dropbox.com/u/3180464/SDIM0114.tifw
>
>> sessionInfo()
> R version 2.13.0 (2011-04-13)
> Platform: i486-pc-linux-gnu (32-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8          LC_NUMERIC=C
> LC_TIME=en_US.UTF-8
>  [4] LC_COLLATE=en_US.UTF-8        LC_MONETARY=en_US.UTF-8
> LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8          LC_NAME=en_US.UTF-8
> LC_ADDRESS=en_US.UTF-8
> [10] LC_TELEPHONE=en_US.UTF-8      LC_MEASUREMENT=en_US.UTF-8
> LC_IDENTIFICATION=en_US.UTF-8
>
> attached base packages:
> [1] grid      stats     graphics  grDevices utils     datasets
> methods   base
>
> other attached packages:
> [1] gridExtra_0.7 ggplot2_0.8.8 rgdal_0.6-31  raster_1.8-15 sp_0.9-72
>   reshape_0.8.3
> [7] plyr_1.2.1    proto_0.3-8   rkward_0.5.6
>
> loaded via a namespace (and not attached):
> [1] lattice_0.19-26 tools_2.13.0
>



More information about the R-sig-Geo mailing list