Геокод участка: ошибка ggmap

Я хочу визуализировать фрейм данных с помощью R и пакета ggmap.

df:

| lon       | lat       |
|-----------|-----------|
| 6.585863  | 51.09021  |
| 8.682.127 | 50.11092  |
| 7.460.367 | 5.152.755 |

Я создал карту с

mapImageData <- get_googlemap(
+   "Germany", 
+   zoom=15
+ )

А потом хотел добавить геокоды:

ggmap(mapImageData) +
+     geom_point(aes(x=lon, y=lat), data=df, colour="red", size=5)

Но я получаю сообщение об ошибке: Ошибка: для geom_point требуется следующая недостающая эстетика: x, y

Что я делаю не так?


person JulianHi    schedule 17.03.2014    source источник
comment
Не знаю, связано ли это с вашей проблемой, но вам нужно проверить свои долготу и широту (два . в трех из них).   -  person Henrik    schedule 17.03.2014
comment
@Henrik @user2874571, вероятно, что-то пошло не так с преобразованием данных. Должен быть только 1 десятичный знак. Кроме того, десятичная точка для последнего значения lat, вероятно, должна идти на 1 позицию вправо.   -  person Jaap    schedule 17.03.2014


Ответы (1)


У вас три проблемы:

  1. Более одной десятичной точки в некоторых значениях и десятичных точках, вероятно, не в нужном месте (см. Также мой комментарий)
  2. Карта сосредоточена не в том месте
  3. Уровень масштабирования слишком высок

Давайте исправим это:

# Get the right data
ger <- read.table(text="lon lat
6.585863 51.09021
8.682127 50.11092
7.460367 51.52755", header = TRUE, strip.white = TRUE)

# Finding a good centerpoint
mean(ger$lon) # outcome: 7.576119
mean(ger$lat) # outcome: 50.90956

# Get the map; you might have to try several zoomlevels te get the right one
library(ggmap)
mapImageData <- get_googlemap(center = c(lon = 7.576119, lat = 50.90956), zoom=8)

# Plot the points on the map
ggmap(mapImageData) +
  geom_point(data=ger, aes(x=lon, y=lat), colour="red", size=6, alpha=.6)

Получившаяся карта:

введите здесь описание изображения

person Jaap    schedule 17.03.2014