使用R中空间对象的强化{ggplot2}将地图数据转换为数据框

使用R中空间对象的强化{ggplot2}将地图数据转换为数据框,r,ggplot2,R,Ggplot2,我过去可以毫无问题地运行这个脚本,但是现在fortify{ggplot2}命令给了我一条错误消息。任何可能出现问题的提示都会很好!我使用fortify命令能够使用ggplot2对shapefile进行几何映射 下面是我下载数据的脚本和链接 ####################################################### ####################################################### rm(list = ls(all =

我过去可以毫无问题地运行这个脚本,但是现在fortify{ggplot2}命令给了我一条错误消息。任何可能出现问题的提示都会很好!我使用fortify命令能够使用ggplot2对shapefile进行几何映射

下面是我下载数据的脚本和链接

#######################################################
#######################################################
rm(list = ls(all = TRUE))#clear workspace
getwd()
#upload packages
library(maps)
library(mapdata)
library(gridExtra)
library(rgdal)
library(rgeos)
library(ggplot2)
library(sp)
library(maptools)
gpclibPermit()

#setwd(".../FAO") FAO data are major fishing area divisions
> FAO<- readOGR(dsn="fao", layer="World_Fao_Zones")
OGR data source with driver: ESRI Shapefile 
Source: "fao", layer: "World_Fao_Zones"
with 19 features and 1 fields
Feature type: wkbPolygon with 2 dimensions
> names(FAO);dim(FAO)
[1] "zone"
[1] 19  1
> str(FAO,max.level=2)
Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots
  ..@ data       :'data.frame': 19 obs. of  1 variable:
  ..@ polygons   :List of 19
  ..@ plotOrder  : int [1:19] 18 2 17 4 12 3 13 11 5 6 ...
  ..@ bbox       : num [1:2, 1:2] -180 -85.5 180 90
  .. ..- attr(*, "dimnames")=List of 2
  ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
> plot(FAO)
#######################################################
#######################################################
rm(list=ls(all=TRUE))#清除工作区
getwd()
#上传软件包
图书馆(地图)
图书馆(地图数据)
图书馆(gridExtra)
图书馆(rgdal)
图书馆(rgeos)
图书馆(GG2)
图书馆(sp)
图书馆(地图工具)
gpclibPermit()
#setwd(“…/FAO”)粮农组织的数据是主要的渔区划分
>粮农组织名称(粮农组织);dim(粮农组织)
[1] “区域”
[1] 19  1
>str(粮农组织,最高水平=2)
带有5个插槽的正式类“SpatialPolygonsDataFrame”[包“sp”]
..@data:'data.frame':19 obs。第1个变量:
..@polygons:19个多边形的列表
..@plotOrder:int[1:19]18 2 17 4 12 3 13 11 5 6。。。
..@bbox:num[1:2,1:2]-180-85.518090
.. ..- 属性(*,“dimnames”)=2个列表
..@proj4string:1个插槽的正式类“CRS”[包“sp”]
>地块(粮农组织)

FAO@data$id=行名(FAO@data)

FAO.df FAO_fort我让它在
ggplot2
中工作,下面是我如何使用底部的版本和会话信息完成的

ggplot2中的地图

代码
rm(list=ls(all=TRUE))#清除工作区
图书馆(地图工具)
图书馆(gpclib)
图书馆(GG2)
形态强化可能是一种强化。一种新的替代方法是
扫帚
(参见文档)。使用非常简单:

# Load shapefile
FAO <- readOGR(dsn="fao", layer="World_Fao_Zones")
#Convert
FAO_df <- tidy(FAO)
#加载形状文件

FAO非常感谢你@gauden,我不确定可能是什么问题,但我能够用你的R代码使它工作@戈迪娜:很高兴这有帮助:)它在中使用了
geom_map
,您可能想进一步探索这一点。
# Load shapefile
FAO <- readOGR(dsn="fao", layer="World_Fao_Zones")
#Convert
FAO_df <- tidy(FAO)