【发布时间】:2021-04-13 13:08:08
【问题描述】:
第一次在 SO 上发帖
我有一个 shapefile,其中包含每个邮政编码的几何图形以及州名称。我想弄清楚哪些邮政编码位于州边界上。 我想实现这一点的方法是通过组合每个州的所有邮政编码并导致一个州的几何图形,然后找到每个州的相邻邮政编码。
我使用以下方式将邮政编码组合成州:
state_shape <- shapefile %>% group_by(State) %>% summarise(geometry = sf::st_union(geometry))
但是当我尝试使用poly2nb查找相邻的邮政编码时
state_nb <- poly2nb(st_geometry(state_shape))
它给了我一个错误:
Error in poly2nb(st_geometry(state_shape)) : Polygon geometries required
我知道要找到边界邮政编码,我必须在 poly2nb 中传递邮政编码几何图形,但错误仍然存在。
任何帮助都将受到高度赞赏,也非常欢迎任何其他解决此问题的方法。
【问题讨论】:
-
想象一下,您正试图向某人提供帮助。如果您可以运行他们的代码会有所帮助吗?我想我的意思是,如果您提供您正在使用的数据和库,以便有人可以运行您的代码并对其进行调试,您可能会获得更多帮助。
-
数据基本上是一个.shp文件。第一列是邮政编码,第二列是邮政编码所属州的名称,第三列是邮政编码的几何形状。我使用的库是 sf、dplyr、rgeos 和 geosphere
-
因此,如果没有可重现的示例,很难知道。但是
state_shape <- shapefile %>% group_by(State) %>% summarise(geometry = sf::st_union(geometry))在我看来就像您在按州进行总结。所以,我想你没有县级信息。