4

次のコードを持つノースカロライナ州の 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コミュニティに非常に慣れていないので、これについて何か助けていただければ幸いです。

4

1 に答える 1