在 R 中结合边界 shapefile

Posted

技术标签:

【中文标题】在 R 中结合边界 shapefile【英文标题】:Combining bordering shapefiles in R 【发布时间】:2010-06-02 23:46:09 【问题描述】:

我在加利福尼亚州有五个毗邻县的 shapefile,我正试图将它们合并为一个大型 shapefile 并保持县的原始边界。然后我想绘制诸如this 之类的点,因此该地图只需要是一个简单的县界地图。有没有办法在 R 中做到这一点,还是我必须使用 ArcGIS 之类的东西?

有大量关于在 shapefile 中合并的文档,例如 here,其中两个 shapefile 具有相同的坐标。但是没有关于仅部分共享坐标的 shapefile 的文档。

【问题讨论】:

【参考方案1】:

如果您只需要将所有边框放入一个数据集中,那么您可以使用sp/rgdal 轻松做到这一点,但如果您需要实际几何地合并边框(剪辑/加入/溶解)等等关于 R 中的支持并不是那么简单。

大致简单的选项是使用readOGR 读取每个shapefile,然后将spRbind 一起读取。如果rgdal 存在构建/安装困难,那么还有其他选项可以读取各种包中的 shapefile。

顺便说一句,“类似于 ArcGIS”,但更接近“免费”:www.manifold.net

【讨论】:

【参考方案2】:

如果您正在寻找免费和开源的解决方案,我强烈推荐 QGIS 或 uDIG 或 OpenJump 或 MapWindows。您可以在这些软件包中进行所有您想要的 shapefile 操作,它们都是 GIS 软件。

很抱歉,我无法在 R 中执行此操作,并且我不确定我是否会相信结果 - 使用锤子钉钉子比使用螺丝刀更好。

如果您想以编程方式更改 shapefile,请告诉我,我会推荐一些 python 和 java 库。

【讨论】:

感谢您的建议,我会检查一下。 python 是尝试执行此操作的选择#2,您建议的任何库将不胜感激。显然搜索“python 地图”不会很有帮助...... 我会推荐 shapely 或 geos 的 python 绑定

以上是关于在 R 中结合边界 shapefile的主要内容,如果未能解决你的问题,请参考以下文章

如何在r中添加特定(选定)美国州地图的边界?

使用 \R 模式使用 Java 扫描仪(缓冲区边界问题)

R:从生成的图像中裁剪 shapefile 边界

如何在 R 中的线性判别分析图上绘制分类边界

R使用tmaptools为sf对象中的每一行创建边界框

如何使用 R 中的纬度/经度边界从 netCDF 文件中获取子集