取得背景地圖
使用 ggmap 把地圖加到 ggplot2 圖上需要兩個步驟:
- 使用
get_map()下載地圖 - 使用
ggmap()顯示地圖
先看一個範例,我們抓一張紐約市的地圖:
library(ggmap)
nyc <- c(lon = -74.0059, lat = 40.7128)
nyc_map <- get_map(location = nyc, zoom = 10)
get_map() 有多個引數可以控制要抓哪種地圖,但目前先以預設值為主。最重要的是第一個引數 location,你可以提供一組經緯度座標,指定地圖要置中的位置。(我們是用快速搜尋「coordinates nyc」找到 NYC 的座標。)下一個引數 zoom 接受 3 到 21 的整數,控制地圖放大的程度。在這個練習中,你還會設定第三個引數 scale 為 1。它用來控制下載地圖的解析度,將它調低(預設是 2)可以縮短下載時間。
顯示地圖則很簡單,只要用下載好的地圖作為唯一引數呼叫 ggmap():ggmap(nyc_map)。
換你來試試!我們要查看位於 Corvallis 的房屋交易資料,但你可能還不知道它在哪裡。一起找出來吧。
本練習屬於課程
在 R 視覺化地理空間資料
練習說明
我們已經替你建立了一組名為 corvallis 的座標。請取得以 Corvallis 為中心、以下縮放等級的地圖,並用 ggmap() 各自繪出。別忘了設定 scale = 1 以縮短下載時間。
zoom = 5(Corvallis 位於美國西岸的奧勒岡州。)zoom = 13(Willamette River 流經此城,Corvallis 也是 Oregon State University 的所在地。)
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
corvallis <- c(lon = -123.2620, lat = 44.5646)
# Get map at zoom level 5: map_5
map_5 <- get_map(___, zoom = ___, scale = 1)
# Plot map at zoom level 5
ggmap(___)
# Get map at zoom level 13: corvallis_map
corvallis_map <- ___
# Plot map at zoom level 13