Я пытаюсь построить линейный слой над картами Google.Как построить карту объектов SpatialLinesDataFrame по картам Google
данных
> dput(map)
new("SpatialLinesDataFrame"
, data = structure(list(att = c(463643, 2291491, 315237340, 10348934,
309845150, 674351, 58057, 55962, 302861, 1405635)), .Names = "att", row.names = c(NA,
10L), class = "data.frame")
, lines = list(<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>,
<S4 object of class structure("Lines", package = "sp")>)
, bbox = structure(c(50.497608475813, 26.1186426230732, 50.6164182652142,
26.2649832975207), .Dim = c(2L, 2L), .Dimnames = list(c("x",
"y"), c("min", "max")))
, proj4string = new("CRS"
, projargs = "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs"
)
)
подход
library(rgdal)
library(ggmap)
gmap <- get_map(location=rowMeans(bbox(segMap)), zoom = 11) # get Google map to use as background
Вариант I
plot(map, col = map$att, lwd = 1.5)
plot(gMap)
Вариант II
plot(map, col = map$att, lwd = 1.5)
ggmap(gMap)
Задача
Фоновая карта нанесена поверх карты объектов, а не как фон, в результате отображение карты не видно. Чтобы уточнить, оба вызова участка (plot()
и ggmap
) работают нормально независимо. Спасибо
Если вы действительно хотите использовать 'ggmap', вам следует серьезно подумать об использовании функций из' ggplot2', на основе которых 'ggmap' основан (в терминах синтаксиса) и, что более важно, эти два пакета прекрасно работают вместе (посмотрите на ggplot2 :: geom_line() ',' geom_polygon() 'и' fortify() '). Если вы не хотите использовать синтаксис ggplot, скорее перейдите с пакетом 'openstreetmap',' rGooglemaps' и т. Д. – maj
Спасибо @maj. Правильно ли я понимаю, что использование ggmap - это способ избежать перехода на gis-маршрут? Какое решение вы бы порекомендовали, если бы я тоже хотел провести пространственный анализ? – jpinelo
@jpinelo они не являются взаимоисключающими. вы можете добавить слои полигона и карты в созданный ggmap ggplot и 'dput' из 'sp' объектов (как вы можете видеть) не хорошо переносят. Этот ответ SO является примером ОК http://stackoverflow.com/questions/10930737/ggmap-with-geom-map-superimposed/10940778#10940778 – hrbrmstr