R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Karttoja leaflet-paketilla

Leaflet-paketilla voi helposti tuottaa interaktiivisia karttoja, joihin voi lisätä tasoja monilta eri palveluntarjoajilta. Käytettävissä olevista tasoista saa hyvän käsityksen sivulta http://leaflet-extras.github.io/leaflet-providers/preview/.

Esimerkiksi Tampereen keskustan kartan saa selaimeen seuraavalla komennolla, kunhan tietää Tampereen keskustan koordinaattipisteen (srgumentit lng ja lat) ja haluamansa karttasuurennoksen (argumentti zoom):

library(leaflet)
m <- leaflet() %>% 
  setView(lng = 23.7472074, lat = 61.4976057, zoom = 15) %>% 
  addTiles()
m

Jos karttaan haluaa lisätä uuden tason joltakin palveluntarjoajalta, se onnistuu komennolla addProviderTiles(). Esimerkiksi ESRIn satelliittikuva voitaisiin lisätä Tampereen keskustan karttaa seuraavasti:

m <- leaflet() %>% 
  setView(lng = 23.7472074, lat = 61.4976057, zoom = 15) %>% 
  addTiles() %>% 
  addProviderTiles(providers$Esri.WorldImagery) 
m

Leafletillä on myös helppo käyttää erilaisia Stamen-tasoja, kuten vesiväritaustaa kartoissa. Tampereen keskusta veriväriversiona saataisiin seuraavasti:

m <- leaflet() %>% 
  setView(lng = 23.7472074, lat = 61.4976057, zoom = 15) %>% 
  addTiles() %>% 
  addProviderTiles(providers$Stamen.Watercolor) 
m

Leaflet tuottaa interaktiivisia kuvia, mutta ne saa myös tallennettua kuvina levylle mapview-paketin mapshot()-komennolla:

library(leaflet)
library(mapview)
library(webshot)
m <- leaflet() %>% setView(lng = 23.7472074, lat = 61.4976057, zoom = 15) %>% addTiles() %>% addProviderTiles(providers$Stamen.Toner) 
mapshot(m, file = "Tampere_Stamen_Toner.png")

Tuloksena muodostuva kuva on rajautunut vähän eri tavalla kuin selaimessa näkyvä kuva, joten tallentaminen voi vaatia pientä säätämistä. Funktio mapshot ottaa argumentteina (vwidth ja vheight) myös muodostettavan kuvan resoluution. Oletusarvoilla tallennus tuottaa ylläolevasta vesivärikartasta seuraavanlaisen kuvan:

Leafletissä on paljon muitakin ominaisuuksia, joihin voi paketin manuaalin lisäksi tutustua RStudion ohjeistuksesta osoitteessa https://rstudio.github.io/leaflet/.


Category