Наложение ggmap, geom_polygon (файл формы) на ggplot2 - PullRequest
0 голосов
/ 04 мая 2018

У меня есть файл формы, и я хочу разместить его поверх карты Google с помощью ggplot, но при публикации через geom_polygon (ggplot2) отображаются строки, которые не имеют смысла

мой код:

 ######## the shape file ftp://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/Brasil/BR/
  download.file("ftp://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/Brasil/BR/br_municipios.zip",temp)

data <- unz(temp, "BRMUE250GC_SIR.shp")

 data.shape<-st_read(data)


  ####### the map from ggmap
  mapa_edital_guarulhos <- get_map(location="GUARULHOS-SP",zoom=11,color = "bw",
                                   maptype = "roadmap") 


 mapa_edital_guarulhos_01<- ggmap(mapa_edital_guarulhos)

 ########## plotting with ggplot

 mapa_edital_guarulhos1 <- mapa_edital_guarulhos_01 + 
 geom_polygon(aes(x=long,y=lat, group=group), data=shape.sp, 
 color='black',alpha=0)

Результат:

enter image description here

Стрелка показывает линии, которые не имеют смысла на моем графике, изображая только фигуру для того же интервала:

plot(shape.sp,xlim=c(-47.25,-46.95),ylim=c(-23.1,-22.7)) 

enter image description here

В чем проблема в моем коде? спасибо

1 Ответ

0 голосов
/ 05 мая 2018

Попробуйте использовать geom_sf вместо geom_polygon

первая установка dev-версии ggplot2

devtools::install_github('tidyverse/ggplot2')

# read using sf instead of readOGR
library(sf)
# something like:
  data.shape <- st_read("www./BRMUE250GC_SIR.shp")

  ####### the map from ggmap
  mapa_edital_guarulhos <- get_map(location="GUARULHOS-SP",zoom=11,color = "bw",
                                   maptype = "roadmap") 


 mapa_edital_guarulhos_01<- ggmap(mapa_edital_guarulhos)

 ########## plotting with ggplot

 mapa_edital_guarulhos1 <- mapa_edital_guarulhos_01 + 
 geom_sf(data = data.shape, color = 'black', alpha=0)

Трудно проверить это без набора данных. Но дайте мне знать, если это работает! Я видел, как это решило проблему, с которой вы сталкивались раньше.

...