首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SpatialPolygonsDataFrame创建Tesselation?

从SpatialPolygonsDataFrame创建Tesselation?
EN

Stack Overflow用户
提问于 2020-08-24 03:32:46
回答 1查看 51关注 0票数 0

新手R程序员在这里..。寻找关于在SpatialPolygonsDataFrame中用多边形构建苔丝的指导。

我正在调用状态边界内的点的正交计数。我不使用默认的网格,而是使用自定义多边形来定义象限。具体来说,县多边形,我有形状文件格式。

从文档中可以看出,可以从'owin‘对象列表中创建所需的tesselation。我被堵住的地方是拿着我的SpatialPolygonsDataFrame来生成那个列表。

我已经证实,多边形是正确的:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2020-08-24 19:22:27

原来我的问题是不完全理解列表是如何在R中索引的,下面的代码给出了我想要的结果。

我毫不怀疑,有一个更好的,矢量化的,方法去做它。但同时:

代码语言:javascript
复制
# 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63554373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档