次のコードを持つノースカロライナ州の ggmap プロットに ESRI シェープファイル (.shp) を追加しようとしています。
x <- get_map(location="North Carolina", zoom=6, maptype="terrain")
ggmap(x) +
geom_polygon(data=citylim83.df, aes(x=long, y=lat), fill="red", alpha=0.2)
ロードして強化したシェープファイルcitylim83.df
。シェイプファイルを ggplot にロードするために使用されるコードは次のとおりです。
epsgs <- make_EPSG()
citylim <- readOGR(dsn=".", layer="MunicipalBoundaries_polys")`
EPSG で検索した後の MunicipalBoundaries の投影の単位は、州平面システムの ft-US です。この .shp には NAD83 の地理座標系がありますが、これを NAD83 にも投影して、州平面システムを取り除きたいと思います (NAD83 (UTM-17N) の EPSG コードは 26917 です)。
citylim83 <- spTransform(citylim, CRS("+init=epsg:26917"))
summary(citylim83)
Object of class SpatialPolygonsDataFrame
Is projected: TRUE
[+init=epsg:26917 +proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m
citylim83.df <- fortify(citylim83)
このデータ フレームは、上記の ggmap コードで使用されました。
現在は確実に NAD83 に投影されていますが、基本の ggmap には表示されません。インポートした get_map オブジェクトのベース プロジェクションは何ですか? マップをその上に表示したいシェープファイルと一致させることができるように、これを見つけるためのコマンドはありますか? citylim オブジェクトを「投影解除」する必要がありますか? 参考までに、シェープファイルはノースカロライナ州の各自治体の境界線です。私はggplot2/ggmapコミュニティに非常に慣れていないので、これについて何か助けていただければ幸いです。