1

我有一个要拼接在一起的栅格列表。除了 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]]) 
    }

我是否正确假设我必须先重新投影?感谢您的任何指导。

4

1 回答 1

0

help(mosaic)明确指出:

所有对象必须具有相同的原点、分辨率和坐标参考系。

两个不同的 UTM 区域不被认为具有相同的参考系统(当您查看引擎盖时参数是不同的:假东、假北、参考子午线等)。

它们应该被重新投影到输出 CRS,它应该是一个在制图上对更大区域有效的参考系统,而不是继续使用单个 UTM 区域,这在绘制更大区域时最终会显示失真等。

于 2017-02-09T02:42:34.593 回答