OSMscale (version 0.5.1)

pointsMap: Get map for lat-long points

Description

Download and plot map with the extend of a dataset with lat-long coordinates.

Usage

pointsMap(lat, long, data, ext = 0.07, fx = 0.05, fy = fx, type = "osm",
  zoom = NULL, minNumTiles = 9L, mergeTiles = TRUE, map = NULL,
  proj = NA, plot = TRUE, mar = c(0, 0, 0, 0), add = FALSE,
  scale = TRUE, quiet = FALSE, pch = 3, col = "red", cex = 1,
  pargs = NULL, ...)

Value

Map returned by openmap

Arguments

lat, long

Latitude (North/South) and longitude (East/West) coordinates in decimal degrees

data

Optional: data.frame with the columns lat and long

ext

Extension added in each direction if a single coordinate is given. DEFAULT: 0.07

fx, fy

Extend factors (additional map space around actual points) passed to custom version of extendrange. DEFAULT: 0.05

type

Tile server in OpenStreetMap::openmap. For an overview, see http://blog.fellstat.com/?p=356

zoom, minNumTiles, mergeTiles

Arguments passed to openmap

map

Optional map object. If given, it is not downloaded again. Useful to project maps in a second step. DEFAULT: NULL

proj

If you want to reproject the map (Consumes some extra time), the proj4 character string or CRS object to project to, e.g. putm(long=long). DEFAULT: NA (no conversion)

plot

Logical: Should map be plotted and points added? Plotting happens with OpenStreetMap::plot.OpenStreetMap(map, removeMargin=FALSE). DEFAULT: TRUE

mar

Margins to be set first (and left unchanged). DEFAULT: c(0,0,0,0)

add

Logical: add points to existing map? DEFAULT: FALSE

scale

Logical: should scaleBar be added? DEFAULT: TRUE

quiet

Logical: suppress progress messages? DEFAULT: FALSE

pch, col, cex

Arguments passed to points. DEFAULT: 3, "red", 1

pargs

List of arguments passed to points like lwd, type, cex...

...

Further arguments passed to scaleBar like abslen, ndiv, ...

Author

Berry Boessenkool, berry-b@gmx.de, Jun 2016

See Also

projectPoints, OpenStreetMap::openmap

Examples

Run this code
if(interactive()){
d <- read.table(sep=",", header=TRUE, text=
"lat, long # could e.g. be copied from googleMaps, rightclick on What's here?
43.221028, -123.382998
43.215348, -123.353804
43.227785, -123.368694
43.232649, -123.355895")

map <- pointsMap(lat, long, data=d)
map_utm <- pointsMap(lat, long, d, map=map, proj=putm(d$long))
axis(1); axis(2) # now in meters
projectPoints(d$lat, d$long)
scaleBar(map_utm, x=0.2, y=0.8, unit="mi", type="line", col="red", length=0.25)
pointsMap(lat, long, d[1:2,], map=map_utm, add=TRUE, col="red", pch=3, pargs=list(lwd=3))

d <- data.frame(long=c(12.95, 12.98, 13.22, 13.11), lat=c(52.40,52.52, 52.36, 52.45))
map <- pointsMap(lat,long,d, type="bing") # aerial map
}

Run the code above in your browser using DataCamp Workspace