GE_SpatialGrid {maptools}R Documentation

Create SpatialGrid for PNG output to GE

Description

The function sets up metadata in the form of a SpatialGrid object for defining the size and placing of a PNG image overlay in Google Earth.

Usage

GE_SpatialGrid(obj, asp = NA, maxPixels = 600)

Arguments

obj a Spatial* object
asp if NA, will be set to the latitude corrected value
maxPixels the maximum dimension of the output PNG

Details

The function is used together with kmlOverlay to wrap around the opening of a PNG graphics device, plotting code, and the closing of the device. The computed values take account of the adjustment of the actual data bounding box to an integer number of rows and columns in the image file.

The approach may be used as an alternative to writing PNG files from SpatialGrid and SpatialPixel objects in rgdal using writeGDAL, and to writing KML files using writeOGR for vector data objects. The output PNG files are likely to be very much smaller than large vector data KML files, and hinder the retrieval of exact positional information.

Value

returns an S3 object of class \dQuote{GE_SG} with components:

height Integer raster height for png call
width Integer raster width for png call
SG a SpatialGrid object with the grid topology of the output PNG
asp the aspect value used
xlim xlim taken from SG
ylim ylim taken from SG

Author(s)

Duncan Golicher, David Forrest and Roger Bivand

See Also

kmlOverlay

Examples

opt_exask <- options(example.ask=FALSE)
qk <- SpatialPointsDataFrame(quakes[, c(2:1)], quakes)
proj4string(qk) <- CRS("+proj=longlat")
tf <- tempfile()
SGqk <- GE_SpatialGrid(qk)
png(file=paste(tf, ".png", sep=""), width=SGqk$width, height=SGqk$height,
  bg="transparent")
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
plot(qk, xlim=SGqk$xlim, ylim=SGqk$ylim, setParUsrBB=TRUE)
dev.off()
kmlOverlay(SGqk, paste(tf, ".kml", sep=""), paste(tf, ".png", sep=""))
## Not run: 
qk0 <- quakes
qk0$long <- ifelse(qk0$long <= 180, qk0$long, qk0$long-360)
qk0a <- SpatialPointsDataFrame(qk0[, c(2:1)], qk0)
proj4string(qk0a) <- CRS("+proj=longlat")
writeOGR(qk0a, paste(tf, "v.kml", sep=""), "Quakes", "KML")
system(paste("googleearth ", tf, ".kml", sep=""))
## End(Not run)
options(example.ask=opt_exask)

[Package maptools version 0.6-9 Index]