R - terra::distance() 相当于 raster::gridDistance(..., origin = x, omit = y)
R - terra::distance() equivalent of raster::gridDistance(..., origin = x, omit = y)
UPDATE - 这个问题与 terra 1.4-1
有关,现在已经过时 terra 1.5-12
(或更早?)。
我正在寻找 terra
相当于 raster::gridDistance(..., origin = my_origin, omit = my_omit)
。
我在 terra::gridDistance
上发现了一个旧网页,来自 terra v0.2-8
here, but from what I can gather terra::distance
is the current replacement for raster::gridDistance
(list of terra's
replacement functions here)。
但是,我不知道在 terra::distance
中实现 omit = my_omit
(或等效)。从 documentation page 看来,任何非 NA 都被视为 origin
,但没有提及 omit
,也没有将 origin
更改为特定值的选项(与下面的 raster::gridDistance
示例不同)。
这是来自 raster::gridDistance
的示例:
library(raster)
# world lon/lat raster
r <- raster(ncol=10,nrow=10, vals=1)
r[48] <- 2 # this will be the origin
r[66:68] <- 3 # this will be the area that can't be traversed
plot(r)
d <- gridDistance(r,origin=2,omit=3)
plot(d)
任何人都可以使用 terra::distance
重现此示例吗?
我可以使用 raster
做我需要做的事情,但我仍在学习如何正确处理空间栅格数据,并且正在努力学习新的 terra
包。
感谢@lovalery 在评论中指出这一点。
在最初的问题中我使用了 terra 1.4-1
。截至 2022 年 1 月,terra 1.5-12
已发布(2022 年 1 月 13 日),它现在包含一个与 raster::gridDistance()
函数非常相似的 terra::gridDistance()
函数。
为了完整起见,这是来自 ?terra::gridDistance
的示例:
#world lon/lat raster
r <- rast(ncol=10,nrow=10, vals=1)
r[48] <- 2
r[66:68] <- 3
d <- gridDistance(r,origin=2,omit=3)
plot(d)
#UTM small area
crs(r) <- "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
d <- gridDistance(r,origin=2,omit=3)
plot(d)
UPDATE - 这个问题与 terra 1.4-1
有关,现在已经过时 terra 1.5-12
(或更早?)。
我正在寻找 terra
相当于 raster::gridDistance(..., origin = my_origin, omit = my_omit)
。
我在 terra::gridDistance
上发现了一个旧网页,来自 terra v0.2-8
here, but from what I can gather terra::distance
is the current replacement for raster::gridDistance
(list of terra's
replacement functions here)。
但是,我不知道在 terra::distance
中实现 omit = my_omit
(或等效)。从 documentation page 看来,任何非 NA 都被视为 origin
,但没有提及 omit
,也没有将 origin
更改为特定值的选项(与下面的 raster::gridDistance
示例不同)。
这是来自 raster::gridDistance
的示例:
library(raster)
# world lon/lat raster
r <- raster(ncol=10,nrow=10, vals=1)
r[48] <- 2 # this will be the origin
r[66:68] <- 3 # this will be the area that can't be traversed
plot(r)
d <- gridDistance(r,origin=2,omit=3)
plot(d)
任何人都可以使用 terra::distance
重现此示例吗?
我可以使用 raster
做我需要做的事情,但我仍在学习如何正确处理空间栅格数据,并且正在努力学习新的 terra
包。
感谢@lovalery 在评论中指出这一点。
在最初的问题中我使用了 terra 1.4-1
。截至 2022 年 1 月,terra 1.5-12
已发布(2022 年 1 月 13 日),它现在包含一个与 raster::gridDistance()
函数非常相似的 terra::gridDistance()
函数。
为了完整起见,这是来自 ?terra::gridDistance
的示例:
#world lon/lat raster
r <- rast(ncol=10,nrow=10, vals=1)
r[48] <- 2
r[66:68] <- 3
d <- gridDistance(r,origin=2,omit=3)
plot(d)
#UTM small area
crs(r) <- "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
d <- gridDistance(r,origin=2,omit=3)
plot(d)