Я использую приведенные ниже данные, чтобы попытаться пространственно отобразить некоторые местоположения на карте.
library(ggmap)
register_google(key = "GOOGLE_API_KEY")
mad <- get_map("madrid, spain")
ggmap(mad, extent = "normal") +
geom_point(aes(x = Long, y = Lat, color = station_location), data = df_spatial, alpha = 0.5)
Мой график выглядит следующим образом:

Почему это выглядит так неправильно? - точки нанесены полностью за пределы карты.
Данные выглядят следующим образом:
Latitud Longitud Altitud station_location Lat Long
<chr> <chr> <chr> <chr> <dbl> <dbl>
1 40º 25' 25.98'' N 3º 42' 43.91'' O 637 m. Pza de Espana 40.4 3.71
2 40º 25' 17.63'' N 3º 40' 56.22'' O 672 m. Escuelas Aguirre 40.4 3.68
3 40º 27' 5.29'' N 3º 40' 38.5'' O 708 m. Av Ramon y Cajal 40.5 3.68
Где я создал значения Long
и Lat
(Это, вероятно, куда я идунеправильно ...)
Longitud
и Latitud
содержат N
, E
, S
, O
, что составляет North
, East
, South
и West
на испанском.
Как правильно отобразить точки на карте?
Данные:
df_spatial <- structure(list(Latitud = c("40º 25' 25.98'' N", "40º 25' 17.63'' N",
"40º 27' 5.29'' N", "40º 26' 24.20'' N", "40º 23' 41.22'' N",
"40º 25' 9.69'' N", "40º 25' 9.15'' N", "40º 24' 28.64'' N",
"40º 26' 43.97'' N", "40º 28' 41.64'' N", "40º 23' 17.33'' N",
"40º 28' 36.93'' N", "40º 23' 53.17'' N", "40º 22' 22.84'' N",
"40º 29' 39.12'' N", "40º 31' 4.97'' N", "40º 27' 54.90'' N",
"40º 24' 52'' N", "40º 23' 6.1'' N", "40º 30' 1.97'' N"), Longitud = c("3º 42' 43.91'' O",
"3º 40' 56.22'' O", "3º 40' 38.5'' O", "3º 38' 21.17'' O", "3º 43' 54.61'' O",
"3º 44' 50.44'' O", "3º 42' 11.4'' O", "3º 38' 43.02'' O", "3º 42' 25.64'' O",
"3º 42' 41.53'' O", "3º 39' 5.5'' O", "3º 34' 48.10'' O", "3º 41' 12.57'' O",
"3º 36' 43.7'' O", "3º 39' 37.86'' O", "3º 46' 28.62'' O", "3º 36' 32.66'' O",
"3º 40' 57.3'' O", "3º 43' 7.54'' O", "3º 41' 23.03'' O"), Altitud = c("637 m.",
"672 m.", "708 m.", "695 m.", "632 m.", "646 m.", "660 m.", "671 m.",
"699 m.", "676 m.", "677 m.", "620 m.", "600 m.", "629 m.", "700 m.",
"612 m.", "660 m.", "662 m.", "605 m.", "715 m."), station_location = c("Pza de Espana",
"Escuelas Aguirre", "Av Ramon y Cajal", "Arturo Soria", "C Farolillo",
"Casa de Campo", "Pza del Carmen", "Moratalaz", "Cuatro Caminos",
"Barrio de Pilar", "Vallecas", "Barajas", "Mendez Alvaro", "Ensanche Vallecas",
"Sanchinarro", "El Pardo", "Parque Juan Carlos 1", "Retiro",
"Plaza Eliptica", "Tres Olivos"), Lat = c(40.4238833333333, 40.4215638888889,
40.4514694444444, 40.4400555555556, 40.3947833333333, 40.4193583333333,
40.4192083333333, 40.4079555555556, 40.4455472222222, 40.4782333333333,
40.3881472222222, 40.476925, 40.3981027777778, 40.3730111111111,
40.4942, 40.5180472222222, 40.46525, 40.4144444444444, 40.3850277777778,
40.5005472222222), Long = c(3.71219722222222, 3.68228333333333,
3.67736111111111, 3.63921388888889, 3.73183611111111, 3.74734444444444,
3.70316666666667, 3.64528333333333, 3.70712222222222, 3.71153611111111,
3.65152777777778, 3.58002777777778, 3.686825, 3.61213888888889,
3.66051666666667, 3.77461666666667, 3.60907222222222, 3.68258333333333,
3.71876111111111, 3.68973055555556)), class = c("tbl_df", "tbl",
"data.frame"), row.names = c(NA, -20L))