2

这是我第一次使用 spatstat 包,所以我想要一些建议。我正在尝试将坐标数据绘制到不规则多边形区域(格式 .shp)中,以计算像 Ripley's 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.:如果您知道任何有关这些问题的材料,请我很乐意看看

4

1 回答 1

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)

但是,您将收到关于您的点被拒绝的警告,因为它们在窗口之外,并且该对象将不包含任何点。

于 2014-06-27T12:25:36.870 回答