新手R程序员在这里..。寻找关于在SpatialPolygonsDataFrame中用多边形构建苔丝的指导。
我正在调用状态边界内的点的正交计数。我不使用默认的网格,而是使用自定义多边形来定义象限。具体来说,县多边形,我有形状文件格式。
从文档中可以看出,可以从'owin‘对象列表中创建所需的tesselation。我被堵住的地方是拿着我的SpatialPolygonsDataFrame来生成那个列表。
我已经证实,多边形是正确的:
counties <- readOGR('/path/to/counties.shp', layer = "CountyBoundaries", GDAL1_integer64_policy = FALSE)
for(i in 1:nrow(counties)) {
plot(counties[i,])
}这就产生了一系列的地块,每个县一个。当然,只有知道我的数据没有被破坏,并且我可以在多边形上迭代,这才有用。我认为需要做的是从SpatialPolygonsDataFrame中的每个多边形中添加一个owin,并将其附加到myList for tess(tiles=myList)中。在这种方法上没有取得多大的成功。
我强烈怀疑有更容易的方法..。
非常感谢,
-gt
发布于 2020-08-24 19:22:27
原来我的问题是不完全理解列表是如何在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
https://stackoverflow.com/questions/63554373
复制相似问题