我正在尝试使用我的研究区域(由各个多边形组成的大多边形)从 GIS 的形状文件在 spatstat 中创建 PPP。
我一直在关注:在 spatstat 包中处理 shapeles 阿德里安·巴德利、罗尔夫·特纳和埃格·鲁巴克 2022-11-08 spatstat 版本 3.0-2
#加载包 install.packages(“spatstat”) 库(spatstat) 安装.packages(“maptools”) Library(maptools) #将收到有关 rgdal 的警告消息,坚持使用 maptools 安装.packages(sp) 图书馆(sp)
#导入形状文件
UMshape1<-readShapeSpatial('F:/GIS/export_shape/Clipped_urban_matrix.shp')
#检查班级
class(UMshape1)
#返回:[1]“SpatialPolygonsDataFrame
#以下代码来自转换 SpatialPolygonsDataFrame 类对象的指南
UM1 <- as(UMshape1, "SpatialPolygons")
UM1regions <- slot(UM1, "polygons") UM1regions <- lapply(UM1regions, function(x) { SpatialPolygons(list(x)) }) UM1windows <- lapply(UM1regions, as.owin)
#checked 每种文件类型的类
class(UM1)
#“空间多边形”
class(UM1regions)
#“列表”
class(UM1windows)
#from GUIDE '结果是 owin 类的对象列表。通常,通过键入以下内容将其转换为镶嵌对象是有意义的: #所以我输入数据代码
teUM1 <-tess(tiles = UM1windows)
最后一条命令 (tess) 现在已经运行了 48 小时(红色停止框)。我没有创建进度条。
这样做是否正确,以便我可以创建自己的学习区域?这样我就可以在 spatstat 中创建 PPP?
如果所需的结果是
owin
类的单个窗口用作点图案的窗口,那么您不需要镶嵌。你可能应该做 teUM1 <-tess(tiles = UM1windows)
,而不是 teWin <- union.owin(as.solist(UM1windows))
。
如果您确实需要镶嵌(这将使每个窗口分开以供进一步使用),那么您可以致电
tess(tiles=UM1windows, check=FALSE)
。较长的计算时间是由于代码正在检查每个窗口是否与任何其他窗口重叠而导致的。如果您设置 check=FALSE
,则此检查将被禁用。