[英]ggplot2 with ggmap odd shaped polygon R
我正在嘗試使用ggplot2繪制多邊形shapefile,但得到了一些奇怪的結果。 我使用以下代碼讀取帶有單個多邊形的shapefile:
zctaSp<-readShapePoly("zctaSp.shp")
然后,我使用幾種不同的方法進行繪圖,其中兩種方法可以工作,但我不需要的方法卻沒有。
情節1:形狀看起來與此正確:
plot(zctaSp)
曲線2:形狀看起來也與此正確,這似乎與曲線2幾乎相同:
ggplot(data=zctaSp, aes(x=long, y=lat, group=group)) + geom_polygon()
情節3:但是形狀使用以下方式被破壞:
ggplot(data=zctaSp, aes(x=long, y=lat, group=group)) + geom_polygon()
atl <- qmap('atlanta', zoom=11, color="bw")
atl + geom_polygon(data=zctaSp, aes(x=long, y=lat, group=group), alpha=1)
我將shapefile放在http://bit.ly/1nnlAg3 。
請注意,我還按照此鏈接上的Hadley Wickham的說明運行了fortify
命令之后,也嘗試進行繪圖,但這並沒有改善情況。
嘗試:
library(ggmap)
library(rgdal)
# Data using NAD83 - epsg: 4269
zct <- readOGR(dsn = 'D:/Programacao/R/Stackoverflow/22387624',
layer = 'zctaSp')
zctdf <- fortify(zct)
# Project to wgs84
wgs84proj <- CRS('+init=epsg:4326')
zct_g <- spTransform(zct, wgs84proj)
zctgdf <- fortify(zct_g)
map_loc <- get_map(location = c(lon = mean(zctgdf$lon), mean(zctgdf$lat)),
source = 'google', zoom = 11)
map <- ggmap(map_loc, extent = 'device')
map +
geom_polygon(data=zctgdf, aes(x=long, y=lat, group=group), alpha=.8)
Qgis的地圖
關於本練習中使用的預測,NAD 83 / WGS84可能是一個陷阱。 NAD83和WGS84之間略有不同。 NAD83依賴於GRS80數據,其實現與WGS84十分相似,但並不相同。
對於這些ggmap,應始終使用未投影的WGS84(epsg4326)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.