距离栅格子集

时间:2016-02-06 14:42:50

标签: r distance raster

我计算距离栅格来计算从栅格单元格到红色边框的距离。结果显示在下图中:Maps discontinuity

尽管如此,我现在想要计算从所有细胞到边界内侧部分(边界最右边部分)的距离。我试图“破坏”边界,但很难只选择边界的右边部分。

有什么想法吗?

提前致谢,

为了重现性(包括所有人的可用数据):

library(maptools) #To get the polygon data 
data(wrld_simpl)
colven <- c("Colombia", "Venezuela")
colven_map <- wrld_simpl[wrld_simpl$NAME %in% colven, ]

#Create a raster object
library(raster)
raster <- raster(colven_map, nrow=100, ncol=100)
raster[] <- 1:length(raster)
raster_colven <- mask(raster, colven_map)

#Calculate distance raster
col <- wrld_simpl[wrld_simpl$NAME == "Colombia", ]
ven <- wrld_simpl[wrld_simpl$ NAME == "Venezuela", ]
ven_l <- as(ven, "SpatialLines")
ven_p <- as(ven_l, "SpatialPoints")
distance_raster_colven <- distanceFromPoints(raster, ven_p)
distance_raster_colven <- mask(distance_raster_colven, colven_map)

1 个答案:

答案 0 :(得分:1)

您可以手动选择所需的部分:

plot(ven_l)
x <- crop(ven_l, drawPoly())
# draw a polygon on the map

现在

y <- rasterize(x, raster)
d <- distance(y)