Vedr.: Re: plotting a polygon with holes
That works like a charm:
myDEM.pix <- as(myDEM, 'SpatialPixelsDataFrame') idx <- overlay(myDEM.pix, islands) plot(oceans, col="blue") plot(islands, col="white, add=T) image(myDEM.pix[!is.na(idx),], add=T)
Thank you very much, once again.
Bjarke Christensen.
Roger Bivand
<Roger.Bivand at nhh
.no> Til
Bjarke Christensen
11-06-2009 15:21 <Bjarke.Christensen at sydbank.dk>
cc
r-sig-geo at stat.math.ethz.ch
Besvar venligst Emne
til Re: [R-sig-Geo] plotting a polygon
Roger.Bivand at nhh. with holes
no
On Thu, 11 Jun 2009, Bjarke Christensen wrote:
Hi, I have a shapefile/SpatialPolygonsDataFrame of coastlines. Each polygon corresponds to an island, and there are no holes. I can plot this so that the islands are shaded by using
plot(islands, col="gray")
What I now want, is to plot the same information so that the ocean is
blue
and the islands are transparent. Something like:
image(myDEM) plot(ocean, col="lightblue", add=T)
which I would hope would allow the DEM to be visible on the islands, but not in the ocean.
As you observe, the approach you are taking does not work, as the R graphics devices work by over-painting in layers. To see the image, it has to be painted after the enclosing rectangle. Holes are painted by re-painting the hole in a chosen background colour, which by default is "transparent", so you just get lots of blue. Why not do something like o <- overlay(myDEM, islands) (untried) to get just the raster cells within the island polygons as a SpatialPixelsDataFrame object and image() that, possibly setting the background to a suitable colour (NAs will get transparent by default). This works with the graphics system, rather than trying to work round it - it doesn't "remember" that there is anything on the canvas that should be protected from overpainting, so it is safer just to paint what needs painting. I can also imagine painting first with reduced opacity (or intensity) in a different palette, then overpainting just the islands with full intensity in the target palette, which might be more visually pleasing than just flat blue sea. Hope this helps, Roger -- Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: Roger.Bivand at nhh.no