无需使用gpclib工具即可将空间多边形转换为常规数据框

时间:2014-01-14 23:05:19

标签: r ggplot2 gis s4 maptools

我在R中使用空间数据进行商业应用,并希望使用ggplot2进行数据可视化。如果您在https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles运行Hadley的示例,您会发现为了运行fortify命令,您需要使用gpclibPermit()启用gpclib工具。

我正在寻找一种有效的方式(不涉及手动入侵S4对象)来执行fortify在这里执行的相同操作,即获取空间多边形对象并将其转换为常规行条目包含纬度和纵向坐标以及多边形id的数据框。

还有其他人解决了这个吗?

1 个答案:

答案 0 :(得分:14)

您还需要安装rgeos包。加载maptools并且未安装rgeos时,会显示以下消息:

> require("maptools")
Loading required package: maptools
Checking rgeos availability: FALSE
    Note: when rgeos is not available, polygon geometry
    computations in maptools depend on gpclib,
    which has a restricted licence. It is disabled by default;
    to enable gpclib, type gpclibPermit()

当使用fortify参数调用region时(就像您链接到的示例中那样),则需要执行一些“多边形几何计算”。如果rgeos不可用,并且不允许gpclib,则会失败。