Я пытаюсь нанести шейп-файл из полигонов поверх другого шейп-файла, который уже имеет цветные полигоны, используя R, и я работаю с maptools и rgdal. Я хочу обрезать нижний шейп-файл (который имеет несколько полигонов) в области, ограниченной верхним шейп-файлом, который имеет четыре полигона (я думаю). Конечно, я знаю, как заполнить внутреннюю часть верхнего полигона, используя команду col = в plot (). Но то, что я хочу сделать, это заполнить внешнюю часть верхнего многоугольника белым и оставить видимые нижние цветные многоугольники внутри внутренних верхних многоугольников. Я буду перерисовывать границы нижних полигонов после того, как смогу это сделать.
Я использую R 2.13.2 и последние выпуски maptools и rgdal и все их зависимости на компьютере с Windows 7.
У меня есть код, который зависит от этих шейп-файлов:
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')
но я хочу сделать белый цвет снаружи (чтобы впоследствии я мог нарисовать штаты и границы провинций) и сохранить прозрачность внутренней части, чтобы я мог видеть цвета штатов и провинций в пределах диапазона.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация и заранее спасибо за любую помощь. Может быть, есть более простой способ ...