расширение карты по всему устройству в указанном увеличении в ggmap в R - PullRequest
0 голосов
/ 10 мая 2018

У меня есть фрейм данных c, который включает в себя широту и название некоторых районов и некоторую другую информацию.моя конечная цель - представить эту информацию на карте.

с использованием этих кодов. Я сделал карту, центром которой является город Тегеран.

teh_center <- as.numeric(geocode("tehran"))
map <- get_map(location = c(lon = 51.38897, lat = 35.6892), zoom = 14,
               source = "google")

эти коды пытаются расширитькарта по всей длине широты (от здесь ):

foo <-ggmap(map) +
  scale_x_continuous(limits = c(51, 51.8), expand = c(0, 0)) +
  scale_y_continuous(limits = c(35.45, 35.85), expand = c(0, 0)) 

в конце я попытался получить карту и информацию по ней:

foo + 
geom_point(aes(x=lon, y=lat), data=c, col=c$decile, alpha=0.4, size = 3)

но я получаю это: enter image description here

, как вы можете видеть, карта находится в центре изображения, но в небольшом размере.как я могу это исправить?

1 Ответ

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

Вы должны уменьшить уровень масштабирования, поскольку сейчас вы получаете небольшую область от Google, но ваши данные, кажется, покрывают большую область вокруг нее

library(ggmap)
# teh_center <- as.numeric(geocode("tehran"))
map <- get_map(location = c(lon = 51.38897, lat = 35.6892), zoom = 10,
               source = "google")
#> Source : https://maps.googleapis.com/maps/api/staticmap?center=35.6892,51.38897&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN


ggmap(map) +
  scale_x_continuous(limits = c(51, 51.8), expand = c(0, 0)) +
  scale_y_continuous(limits = c(35.45, 35.85), expand = c(0, 0)) 
#> Scale for 'x' is already present. Adding another scale for 'x', which
#> will replace the existing scale.
#> Scale for 'y' is already present. Adding another scale for 'y', which
#> will replace the existing scale.
#> Warning: Removed 1 rows containing missing values (geom_rect).

Если вы уже знаете широту / долготу ваших данных, вы можете получить нужную карту, используя RgoogleMaps::GetMap.bbox()

library(ggmap)
#> Loading required package: ggplot2
#> Google Maps API Terms of Service: http://developers.google.com/maps/terms.
#> Please cite ggmap if you use it: see citation("ggmap") for details.
library(RgoogleMaps)

bbox <- GetMap.bbox(c(35.45, 35.85), c(51, 51.8))
map <- get_map(location = c(bbox$lat.center, bbox$lon.center), zoom = bbox$zoom,
               source = "google")
#> Source : https://maps.googleapis.com/maps/api/staticmap?center=35.65,51.4&zoom=9&size=640x640&scale=2&maptype=terrain&language=en-EN


ggmap(map)

Создано в 2018-05-10 * пакетом (v0.2.0).

...