我想知道在R(RStudio)中是否可能有一个交互式绘图,用户可以在其中单击图像并将其用作即将进行的处理的输入。这是我的情况:
我有一个绘制的栅格
plot(NDVI[[4]])
[![在此处输入图片描述] [1]] [1]
然后,我添加第二个包含多边形限制的层:
plot(fields, add=TRUE)
[![在此处输入图片描述] [2]] [2]
我的目标是用户单击图像以选择其中一些多边形(比方说3)。这些单击用于标识那些多边形,这些多边形随后将用于在它们表示的区域内得出平均栅格值。
到目前为止,我一直在更新包含点的shapefile,但我想使其更具交互性
points<-readOGR("Points_crops.shp")
fields<-readOGR("Boundaries.shp")
fields_sub <- fields[!is.na(sp::over(fields, sp::geometry(points))), ]
NDVI_mean<-lapply(NDVI, FUN=function (NDVI) {data.frame(mean=extract(NDVI,fields_sub,fun=mean))})
答案 0 :(得分:1)
对于那些感兴趣的人,我已经使用click
函数解决了这个问题。这将检索您用鼠标单击的点的坐标。之后,您可以将它们转换为spatialPoints
并设置proj4string
(与参考栅格之一相同)。
points<-click(NDVI[[4]], n=5, xy=TRUE, show=TRUE)
points$value<-NULL
points<-SpatialPoints(points, proj4string = crs(S2_stack_crop[[2]]))
一旦获得spatialPoints
的分数,我就可以继续下一步