Автономное построение координат карты на статических картах Google
История: Извлечение растровых данных из статической карты Google png, загрузка их на устройство R через ggimage
,
library (png)
library (ggmap)
rasterArray <- readPNG ("My.png")
x = c (40.702147,40.718217,40.711614)
y = c (-74.012318,-74.015794,-73.998284)
myData <- data.frame (x, y)
print (ggimage (rasterArray, fullpage = TRUE, coord_equal = FALSE)
+ geom_point (aes (x = x, y = y), data = myData, colour = I("green"),
size = I(5), fill = NA))
Я бегал dput
на rasterArray
но вывод составляет 20 МБ, не могу опубликовать здесь.
Кстати, это URL этой статической карты:
Вопрос: для построения "GPS-координат" на устройстве R, содержащем карту в пикселях, нужно ли scale
data.frame
?
Я видел эту страницу: http://www-personal.umich.edu/~varel/rdatasets/Langren1644.html Нужно ли выполнять масштабирование так, как они показали здесь?
Если да, то что еще, кроме справочной страницы scale
Функция мне нужно понять, чтобы сделать это?
Я лаю не на том дереве?
1 ответ
Решение
Я думаю, что ваша ошибка была следующей:
- Попытка построить географические данные на изображении, где это изображение не знает координат карты
- Возможно перенести ваши широты и долготы в кадре данных
Вот как вы должны сделать это, в два этапа:
- Получить карту с
get_map()
и сохранить его на диск, используяsave()
- График данных с
ggmap()
Сначала возьмите карту.
library (ggmap)
# Read map from google maps and save data to file
mapImageData <- get_googlemap(
c(lon=-74.0087986666667, lat=40.7106593333333),
zoom=15
)
save(mapImageData, file="savedMap.rda")
Затем в новом сеансе:
# Start a new session (well, clear the workspace, to be honest)
rm(list=ls())
# Load the saved file
load(file="savedMap.rda")
# Set up some data
myData <- data.frame(
lat = c (40.702147, 40.718217, 40.711614),
lon = c (-74.012318, -74.015794, -73.998284)
)
# Plot
ggmap(mapImageData) +
geom_point(aes(x=lon, y=lat), data=myData, colour="red", size=5)