kmlOverlay             package:maptools             R Documentation

_C_r_e_a_t_e _a_n_d _w_r_i_t_e _K_M_L _f_i_l_e _f_o_r _P_N_G _i_m_a_g_e _o_v_e_r_l_a_y

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

     The function is used to create and write a KML file for a PNG
     image overlay for Google Earth.

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

     kmlOverlay(obj, kmlfile = NULL, imagefile = NULL, name = "R image")

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

     obj: a '\dQuote{GE_SG}' object from 'GE_SpatialGrid'

 kmlfile: if not NULL the name of the kml file to be written

imagefile: the name of the PNG file containing the image - this should
          be either relative (same directory as kml file) or abosolute
          (fully qualified)

    name: the name used to describe the image overlay in GE

_D_e_t_a_i_l_s:

     The function is used together with 'GE_SpatialGrid' 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.

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

     x is a character vector containing the generated lines of the kml
     file

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

     Duncan Golicher, David Forrest and Roger Bivand

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

     'GE_SpatialGrid'

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

     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: 
     library(rgdal)
     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)

