问题描述
我想将距离矩阵恢复到代表矩阵中心的焦点 my_point
。在这一点上我可以做:
library(raster)
set.seed(123)
m168 <- matrix(1,nrow=13,ncol=13)
m168[7,7] <- 0
r <- raster(ncol=1000,nrow=1000)
values(r) <- round(runif(ncell(r)) * 5)
REP_UTM <- '+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs'
r <- projectRaster(r,crs = REP_UTM)
my_point <- c(500000,560000)
cells_a <- cellFromXY(r,my_point)
xy_point <- xyFromCell(r,cells_a)
a<- adjacent(r,cells=cells_a,directions=m168,pairs=FALSE)
xy_a <- xyFromCell(r,a)
dist_to_a <- pointdistance(xy_a,my_point,lonlat=FALSE)
但我无法将向量 dist_to_a
转换为 13*13 方阵。有没有办法做到这一点?
解决方法
@jay.sf 非常感谢你,同时我找到了一个解决方案:
dist_to_a <- append(dist_to_a,84)
dist_to_a <- matrix(dist_to_a,nrow=13,ncol=13)