我有一个具有不同分辨率的DTM和DSM。 以下是每个栅格图层的摘要。
> raster_dsm
class : RasterLayer
dimensions : 2001, 2501, 5004501 (nrow, ncol, ncell)
resolution : 0.5, 0.5 (x, y)
extent : -112500.2, -111249.8, 388999.8, 390000.2 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +units=m +no_defs
data source : D:/Test_Raster/DSM/dsm.asc
names : dsm
>raster_dtm
class : RasterLayer
dimensions : 1001, 1251, 1252251 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : -112500.5, -111249.5, 388999.5, 390000.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +units=m +no_defs
data source : D:/Test_Raster/DTM/dtm.asc
names : dtm
如您所见,dtm的分辨率为1 m,dsm的分辨率为0.5m。
我要计算Crown Heigth模型(CHM)。 最简单的方法是 CHM = dsm-dtm
但是当我尝试使用R时,会出现以下错误代码:
Error in compareRaster(e1, e2, extent = FALSE, rowcol = FALSE, crs = TRUE, :
different resolution
是否有一种简单的方法可以忽略分辨率?还是在进一步计算之前必须对数据进行重新采样? 在ArcGis中,您可以轻松进行这种栅格计算,因为您不必先对数据进行重新采样。
任何建议将不胜感激!
答案 0 :(得分:0)
是的,Arc ***会为您执行此操作,但是实际上它会做什么?我认为最好避免这种歧义。在这种情况下,由于范围不同,您不能使用分散/聚合。因此,您需要使用resample