readGDAL                package:rgdal                R Documentation

_R_e_a_d/_w_r_i_t_e _b_e_t_w_e_e_n _G_D_A_L _g_r_i_d _m_a_p_s _a_n_d _S_p_a_t_i_a_l _o_b_j_e_c_t_s

_D_e_s_c_r_i_p_t_i_o_n:

     The functions read or write GDAL grid maps. They will set the
     spatial reference system if available. 'GDALinfo' reports the size
     and other parameters of the dataset. 'create2GDAL' creates a GDAL
     data set from a SpatialGridDataFrame object, in particular to be
     able to save to GDAL driver formats that only permit copying
     rather than creation.

_U_s_a_g_e:

      
     readGDAL(fname, offset, region.dim, output.dim, band, p4s=NULL, ..., half.cell=c(0.5, 0.5), silent = FALSE)
     asSGDF_GROD(x, offset, region.dim, output.dim, p4s=NULL, ..., half.cell=c(0.5,0.5))
     writeGDAL(dataset, fname, drivername = "GTiff", type = "Float32", mvFlag = NA, options=NULL)
     create2GDAL(dataset, drivername = "GTiff", type = "Float32", mvFlag = NA, options=NULL)
     GDALinfo(fname, silent=FALSE)

_A_r_g_u_m_e_n_t_s:

   fname: file name of grid map 

       x: A GDALReadOnlyDataset object

  offset: Number of rows and columns from the origin (usually the upper
          left corner) to begin reading from; presently ordered (y,x) -
          this may change

region.dim: The number of rows and columns to read from the dataset;
          presently ordered (y,x) - this may change

output.dim: The number of rows and columns to return in the created
          object using GDAL's method to take care of image decimation /
          replication; presently ordered (y,x) - this may change

    band: if missing, all bands are read

     p4s: PROJ4 string defining CRS, if default (NULL), the value is
          read from the GDAL data set

half.cell: Used to adjust the intra-cell offset from corner to centre,
          usually as default, but may be set to c=(0,0) if needed;
          presently ordered (y,x) - this may change

  silent: logical; if TRUE, comment and non-fatal CPL driver errors
          suppressed 

     ...: arguments passed to either 'getRasterData', or
          'getRasterTable', depending on rotation angles (see below);
          see the rgdal documentation for the available options
          (subsetting etc.) 

 dataset: object of class SpatialGridDataFrame-class or
          SpatialPixelsDataFrame-class

drivername: GDAL driver name 

    type: GDAL write data type (others than this default have not been
          tested) 

 mvFlag : missing value flag for output file 

 options: driver-specific options to be passed to the GDAL driver

_V_a_l_u_e:

     'read.GDAL' returns the data in the file as a Spatial object. 

     Usually, GDAL maps will be north-south oriented, in which case the
     rgdal function 'getRasterData' is used to read the data, and an
     object of class SpatialGridDataFrame-class is returned.

     Some map formats supported by GDAL are not north-south oriented
     grids. If this is the case, 'readGDAL' returns the data as a set
     of point data, being of class SpatialPointsDataFrame-class. If the
     points are on a 45 or 90 degree rotated grid, you can try to
     enforce gridding later on by e.g. using 'gridded(x)=TRUE'.

_N_o_t_e:

     Non-fatal CPL errors may be displayed for some drivers, currently
     for the AIG ArcInfo 9.3 binary raster driver using GDAL >= 1.6.2;
     the data has been read correctly, but the contents of the info
     directory did not meet the specifications used to reverse engineer
     the driver used in GDAL (see <URL:
     http://trac.osgeo.org/gdal/ticket/3031>)

_A_u_t_h_o_r(_s):

     Edzer J. Pebesma, Roger Bivand

_S_e_e _A_l_s_o:

     'as.image.SpatialGridDataFrame', 'image', 'readAsciiGrid'

_E_x_a_m_p_l_e_s:

     library(grid)
     GDALinfo(system.file("external/test.ag", package="sp")[1])
     x <- readGDAL(system.file("external/test.ag", package="sp")[1])
     class(x)
     image(x)
     summary(x)
     x@data[[1]][x@data[[1]] > 10000] <- NA
     summary(x)
     image(x)

     x <- readGDAL(system.file("external/simple.ag", package="sp")[1])
     class(x)
     image(x)
     summary(x)
     x <- readGDAL(system.file("pictures/big_int_arc_file.asc", package="rgdal")[1])
     summary(x)
     cat("if the range is not 10000, 77590, your GDAL does not detect big\n")
     cat("integers for this driver\n")
     y = readGDAL(system.file("pictures/Rlogo.jpg", package = "rgdal")[1], band=1)
     summary(y)
     y = readGDAL(system.file("pictures/Rlogo.jpg", package = "rgdal")[1])
     summary(y)
     spplot(y, zcol=1:3, names.attr=c("red","green","blue"), 
             col.regions=grey(0:100/100),
             main="example of three-layer (RGB) raster image", as.table=TRUE)
     data(meuse.grid)
     gridded(meuse.grid) = ~x+y
     proj4string(meuse.grid) = CRS("+init=epsg:28992")
     fn <- tempfile()
     writeGDAL(meuse.grid["dist"], fn)
     mg2 <- readGDAL(fn)
     proj4string(mg2)
     SP27GTIF <- readGDAL(system.file("pictures/SP27GTIF.TIF", package = "rgdal")[1], output.dim=c(100,100))
     summary(SP27GTIF)
     image(SP27GTIF, col=grey(1:99/100))

     GDALinfo(system.file("pictures/cea.tif", package = "rgdal")[1])
     cea <- readGDAL(system.file("pictures/cea.tif", package = "rgdal")[1], output.dim=c(100,100))
     summary(cea)
     image(cea, col=grey(1:99/100))
     erdas_spnad83 <- readGDAL(system.file("pictures/erdas_spnad83.tif", package = "rgdal")[1], output.dim=c(100,100))
     summary(erdas_spnad83)
     image(erdas_spnad83, col=grey(1:99/100))
     tf <- tempfile()
     writeGDAL(erdas_spnad83, tf, drivername="GTiff", type="Byte", options=NULL)
     all.equal(erdas_spnad83, readGDAL(tf))
     writeGDAL(erdas_spnad83, tf, drivername="GTiff", type="Byte", options="INTERLEAVE=PIXEL")
     all.equal(erdas_spnad83, readGDAL(tf))

     x <- GDAL.open(system.file("pictures/erdas_spnad83.tif", package = "rgdal")[1])
     erdas_spnad83 <- asSGDF_GROD(x, output.dim=c(100,100))
     GDAL.close(x)
     summary(erdas_spnad83)
     image(erdas_spnad83, col=grey(1:99/100))

     tf <- tempfile()
     xx <- create2GDAL(erdas_spnad83, type="Byte")
     xxx <- copyDataset(xx, driver="PNG")
     saveDataset(xxx, tf)
     GDAL.close(xx)
     GDAL.close(xxx)
     GDALinfo(tf)

