r-从空间多边形数据框架创建镶嵌



这里是新手R程序员。。。寻求在空间多边形数据框架中从多边形构建tess的指导。

我正在调用一个州边界内的点的quadratcount。我希望使用自定义多边形来定义象限,而不是使用默认网格。具体来说,我有shapefile格式的县多边形。

我从文档中了解到,可以从"owin"对象列表中创建所需的镶嵌。我被卡住的地方是使用我的SpatialPolygonsDataFrame来生成该列表。

我已经确认多边形被正确读取:

counties <- readOGR('/path/to/counties.shp', layer = "CountyBoundaries", GDAL1_integer64_policy = FALSE)
for(i in 1:nrow(counties)) { 
plot(counties[i,])
}

它生成了一系列地块,每个县一块。当然,只有知道我的数据没有被破坏,并且我可以在多边形上迭代,这才有用。我认为我需要做的是从SpatialPolygonsDataFrame中的每个多边形中创建一个owin,并将其附加到tess(tiles=myList)的myList中。在这种方法上没有取得多大成功。

我强烈怀疑有一种更简单的方法。。。

非常感谢,

--gt

事实证明,我的问题在于没有完全理解R中列表的索引方式。下面的代码给出了我想要的结果。

我毫不怀疑有一种更好的、矢量化的方法可以做到这一点

# The point events are in a PPP: StateCrimes_ppp
counties <- readOGR('/path/to/counties.shp', layer = "CountyBoundaries", GDAL1_integer64_policy = FALSE)
tlist <- list()
for(i in 1:nrow(counties)) { 
tlist[[i]] <-  as(counties[i,], 'owin')
}
QuadCount <- quadratcount(
StateCrimes_ppp, 
tess=tess(tiles=tlist)
)
plot(QuadCount, main=NULL)
plot(intensity(QuadCount, image=TRUE), main=NULL, las=1) 

如果有人看到我是如何用漫长而艰难的方法来解决一个简单的问题的,我很想知道一种更好、更简单、更优雅或更像R的方法。

再次感谢

--gt

最新更新