【发布时间】:2015-05-31 04:08:51
【问题描述】:
我有一个栅格列表,我想将它们拼接在一起。除了 utm 区域外,投影是相同的。这是 UTM 区域 50 中一个 rasterStack 的坐标线:
coord. ref. : +proj=utm +zone=50 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
这是另一个具有相同投影的 rasterStack,但它是 UTM 区域 51:
coord. ref. : +proj=utm +zone=51 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
当我尝试在不先重新投影的情况下进行镶嵌时(就像在其他 GIS 中一样),我收到以下错误:
rMosaic <- do.call(mosaic,rStacks)
Error in compareRaster(x, extent = FALSE, rowcol = FALSE, orig = TRUE,: different CRS
这让我相信我需要重新投影所有的 rasterStacks。 projectRaster 在计算上很耗时,但我相信我可以这样做:
for(i in 2:length(rStacks)){
rStacks[[i]] <- projectRaster(from=rStacks[[i]], to=rStacks[[1]])
}
我认为我必须先重新投影是否正确?感谢您的任何指导。
【问题讨论】:
-
这个问题可能更适合Geographic Information Systems,但是是的,您认为栅格必须有一个共同的 CRS 是正确的。为了速度,您可以考虑使用
gdalwarp,无论是从命令行还是从gdalUtils包。另请参阅ESRI forum thread。