R: download map tiles from specified map tile servers such as...

GetMapTiles {RgoogleMaps} | R Documentation

## download map tiles from specified map tile servers such as openstreetmap or Google

### Description

Query the server for map tiles, defined uniquely by their X and Y ID and zoom. For offline usage, these map tiles are stored in a local directory

### Usage

    GetMapTiles(center = c(lat = 52.431635, lon = 13.194773), lonR,
        latR, nTiles = c(3, 3), zoom = 13, urlBase = c("http://a.tile.openstreetmap.org/",
            "http://mt1.google.com/vt/lyrs=m")[1], CheckExistingFiles = TRUE,
        TotalSleep = NULL, tileExt = ".png", tileDir = "~/mapTiles/OSM/",
        returnTiles = FALSE, verbose = 0)

### Arguments

`center` | optional center (lat first,lon second )
`lonR` | longitude range
`latR` | latitude range
`nTiles` | number of tiles in x and y direction
`zoom` | Google maps zoom level.
`urlBase` | tileserver URL
`CheckExistingFiles` | logical, if TRUE check if files already exist and only download if not!
`TotalSleep` | overall time (in seconds) that one is willing to add in between downloads. This is intended to lower the risk of a server denial. If NULL no call to Sys.sleep is executed
`tileExt` | image type of tile
`tileDir` | map tiles are stored in a local directory
`returnTiles` | return tiles in a list?
`verbose` | level of verbosity

### Value

list with important information

### Note

Note that size is in order (lon, lat)

### Author(s)

Markus Loecher

### See Also

GetMap.bbox

### Examples

    if (0){
    tmp=GetMapTiles("World Trade Center, NY", zoom=15,nTiles = c(5,5), verbose=1)
    PlotOnMapTiles(tmp)
    tmp=GetMapTiles("World Trade Center, NY", zoom=16,nTiles = c(20,20), verbose=1)

    tmp2=GetMapTiles("World Trade Center, NY", zoom=15,nTiles = c(5,5), verbose=1,
                    urlBase = "http://mt1.google.com/vt/lyrs=m",
                    tileDir= "~/mapTiles/Google/")
    tmp=GetMapTiles("Hoboken, NJ", zoom=16,nTiles = c(30,30), verbose=1,
                    urlBase = "http://mt1.google.com/vt/lyrs=m",
                    tileDir= "~/mapTiles/Google/")
    PlotOnMapTiles(tmp2)

    tmp2=GetMapTiles("Werderscher Markt 15, 10117 Berlin", zoom=15,nTiles = c(20,20), verbose=0,
                     urlBase = "http://mt1.google.com/vt/lyrs=m",
                     tileDir= "~/mapTiles/Google/")
    ###combine with leaflet:
    #From:http://stackoverflow.com/questions/5050851/
    #     best-lightweight-web-server-only-static-content-for-windows
    #To use Python as a simple web server just change your working
    #directory to the folder with your static content and type
    #python -m SimpleHTTPServer 8000, everything in the directory
    #will be available at http:/localhost:8000/

    library(leaflet)
    m = leaflet::leaflet() %>%
      addTiles( urlTemplate = "http:/localhost:8000/mapTiles/OSM/{z}_{x}_{y}.png")
    m = leaflet::leaflet() %>%
      addTiles( urlTemplate = "http:/localhost:8000/mapTiles/Google/{z}_{x}_{y}.png")
    m = m %>% leaflet::setView(-74.01312, 40.71180, zoom = 16)
    m = m %>% leaflet::addMarkers(-74.01312, 40.71180)

    #Quadriga:
    m = m %>% leaflet::setView(13.39780, 52.51534, zoom = 16)
    m = m %>% leaflet::addMarkers(13.39780, 52.51534)
    }

[Package RgoogleMaps version 1.4.1 Index]