r:readOGR&;st_read给出了两个不同的情节?

r:readOGR&;st_read给出了两个不同的情节?,r,dictionary,ggplot2,shapefile,sf,R,Dictionary,Ggplot2,Shapefile,Sf,我正试图用sf和ggplot软件包制作一张地图。。但是,当我运行st_read()命令读取我的shapefile并绘制它时,它并没有给出我想要的。。但当我用readOGR读入并绘制它时,它是。我想使用sf软件包,因为对我来说它似乎更容易。。为什么会这样?任何帮助都将不胜感激!谢谢 使用的代码: NJ_Map_Road<-st_read(dsn="V:/lum/WM&S/BEAR (Bureau of Environmental Analysis and Restoration)/E

我正试图用sf和ggplot软件包制作一张地图。。但是,当我运行st_read()命令读取我的shapefile并绘制它时,它并没有给出我想要的。。但当我用readOGR读入并绘制它时,它是。我想使用sf软件包,因为对我来说它似乎更容易。。为什么会这样?任何帮助都将不胜感激!谢谢

使用的代码:

NJ_Map_Road<-st_read(dsn="V:/lum/WM&S/BEAR (Bureau of Environmental Analysis and Restoration)/Envpln/Hourly Employees/KevinZolea/Rwork/2014IR/Maps/shapefiles",layer="2014_NJ_Integrated_Report_AU")
NJ_OGR<-readOGR(dsn="V:/lum/WM&S/BEAR (Bureau of Environmental Analysis and Restoration)/Envpln/Hourly Employees/KevinZolea/Rwork/2014IR/Maps/shapefiles",layer="2014_NJ_Integrated_Report_AU")
NJ_OGR

Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots
  ..@ data       :'data.frame': 958 obs. of  13 variables:
  ..@ polygons   :List of 958
  ..@ plotOrder  : int [1:958] 950 844 853 421 687 329 334 721 251 321 ...
  ..@ bbox       : num [1:2, 1:2] 190378 10574 659480 919549
  .. ..- attr(*, "dimnames")=List of 2
  ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
我从readOGR获得的绘图:

NJ_Map_Road<-st_read(dsn="V:/lum/WM&S/BEAR (Bureau of Environmental Analysis and Restoration)/Envpln/Hourly Employees/KevinZolea/Rwork/2014IR/Maps/shapefiles",layer="2014_NJ_Integrated_Report_AU")
NJ_OGR<-readOGR(dsn="V:/lum/WM&S/BEAR (Bureau of Environmental Analysis and Restoration)/Envpln/Hourly Employees/KevinZolea/Rwork/2014IR/Maps/shapefiles",layer="2014_NJ_Integrated_Report_AU")

我从st_read得到的情节

Classes ‘sf’ and 'data.frame':  958 obs. of  14 variables:
 $ OBJECTID  : num  1 2 3 4 5 6 7 8 9 10 ...
 $ AU_NUM    : Factor w/ 958 levels "02020007000010-01",..: 6 81 372 59 91 385 380 127 414 417 ...
 $ AU_NAME   : Factor w/ 958 levels "Absecon Creek (AC Reserviors) (gage to SB)",..: 318 660 840 791 920 576 955 618 927 418 ...
 $ HUC14TXT  : Factor w/ 958 levels "BarnegatBay01",..: 23 98 389 76 108 402 397 144 431 434 ...
 $ WMA       : Factor w/ 20 levels "01","02","03",..: 2 3 1 6 3 1 1 5 1 1 ...
 $ AQUATICLIF: Factor w/ 4 levels "Sublist 2","Sublist 3",..: 4 4 1 2 4 4 4 4 2 1 ...
 $ AQUATICL_1: Factor w/ 5 levels "NA","Sublist 2",..: 3 5 5 5 5 3 5 1 5 5 ...
 $ FISHCONSUM: Factor w/ 4 levels "Sublist 2","Sublist 3",..: 2 2 2 2 2 4 3 2 2 2 ...
 $ RECREATION: Factor w/ 4 levels "Sublist 2","Sublist 3",..: 2 2 2 2 3 2 2 3 2 2 ...
 $ SHELLFISH : Factor w/ 5 levels "NA","Sublist 2",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ PUBLICWATE: Factor w/ 5 levels "NA","Sublist 2",..: 2 5 3 2 2 2 3 5 3 3 ...
 $ SHAPE_Leng: num  57104 140114 100002 78413 143794 ...
 $ SHAPE_Area: num  1.53e+08 5.12e+08 3.81e+08 2.39e+08 3.03e+08 ...
 $ geometry  :sfc_MULTIPOLYGON of length 958; first list element: List of 1

我很困惑

您是否阅读了sf的说明?默认情况下,对
sf
对象调用的
plot()
会绘制该对象的所有属性的彩色贴图,最大值约为10。如果只需要轮廓,即只需要几何图形,则需要绘制
sf
对象的几何图形部分。尝试
绘图(st_geometry(NJ_Map_Road))
绘图(NJ_Map_Road$geometry)
,两者都可以工作


我建议您也看看,它描述了
sf
(简单功能)、
sfc
(简单功能几何列)和
sfg
(简单功能几何)类型之间的关系。

我没有读到。谢谢你的链接。成功了。这与ggplot的概念相同吗?因为当我尝试使用ggplot时,它给了我完全不同的东西。不,
sf
sf
对象实现了一个遵循这些规则的
plot()
方法
ggplot2
实现了
geom_sf
,它做了一些不同的事情,与
ggplot2
的其余部分更为一致,即除非使用
aes
显式映射,否则不会绘制属性。