openmap {mapmisc} | R Documentation |
Download map tiles
Description
Downloads map tiles from Openstreetmap.org and other servers.
Usage
openmap(x, zoom,
path="http://tile.openstreetmap.org/",
maxTiles = 9,
crs=ifelse(is.numeric(x), mapmisc::crsLL, terra::crs(x)),
buffer=0, fact=1,
verbose=getOption('mapmiscVerbose'),
cachePath=getOption('mapmiscCachePath'),
suffix=NULL
)
osmTiles(name, xyz, suffix)
openmapAttribution(name,
type=c('text','latex','markdown','html', 'auto'),
short=FALSE)
Arguments
x |
An a spatial object from which an extent and crs can be obtained. |
zoom |
the zoom level, when missing it will be determined by maxTiles. |
path |
Source of map tiles, see http://diseasemapping.r-forge.r-project.org/mapLayers.html. |
maxTiles |
If zoom is missing, zoom will be chosen such that the number of map tiles is less than or equl to this number. |
crs |
Projection for the output, defaulting to the same projection as
|
buffer |
Extend the extent for which the map is requested, in units
of |
fact |
Passed to increase or decrease resolution, values above 1 help to produce a clearer image. |
verbose |
Print information about map images being downloaded, defaults to |
cachePath |
Location to store downloaded map images, defaults to |
name |
name of a tile path, if missing a vector of all available tile paths
is returned. |
type |
format for the attribution |
short |
short or long attribution |
xyz |
format of xyz coordinates in URL's |
suffix |
string to append to URL's, i.e. |
Details
These functions download, display, and manipulate map tiles stored in a standard way either on a web server or a local folder.
Map tiles are a set of PNG images that span the world at a set of zoom
levels. Zoom level 1 has four 256x256 pixel tiles
in a 2x2 pattern over the whole world. In general, zoom level n has 2^n
by 2^n
tiles. Zoom levels go up to about 17 or 18 depending on the tile
server.
See https://mc.bbbike.org/mc/ for a more possible map tiles (not all of which are compatible with openmap)
Be sure to attribute any maps you publish, the osmAttribution
function will assist. If type = 'auto'
then markdown format will be used unless a variable mdToTex
is defined and equal to TRUE
.
Value
openmap
returns a SpatRaster
with indexed colours or RGB layers.
openmapAttribution
returns a character string.
Examples
data("netherlands")
nldTiles = terra::unwrap(nldTiles)
plot(nldTiles)
openmapAttribution('osm', short=TRUE, type='markdown')
openmapAttribution("stamen-watercolor", type='text')
myraster = rast(matrix(1:100,10,10),extent=ext(8, 18, 0, 10), crs=crsLL)
myPoints = as.points(myraster)[seq(1, ncell(myraster), len=12)]
names(osmTiles())
mytiles = try(openmap(myraster, zoom=5, verbose=TRUE))
oldpar = map.new(myraster)
plot(mytiles, add=TRUE)
points(myPoints,col='red')
myPoints = project(myPoints, crsMerc)
map.new(myPoints)
mytiles = try(openmap(myPoints,
path='https://livemap-tiles1.waze.com/tiles', verbose=TRUE, buffer=5))
plot(mytiles, add=TRUE)
points(myPoints, col='red')
par(oldpar)