使用不同分辨率的 dtm 和 dsm 计算 CHM
Calculating a CHM with dtm and dsm with different resolutions
我有不同分辨率的 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的分辨率是1m,dsm的分辨率是0.5m。
我想计算冠高模型 (CHM)。
最简单的方法是
CHM = dsm - dtm
但是当我在 R 中尝试时,出现以下错误代码:
Error in compareRaster(e1, e2, extent = FALSE, rowcol = FALSE, crs = TRUE, :
different resolution
有没有简单的方法可以忽略分辨率?或者我必须在进一步计算之前对数据进行重新采样吗?
在 ArcGis 中,您可以轻松地进行这种栅格计算,因为您不必先对数据进行重新采样。
如有任何建议,我们将不胜感激!
是的,Arc*** 会为您做这件事,但它实际上做了什么?我认为最好避免这种歧义。在这种情况下,您不能使用 dis/aggregate,因为范围不同。所以你需要使用 resample
我有不同分辨率的 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的分辨率是1m,dsm的分辨率是0.5m。
我想计算冠高模型 (CHM)。 最简单的方法是 CHM = dsm - dtm
但是当我在 R 中尝试时,出现以下错误代码:
Error in compareRaster(e1, e2, extent = FALSE, rowcol = FALSE, crs = TRUE, :
different resolution
有没有简单的方法可以忽略分辨率?或者我必须在进一步计算之前对数据进行重新采样吗? 在 ArcGis 中,您可以轻松地进行这种栅格计算,因为您不必先对数据进行重新采样。
如有任何建议,我们将不胜感激!
是的,Arc*** 会为您做这件事,但它实际上做了什么?我认为最好避免这种歧义。在这种情况下,您不能使用 dis/aggregate,因为范围不同。所以你需要使用 resample