无法合并包括多边形和空间点的shapefile的ggplot

问题描述 投票:0回答:1

我下载了芝加哥三个不同的shapefile。现在,我想将它们组合在一起并绘制在一起。只有病房不作图。 '''错误: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
'''

如何解决这个问题,将点绘制到2个多边形上?提前谢谢

r plot geospatial polygon shapefile
1个回答
0
投票

确实,区役所数据不同。您可以只在as.data.frame上使用SpatialPointsDataFrame。请注意,您需要latlong来代替latitudelongitude。否则,请告诉我您是否打算这样做。

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

chicago ward offices map

© www.soinside.com 2019 - 2024. All rights reserved.