2014-11-09 1 views
1

내지도의 확대 부분을 원본지도에 추가하고 최종 제품으로 원본지도와 확대/확대 된 부분. 예제로 meuse 데이터 세트를 사용하여 하나는 원래의지도에 래스터의 일부의 확대를 추가 할 수 있도록 할 것 raster 또는 rasterVIS 패키지의 명령이있는 경우'래스터'패키지를 사용하여 2 개의 래스터 이미지를 하나의 플롯으로 합치기

library(sp) 
library(lattice) 
data(meuse) 
coordinates(meuse)=~x+y 
gridded(meuse)<-TRUE 
rasters.m<-list() 
for (i in 1:12){ 
rasDF <- raster(meuse, layer=i) 
rasters.m[[i]]<-rasDF 
} 
stack.sp<-stack(rasters.m) 
plot(stack.sp) # gives a gridded view of the stacked rasters. But now I would like to zoom in.. 
zoom.ent<-zoom(stack.sp,1) # The zoomed in portion appears as a new window, with the boundaries of the zoomed area highlighted in red on the original map. 

나는 확실하지 않다. par 함수를 시도했지만 작동하지 않습니다. 어떤 제안이라도 환영받을 것입니다.

+0

가능한 대안 : 플롯 '라인을 따라 무언가 (0 : 1, t ='N ') #set가 윈도우 결과는 latticeExtra 패키지 +.trellis 기능과 결합 될 수있다 ; 래스터 (bigplot, 0,0,1,1); 래스터 (littleplot, 0,0, .2, .2)'? –

+0

제안에 감사하지만, 'bigplot'과 'littleplot'이 어떤 구조인지는 모르겠다. 자세히 설명 할 수 있을까요? 감사합니다 – user2507608

+0

전체 이미지가 포함 된 임의의 "기본"플롯을 생각하고 있었고 "작은 그림"은 전체 플롯에 삽입하려는 모든 래스터 객체였습니다. 애매 모호한 것을 유감스럽게 생각합니다. –

답변

2

이것은 다소 같은 질문입니다 you asked here. Raster* 개체의 경우 shift 함수를 사용해야합니다.

library(raster) 
library(rasterVis) 

f <- system.file("external/test.grd", package="raster") 
r <- raster(f) 

rZoom <- crop(r, extent(180000, 181000, 330000, 331500)) 

displaced <- shift(rZoom, x = -1200, y = 2000) 

levelplot(r) + levelplot(displaced) 

shift

+0

rasterVis 패키지를 이용해 주셔서 감사합니다. 지금까지 매우 도움이되었습니다. 그러나 샘플링 된 영역이 나머지 이미지와 동일한 크기 인 것으로 나타났습니다. 샘플 영역을 확대 할 수 있도록 스케일을 변경할 수있는 함수를'rasterVis' 문서에서 찾고있었습니다. 나는 계속해서 다른 옵션을 시도 할 것이다. 하지만 다시 감사합니다 – user2507608

+0

@ user2507608 "같은 크기"란 무엇을 의미합니까? 'rZoom'은 950 개의 세포 (38x25)를 가지고 있고 r은 9200 (115x80)이다. –

관련 문제