Read/write between GDAL grid maps and Spatial objects
The functions read or write GDAL grid maps. They will set the spatial reference system if available.
readGDAL(fname, offset, region.dim, ..., half.cell=c(0.5, 0.5), silent = FALSE) writeGDAL(dataset, fname, drivername = "GTiff", type = "Float32", mvFlag = NA)
- file name of grid map
- Number of rows and columns from the origin (usually the upper left corner) to begin reading from; presently ordered (y,x) - this may change
- The number of rows and columns to read from the dataset; presently ordered (y,x) - this may change
- 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
- logical; if TRUE, comment is suppressed
- arguments passed to either
getRasterTable, depending on rotation angles (see below); see the rgdal documentation for the available options (subsetting etc.)
- object of class SpatialGridDataFrame-class or SpatialPixelsDataFrame-class
- GDAL driver name
- GDAL write data type (others than this default have not been tested)
- missing value flag for output file
read.GDALreturns the data in the file as a Spatial object.
Usually, GDAL maps will be north-south oriented, in which case the rgdal function
getRasterDatais 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,
readGDALreturns 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
x <- readGDAL(system.file("external/test.ag", package="sp")) class(x) image(x) summary(x) x@data[][x@data[] > 10000] <- NA summary(x) image(x) x <- readGDAL(system.file("external/simple.ag", package="sp")) class(x) image(x) summary(x) y = readGDAL(system.file("pictures/Rlogo.jpg", package = "rgdal")) 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")) summary(SP27GTIF) image(SP27GTIF, col=grey(1:99/100)) cea <- readGDAL(system.file("pictures/cea.tif", package = "rgdal")) summary(cea) image(cea, col=grey(1:99/100)) erdas_spnad83 <- readGDAL(system.file("pictures/erdas_spnad83.tif", package = "rgdal")) summary(erdas_spnad83) image(erdas_spnad83, col=grey(1:99/100))