R maptools或rgdal包 - 如何填充多边形的外部?

时间:2012-03-10 00:15:42

标签: r gis spatstat maptools rgdal

我试图在另一个已使用R的彩色多边形的shapefile上绘制多边形的shapefile,我正在使用maptools和rgdal。我想将底部shapefile(有多个多边形)剪辑到顶部shapefile分隔的区域,该文件有四个多边形(我认为)。我知道如何填充顶部多边形的内部,当然,使用plot()中的col =命令。但我想要做的是填充顶部多边形白色的外部,并通过顶部多边形的内部留下底部彩色多边形。在我能够做到这一点之后,我将重绘底部多边形的边界。 我在Windows 7机器上使用R 2.13.2和最新版本的maptools和rgdal及其所有依赖项。

我的代码取决于这些shapefile: ftp://ftpext.usgs.gov/pub/er/wi/la.crosse/McKann/bcr%20arcinfo%20files/

library(maptools)

sm=readShapeSpatial('states.shp')
pm=readShapeSpatial('province.shp')

library(rgdal)

rgm=readOGR(dsn=wd,layer='gwwa_new_range_5Jul11')
rgm2=spTransform(rgm,CRS(proj4string(sm2)))
plot(c(-120,-61),c(35,55),type='n',axes=F,bty='n',xlab='',ylab='', main=sp)
plot(sm,col=c('red','green','yellow'),add=T)##us states
plot(pm,col=c('red','green','yellow'),add=T)##canadian provinces
plot(rgm2,lwd=2,add=T,border='blue')##gives the range of this bird

我可以在范围地图内部添加颜色

plot(rgm2,add=T,col='blue')

但我想做的是让外面的白色(所以我可以在此之后绘制状态和省界),并保持内部透明,这样我就可以看到范围内的州和省的颜色。

如果您需要更多信息,请提前告知我们,并提前感谢您的帮助。也许有一种更简单的方法......

0 个答案:

没有答案