geom_polygon
からggplot2
にマップされたマップをGoogleマップAPIと組み合わせるときに問題があります。それぞれの地図を独自にプロットすると、奇妙なものは表示されませんが、私がそれらを組み合わせると、いくつかの線(直線)が現れ、私が強調しようとする境界を台無しにします。Google MapとSpatial Polygonsを組み合わせたときにぼやけたポリゴンの形
1)黒枠でpolygosを構築するために使用して、データ - 私は、このlinkから来ます。ファイルの正確なURLは私のコードの下にあります。時にはそれゆえデータをダウンロードするための以下のコードは動作しない可能性があり、手動でファイルを解凍する必要がある:
path <- getwd()
fileName <- "R05.zip"
if (!file.exists(fileName)) {
urlFile = "http://www.censo2017.cl/wp-content/uploads/2016/12/R05.zip"
download(urlFile, dest = "./R05.zip", mode ="wb")
}
if (!dir.exists("./R05")) {
unzip("R05.zip")
}
2)次に、私は - 私は、多角形を構築れるシェープファイルをロードします。
distritos <- readOGR(dsn= paste(getwd(), "/R05", sep = ""),
layer="Distritos_Censales",
encoding = "UTF-8", stringsAsFactors = FALSE)
3)と
distritos <- distritos[[email protected]$DESC_COMUN=="QUILPUÉ", ]
4に興味行政区分 - 私を選択し)そして地区(ポリゴン)に興味 - 私:
distritos <- distritos[[email protected]$DESC_DISTR=="EL RETIRO" |
[email protected]$DESC_DISTR=="BELLOTO NORTE" |
[email protected]$DESC_DISTR=="VALENCIA" |
[email protected]$DESC_DISTR=="MENA" |
[email protected]$DESC_DISTR=="BELLOTO SUR" |
[email protected]$DESC_DISTR=="ALTO QUILPUÉ" |
[email protected]$DESC_DISTR=="EL SAUCE", ]
5) distritos
の境界からベースマップを構築します。そのため、 は、私が一緒にggplot2
distritos.fort <- fortify(distritos, region = "DESC_DISTR")
7)をプロットして、両方のマップを、それをプロットするためにシェープファイルデータを用意this StackOverflowの質問
bbox(distritos)
MapCenter <- function(x1, y1, x2, y2){
center.x <- x1 + ((x2 - x1)/2)
center.y <- y1 + ((y2 - y1)/2)
center <- c(center.x, center.y)
center
}
mcdistritos <- MapCenter(bbox(distritos)[1,1], bbox(distritos)[2,1],
bbox(distritos)[1,2], bbox(distritos)[2,2])
basemap <- get_googlemap(mcdistritos, zoom = 13,
maptype = "roadmap",
color = "bw",
style = "feature:administrative|element:labels|visibility:off")
basemap <- ggmap(basemap , extent = "device")
6)から地図の中心を取得する機能を使用します
彼らはベースにフィットdidn't原因ポリゴン境界が台無しにされた場合には、私は、基本地図をズームアウトを試みbasemap +
geom_polygon(data = distritos.fort,
aes(x = long, y = lat),
colour = "black",
fill = NA) + coord_map()
私は同じ結果を得ました。ちょっと小さい地図でした。誰もそれを修正する方法を知っていますか?
と思っています。あなたはdistritos @ data $ DESC_DISTR == "EL RETIRO"を置き換えることができます。 distritos @ data $ DESC_DISTR == "BELLOTO NORTE" | distritos @ data $ DESC_DISTR == "VALENCIA" | DISC_DISTR%@ DESC_DISTR =% "DISC_DISTR =" "MENA" | ... '%の中の' disitros @ data $ DESC_DISTR% 、...) ' – Gregor