R Can';t组合形状文件的ggplot,包括多边形和空间点

R Can';t组合形状文件的ggplot,包括多边形和空间点,r,plot,geospatial,polygon,shapefile,R,Plot,Geospatial,Polygon,Shapefile,我下载了芝加哥三个不同的形状文件。现在我想把它们结合起来,把它们画在一起。只有病房的办公室才不会策划。”错误:data必须是数据帧或可由fortify()强制的其他对象,而不是类为SpatialPointsDataFrame“”的S4对象 前两个是多边形,第三个是面向点的 这是我的代码: #setting directiories chicagodir = 'Community Areas/' chicagoshp = paste(chicagodir, "geo_export_b982773b

我下载了芝加哥三个不同的形状文件。现在我想把它们结合起来,把它们画在一起。只有病房的办公室才不会策划。”错误:
data
必须是数据帧或可由
fortify()
强制的其他对象,而不是类为SpatialPointsDataFrame“”的S4对象

前两个是多边形,第三个是面向点的

这是我的代码:

#setting directiories
chicagodir = 'Community Areas/'
chicagoshp = paste(chicagodir, "geo_export_b982773b-13a7-4b96-827d-d969f0695777.shp", sep = "")
chicagoread =readOGR(chicagoshp)
plot(chicagoread)


#Wardprecints facilities 
wardprecinctsdir = 'WardPrecincts/'
wardprecinctsshp = paste(wardprecinctsdir, "WardPrecincts.shp", sep = "")
wardprecinctsshpread =readOGR(wardprecinctsshp)
plot(wardprecinctsshpread)

#Ward Offices - Map - Exportable
wardofficesdir = 'Ward Offices - Map - Exportable/'
wardofficesshp = paste(wardofficesdir, "geo_export_b47221aa-0cc1-45db-8a3c-3e6ba72dccf1.shp", sep = "")
wardofficesshpread = readOGR(wardofficesshp)
plot(wardofficesshpread)


chicago_transform <- spTransform(chicagoread, CRS("+proj=longlat +init=epsg:4326"))
wardpre_transform <-spTransform(wardprecinctsshpread, CRS("+proj=longlat +init=epsg:4326"))
wardoff_transform <-spTransform(wardofficesshpread, CRS("+proj=longlat +init=epsg:4326"))


combinedplot = ggplot() +
  geom_path(data = chicago_transform, aes(x = long, y = lat, group = group)) +
  coord_fixed() +
  labs(title = "Plot of Chicago",
       x = "long", y = "lat") +# Because we don't need x and y labels do we?
  #add specific wardprecinctsshpread and wardoffices
  geom_polygon(data=wardpre_transform, aes(x = long, y = lat, group = group, color="red")) +
  geom_polygon(data=wardoff_transform, aes(x = long, y = lat, group = group, color="blue"))
combinedplot
'''
#设置方向
chicagodir='社区区/'
chicagoshp=粘贴(chicagodir,“geo_出口”b982773b-13a7-4b96-827d-d969f0695777.shp),sep=“”)
chicagoread=readOGR(chicagoshp)
地块(芝加哥)
#监护区设施
wardprecinctsdir='WardPrecincts/'
wardprecinctsshp=粘贴(wardprecinctsdir,“WardPrecincts.shp”,sep=“”)
wardprecinctsshpread=readOGR(wardprecinctsshp)
地块(WardPrecisionSshPread)
#病房办公室-地图-可导出
wardofficesdir='Ward Office-Map-Exportable/'
wardofficesshp=粘贴(wardofficesdir,“geo_出口_b47221aa-0cc1-45db-8a3c-3e6ba72dccf1.shp”,sep=“”)
WardofficeshPread=readOGR(Wardofficeshp)
绘图(WARDOFFICESHPREAD)

chicago_transform事实上,病房办公室数据作为点是不同的。您可以在
SpatialPointsDataFrame
上使用
as.data.frame
进行打印

请注意,您需要的不是
lat
long
,而是
纬度
经度
(实际上是y和x坐标)

否则,让我知道这是否是你的想法

library(rgdal)
library(ggplot2)

chicagoread =readOGR("geo_export_210c4709-68df-496d-8b9c-8f7484608bc9.shp")
plot(chicagoread)

wardprecinctsshpread =readOGR("WardPrecincts.shp")
plot(wardprecinctsshpread)

wardofficesshpread = readOGR("geo_export_10f18171-8b13-4022-8d57-08d3b9bb0027.shp")
plot(wardofficesshpread)

chicago_transform <- spTransform(chicagoread, CRS("+proj=longlat +init=epsg:4326"))
wardpre_transform <- spTransform(wardprecinctsshpread, CRS("+proj=longlat +init=epsg:4326"))
wardoff_transform <- spTransform(wardofficesshpread, CRS("+proj=longlat +init=epsg:4326"))

combinedplot = ggplot() +
  geom_path(data = chicago_transform, aes(x = long, y = lat, group = group)) +
  coord_fixed() +
  labs(title = "Plot of Chicago", x = "long", y = "lat") +
  geom_polygon(data=wardpre_transform, aes(x = long, y = lat, group = group), color="red") +
  geom_point(data=as.data.frame(wardoff_transform), aes(x = longitude, y = latitude), color="blue") +
  theme_bw()

combinedplot
库(rgdal)
图书馆(GG2)
chicagoread=readOGR(“geo_出口_210c4709-68df-496d-8b9c-8f7484608bc9.shp”)
地块(芝加哥)
wardprecinctsshpread=readOGR(“WardPrecincts.shp”)
地块(WardPrecisionSshPread)
WARDOFFICESHPREAD=readOGR(“geo_出口_10f18171-8b13-4022-8d57-08d3b9bb0027.shp”)
绘图(WARDOFFICESHPREAD)
芝加哥变换