我有两个栅格图层,表示同一区域。我需要找到粗分辨率栅格的每个像素单元和细分辨率栅格的每个像素单元之间的欧几里得距离,这些单元都在粗分辨率栅格的像素单元内。例如:
红色正方形是粗分辨率栅格的像素,而蓝色正方形是细分辨率栅格的像素。黑点是粗分辨率栅格的质心,蓝点是细分辨率栅格的质心。
已经有类似的问题发布了,但我的问题与他们的不同之处在于我不想计算栅格单元之间的最近距离。
我的粗分辨率栅格具有460米的像素大小,而我的细分辨率栅格具有100米的像素大小。到目前为止,我已经从两个栅格单元的质心创建了点符号。如何计算每个粗像素与其相应的细像素之间的欧几里得距离?
我不确定该如何继续。有什么建议吗?
这是我的光栅图像:
解决方案来自@michael的答案,输出的栅格图像(经过裁剪并使用多边形shp进行遮罩)如下所示: “黄色正方形是粗栅格中的单元格,下面的栅格是答案部分代码的输出结果。”
已经有类似的问题发布了,但我的问题与他们的不同之处在于我不想计算栅格单元之间的最近距离。
我的粗分辨率栅格具有460米的像素大小,而我的细分辨率栅格具有100米的像素大小。到目前为止,我已经从两个栅格单元的质心创建了点符号。如何计算每个粗像素与其相应的细像素之间的欧几里得距离?
library(terra)
fr = rast("path/fine_image.tif") # fine resolution raster
cr = rast("path/coarse_image.tif") # coarse resolution raster
fr_p = as.points(fr,
values = T,
na.rm = T,
na.all = F) # fine resolution points
cr_p = as.points(cr,
values = T,
na.rm = T,
na.all = F) # coarse resolution points
我不确定该如何继续。有什么建议吗?
这是我的光栅图像:
fr = rast(ncols=108, nrows=203, nlyrs=1, xmin=583400, xmax=594200, ymin=1005700, ymax=1026000, names=c('B10_median'), crs='EPSG:7767')
cr = rast(ncols=23, nrows=43, nlyrs=1, xmin=583280, xmax=593860, ymin=1006020, ymax=1025800, names=c('coarse_image'), crs='EPSG:7767')
解决方案来自@michael的答案,输出的栅格图像(经过裁剪并使用多边形shp进行遮罩)如下所示: “黄色正方形是粗栅格中的单元格,下面的栅格是答案部分代码的输出结果。”