微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用sf :: st_intersects

如何解决如何使用sf :: st_intersects

我需要为sf数据集中的每个多边形提取相邻的多边形。

这是一个简单的例子:

library(tidyverse)
library(sf)

demo(nc,ask = FALSE,verbose = FALSE)
nc <- nc %>% 
  mutate(polygon_id = row_number())

我设法用sf::st_intersects提取邻居

neighbors <- st_intersects(nc,nc)
neighbors[[5]]
[1]  5  6  9 16 28

问题在于每个多边形(此处为5)都包含在邻居列表中。仅使用一个nc数据集就可以得到相同的结果

neighbors <- st_intersects(nc)
neighbors[[5]]
[1]  5  6  9 16 28

关于如何从相邻/相邻多边形列表中过滤出实际多边形的任何提示

解决方法

好问题。这个问题可能有很多解决方案。但是,此问题的简单答案:iex -S mix是使用带有R内核的Jupyter Lab IDE完成的。以下代码提供了一种回答问题的方法。

nc数据集中有100个县。此代码以彩色显示所选县,并显示所有邻近县。此代码适用于nc的100个县。这里选择了县100。

代码:

"Any tips on how to filter out the actual polygon from the list of adjacent/neighboring polygons?"

此代码易于扩展。我编写了一个快速的小功能,用于显示邻国的名称(此处未显示),但是这个问题似乎很可能是与绘图有关的问题。

该图显示在Link

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。