Dear all, I have just discovered an error in a package that I have already uploaded to CRAN, and cannot figure out how to fix it. All help will be greatly appreciated. The package is called DEPONS2R, and is available from: https://cran.r-project.org/web/packages/DEPONS2R/index.html
The problem is related to one of the included examples, where I plot the coastline on top of a raster file. In the example, where the plotting is embedded in an S4 method called plot.DeponsRaster, the coastline does not show. But if I run the functions that the method is composed of, everything works fine (see below). So I am wondering if the graphics devise is not passed on correctly within the package, or what actually happens. The example that does not run correctly is available from ?plot.DeponsRaster: library(DEPONS2R) data("bathymetry") plot(bathymetry) data("coastline") library(rgdal) # Change projection of coastline to match that of bathymetry data coastline2 <- spTransform(coastline, crs(bathymetry)) plot(coastline2, add=TRUE, col="lightyellow2") Here the coastline is not plotted. The method is defined as: setMethod("plot", signature("DeponsRaster", "ANY"), function(x, y, maxpixels=500000, col, alpha=NULL, colNA=NA, add=FALSE, ext=NULL, useRaster=TRUE, interpolate=FALSE, addfun=NULL, nc, nr, maxnl=16, main, npretty=0, axes=TRUE, legend=TRUE, trackToPlot=1, ...) { oldpar <- graphics::par(no.readonly = TRUE) on.exit(graphics::par(oldpar)) if (missing(main)) { main <- paste(x@landscape, x@type, sep=" - ") } # Define colours specific or 'type' if(missing(col) && x@type=="bathymetry") { tmp.col <- grDevices::rainbow(1000)[501:800] col <- c(tmp.col[1:100], rep(tmp.col[101:250], each=5)) } # Use {raster}-package for plotting if(x@crs=="NA") { crs2 <- sp::CRS(as.character(NA)) } else { crs2 <- sp::CRS(x@crs) } rdata <- raster::raster(x=x@data, xmn=x@ext$xleft, xmx=x@ext$xright, ymn=x@ext$ybottom, ymx=x@ext$ytop, crs=crs2) raster::plot(rdata, col=col, main=main, alpha=alpha, add=add, ext=ext, axes=axes, legend=legend) } ) But when I use the functions that are at the core of this method it is not a problem adding the coastline correctly: x <- bathymetry crs2 <- raster::crs(x@crs) rdata <- raster::raster(x = x@data, xmn = x@ext$xleft, xmx = x@ext$xright, ymn = x@ext$ybottom, ymx = x@ext$ytop, crs = crs2) raster::plot(rdata) plot(coastline2, add=TRUE, col="lightyellow2") If would be fantastic if someone can figure out how I should modify the method to plot the coastline correctly on top of the map. Best regards, Jacob [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel