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은 그 자체를 다루지 않습니다. 래스터에 다른 래스터가 완전히 포함되어 있지 않다면 원하는 해상도로 최소 범위의 래스터를 만든 다음 다른 래스터를 다시 샘플링하여 자르십시오.