R - 尝试将.csv合并到.shp文件时撕裂多边形

时间:2013-07-16 05:47:09

标签: r merge polygon shapefile

我正在尝试将.csv文件中每个国家/地区('prop')的数据与.shp文件中的每个相应多边形相关联,但是,在尝试merge函数后,多边形无法正确映射

首先,我使用fortify创建多边形,并按.shp文件中的3个字母的国家/地区代码进行拆分......

gpclibPermit()
worldmapDf<- fortify(worldmap, region="ISO_3_CODE")

然后我尝试将.csv文件中的'prop'数据与3个字母的国家/地区代码列进行匹配(在这种情况下为'code')。

forestareamap <- merge(worldmapDf, forestarea, by.x="id", by.y="code")

然后我尝试绘制它...

ggplot(forestareamap)+aes(long,lat,group=group,fill=prop)+geom_polygon()

这发生了......

enter image description here

显然多边形的绘制顺序不正确,但我不确定如何正确排序。

在fortify之后直接绘制数据会生成正确的多边形,因此合并函数会出现问题。作为一个完整的新秀,我不知道......

1 个答案:

答案 0 :(得分:3)

我的数据存在类似问题。合并混乱,导致这个问题。尝试:

forestareamap <- forestareamap[order(forestareamap$order),] 
ggplot(forestareamap)+aes(long,lat,group=group,fill=prop)+geom_polygon()

这应该以正确的顺序放回一切。