Używam ggmap pakietu R.ggmap :: get_map nie pozwala na dokładne określenie narożników mapy?
?get_map
mówi:
lokalizacja: adres, długość para/szerokość (w tej kolejności), lub lewy dolny/prawo/top box/ograniczający
Mój kod:
library(ggmap)
library(mapproj)
lat_bottom = 52.33 # bottom latitude of Berlin
lat_top = 52.5 # top latitude of Berlin
lon_left = 13.0 # left longitude of Berlin
lon_rigth = 13.95 # right longitude of Berlin
mymap <- get_map(location = c(lon_left,lat_bottom,lon_rigth,lat_top),
source="google")
ggmap(mymap)
Dlaczego daje mi ostrzeżenie:
Ostrzeżenie: pole ograniczające podane dla google - zakres przestrzenny tylko w przybliżeniu. konwersja obwiedni na specyfikację środka/zoomu. (doświadczalnie)
Czy to znaczy, że nie ma dla mnie sposób, aby stworzyć mapę z tych dokładnych kątach?
Na podstawie opinii poniżej Próbowałem to:
lat_bottom = 52.33 # bottom latitude of Berlin
lat_top = 52.68 # top latitude of Berlin
lon_left = 13.08 # left longitude of Berlin
lon_rigth = 13.77 # right longitude of Berlin
mylon = c(lon_left,lon_rigth)
mylat = c(lat_bottom,lat_top)
mymap <- get_map(location = c(lon = mean(mylon), lat = mean(mylat)),
maptype = "roadmap", source = "google", zoom=11) # using zoom
ggmap(mymap)
foo<-ggmap(mymap)+
scale_x_continuous(limits = c(lon_left,lon_right), expand = c(0, 0)) +
scale_y_continuous(limits = c(lat_bottom,lat_top), expand = c(0, 0))
foo
Wygląda OK. Ale kiedy podjąć inne współrzędne (te bliżej siebie), na przykład, jak te poniżej - wówczas mapa wygląda dziwnie - to trochę przesuwa się w lewo na szarym tle ...
lat_bottom = 52.35 # new bottom
lat_top = 52.50 # new top
lon_left = 13.2 # new left
lon_rigth = 13.5 # new right
można dostać mapę z pewnym zoom. Jeśli użyjesz 'ggplot2', możesz przyciąć mapę używając' scale_x_continous' oraz 'scale_y_continous'. Zobacz to [link] (http://stackoverflow.com/questions/25636897/get-map-with-specified-boundary-coordinates/25639124#25639124). To może być to, o co prosisz. – jazzurro
Po prostu wyjaśnić mój cel: staram się unikać "powiększania". Nie wiem z góry (kiedy piszę kod) jaki obszar mapy chcę zobaczyć. Czasami jest większy, czasem mniejszy. Właśnie dlatego muszę pobrać 4 rogi z danych, a następnie spróbować narysować mapę z tymi rogami. – user2323534