将R图导出为shapefile

Tim*_*Tim 6 gis r spatial

我对R很新,但不是ArcView.我正在绘制一些双模式数据,并希望将绘图转换为shapefile.具体来说,如果可能的话,我想转换顶点和边缘,以便我可以获得在ArcView中显示的相同绘图以及属性.

我已经安装了包"shapefiles",我看到了convert.to.shapefile命令,但是帮助没有讨论如何将XY坐标分配给顶点.

谢谢,

蒂姆

Ari*_*man 2

我将根据对您的数据的疯狂猜测来尝试这一点。

基本上,您需要将数据强制转换为包含 x 和 y 坐标(或纬度/经度,或其他)的两列的 data.frame 。

library(sp)
data(meuse.grid)
class(meuse.grid)
coordinates(meuse.grid) <- ~x+y
class(meuse.grid)
Run Code Online (Sandbox Code Playgroud)

一旦你将它作为 SpatialPointsDataFrame,sp 就会提供一些不错的功能,包括导出 shapefile:

writePointsShape(meuse.grid,"/home/myfiles/wherever/myshape.shp")
Run Code Online (Sandbox Code Playgroud)

相关帮助文件示例取自:

  • 坐标
  • 空间点数据帧
  • 读取形状点

至少几年前,当我上次使用 sp 时,它对于投影非常有用,而对于将投影信息写入 shapefile 则非常糟糕。因此,最好保持坐标不变,并手动告诉 Arc 它是什么投影。或者使用writeOGR而不是writePointsShape.