我有一个栅格列表,我想将它们拼接在一起。除了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
这让我相信我需要重新投影所有的rasterStack。使用projectRaster
在计算上耗费时间,但我相信我可以按照以下方式执行:
for(i in 2:length(rStacks)){
rStacks[[i]] <- projectRaster(from=rStacks[[i]], to=rStacks[[1]])
}
我是否有权假设我必须先重新投影?谢谢你的任何指示。
答案 0 :(得分:0)
help(mosaic)
明确指出:
所有对象必须具有相同的原点,分辨率和坐标 参考系统。
两个不同的UTM区域不被认为具有相同的参考系统(当你在引擎盖下看时参数是不同的:假东向,假向北,参考经络等)。
它们应该被重新投影到输出CRS,它应该是一个参考系统,对于更大的区域,它将在制图上有效,而不是继续使用单个UTM区域,当最大区域映射时,这将最终显示扭曲等