R에서 래스터 그리드 스냅 57.92186, -36.02464, 46.00214

R에 두 개의 래스터 그리드를 정렬하려고합니다. 일단 정렬되면 함께 추가 할 수 있기를 원합니다.

나는 그것이 효과가 있는지 확인하려고 노력했다 stack.

grid_snap <- stack(habi_sdw, Pop_sdw)

그리고 다음과 같은 오류가 발생합니다.

compareRaster (x)의 오류 : 다른 범위

래스터 그리드에는 다음과 같은 속성이 있습니다.

show(habi_sdw)
# class       : RasterLayer 
# dimensions  : 9187, 9717, 89270079  (nrow, ncol, ncell)
# resolution  : 0.00892857, 0.00892857  (x, y)
# extent      : -28.83706, 57.92186, -36.02464, 46.00214  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs 
# data source : C:\Users\di39\AppData\Local\Temp\R_raster_di39\raster_tmp_2015-08-12_172902_12860_17067.grd 
# names       : layer 
# values      : 0, 333707.6  (min, max)

show(Pop_sdw)
# class       : RasterLayer 
# dimensions  : 10143, 8858, 89846694  (nrow, ncol, ncell)
# resolution  : 0.008333333, 0.008333333  (x, y)
# extent      : -17.53524, 56.28143, -46.97893, 37.54607  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
# data source : C:\Users\di39\AppData\Local\Temp\R_raster_di39\raster_tmp_2015-08-12_170421_12860_12760.grd 
# names       : pop2010ppp 
# values      : 0, 128925.9  (min, max)

alignExtent()래스터 패키지에서 사용 하는 것이 올바른 방법이 아닌 것 같습니다.

해상도가 약간 다르므로 다시 샘플링해야합니까?

(0.00892857 x 0.00892857) vs (0.008333333 vs 0.008333333)



답변

이 질문은 다음과 유사합니다. 데이터 추출 및 해상도 변경을 통해 래스터로 클립 래스터를 자르지 만 다른 각도에서 나옵니다. 그러나 나는 대답이 똑같을 것이라고 생각합니다. 먼저, 결정하려는 래스터를 선택하십시오. 나는 쉽게 이전 답변을 반복 할 것이다.

필요한 라이브러리를로드하십시오.

library(raster)
library(rgdal)

래스터 읽기 :

r1 = raster("./dir/r1.tif")
r2 = raster("./dir/r2.tif")

동일한 그리드로 리샘플링 :

r.new = resample(r1, r2, "bilinear")

필요한 경우 (마스킹) 범위를 일치하도록 설정하십시오.

ex = extent(r1)
r2 = crop(r2, ex)

래스터 중 하나를 벗어나는 데이터를 제거했습니다 (필요한 경우).

r.new = mask(r.new, r2)

래스터가 일치합니다.


답변

예. 래스터의 크기와 크기가 같아 지도록 래스터를 다시 샘플링해야합니다. R은 그 자체를 다루지 않습니다. 래스터에 다른 래스터가 완전히 포함되어 있지 않다면 원하는 해상도로 최소 범위의 래스터를 만든 다음 다른 래스터를 다시 샘플링하여 자르십시오.


답변