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)
芝加哥变换