这是我第一次使用spatstat包,所以我想要一些建议。我试图将坐标数据绘制成不规则的多边形区域(格式.shp),以计算像Ripley的K一样的空间分析。如何将不规则多边形区域添加为绘图?如何将坐标中的.ppp数据合并到多边形区域? 我使用了以下代码:
将坐标数据转换为.ppp格式
library(spatstat)
library(sp)
library(maptools)
tree.simu <- read.table("simulation.txt", h=T)
tree.simu.ppp <-ppp(x=tree.simu$X,y=tree.simu$Y,window=owin(c(min(tree.simu$X),max(tree.simu$X)),c(min(tree.simu$Y),max(tree.simu$Y))))
plot(tree.simu.ppp)
使用此功能,我将绘图区域视为坐标的最大值和最小值。我想把多边形边界作为图。
绘制不规则多边形区域
area <- readShapePoly("Area/Fragment.shp")
plot(area)
plot(tree.simu.ppp, add=T)
或
points(tree.simu.ppp)
包接受最后一个函数但是,当我尝试将两个文件一起绘制时,看起来像.shp文件它填满了整个区域。我无法将坐标数据可视化。
谢谢,非常感谢您的帮助!
ps:如果您对这些问题有任何疑问,请高兴看看
答案 0 :(得分:0)
这确实是由于@jlhoward在评论中推测出的边界框不一致。你的观点在[273663.9,275091.45] x [7718635,7719267],而多边形包含在[-41.17483,-41.15588] x [-20.619647,-20.610134]中。
假设坐标确实与窗口一致,将它放入ppp
对象的正确方法是:
library(spatstat)
library(sp)
library(maptools)
area <- readShapePoly("Area/Fragment.shp")
area <- as(area, "owin")
tree.simu <- read.table("simulation.txt", h=T)
tree.simu.ppp <-ppp(x=tree.simu$X,y=tree.simu$Y,window=area)
但是,您将收到关于您的点被拒绝的警告,因为它们位于窗口之外,并且该对象将不包含任何点。