0% found this document useful (0 votes)
243 views2 pages

Ggmapcheatsheet PDF

This document provides instructions for creating maps using the ggmap package in R. It discusses downloading map rasters from different sources like Google, OpenStreetMap, and Stamen. It also describes how to plot the raster maps and overlay location data like points and polygons. The document demonstrates how to define a location, get the appropriate map, adjust the zoom level, add geolocated points and polygons to the map, and annotate the figure.

Uploaded by

Rizwan Moidunni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
243 views2 pages

Ggmapcheatsheet PDF

This document provides instructions for creating maps using the ggmap package in R. It discusses downloading map rasters from different sources like Google, OpenStreetMap, and Stamen. It also describes how to plot the raster maps and overlay location data like points and polygons. The document demonstrates how to define a location, get the appropriate map, adjust the zoom level, add geolocated points and polygons to the map, and annotate the figure.

Uploaded by

Rizwan Moidunni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

The following maps show different map source/type options (except cloudmade)

ggmap quickstart The appearance of these maps may be very different depending on zoom/scale

For more functionality, see ggmap documentation and If you cant get the
https://dl.dropboxusercontent.com/u/24648660/ggmap%20u
stamen: watercolor stamen: toner stamen: terrain
map you want by
seR%202012.pdf adjusting the
There are 2 basic steps to making a map using ggmap: location/zoom
variables, the
Part 1: Download Part 2: Plot raster functions designed
map raster and overlay data for the different map
Part 1: Downloading the map raster sources provide more
Start by loading the package: library(ggmap) options:
get_googlemap,
1. Define location: 3 ways get_openstreetmap,
- location/address get_stamenmap,
myLocation <- "University of Washington get_cloudmademap
- lat/long
myLocation <- c(lon = -95.3632715, lat = 29.7632836) google: terrain google: satellite google: roadmap google: hybrid
- bounding box lowerleftlon, lowerleftlat, upperrightlon, upperrightlat
(a little glitchy for google maps)
myLocation <- c(-130, 30, -105, 50)

Convert location/address its lat/long coordinates:


geocode(University of Washington)
2. Define map source, type, and color
The get_map function provides a general approach for quickly
obtaining maps from multiple sources. I like this option for exploring
different styles of maps.
There are 4 map sources to obtain a map raster, and each of these osm*
sources has multiple map types (displayed on right). All maps can be displayed If you use Rstudio:
- stamen: maptype = c(terrain, toner, watercolor) in black and white Sometimes a plot will not
- google: maptype = c(roadmap, terrain, satellite, hybrid) display. Increasing the size
color = bw
- osm: open street map of the plot window may
- cloudmade: 1000s of maps, but an api key must be obtained help. dev.off() prior to
from http://cloudmade.com plotting may also help.
myMap <- get_map(location=myLocation, The urlonly = TRUE will
source="stamen", maptype=watercolor", crop=FALSE) return a url that will
display your map in a web
ggmap(myMap)
browser. Which is pretty
This will produce a map that looks something like this cool and may be handy!
NOTE: crop = FALSE because otherwise, with stamen plots, the map is legend=topleft will inset
slightly shifted when I overlay data. the legend on the top left
*Open street maps may return of the map is data is
3. Fine tune the scale of the map using zoom overlayed (page 2).
a '503 Service Unavailable
The get_map function takes a guess at the zoom level, but
error. This means their server
you can alter it:
is unavailable, and you must
zoom = integer from 3-21 myMap <-
wait for it to become available
3 = continent, 10=city, 21=building get_map(location=myLocation, Page 1 ggmap,
again.
(openstreetmap limit of 18) source=osm", color=bw)) Melanie Frazier
3. Add polygons from shp file
ggmap quickstart The shp file is imported into R using the rgdal package, and must be transformed to geographic
coordinates (latitude/longitude) on the World Geodetic System of 1984 (WGS84) datum using
the rgdal package:
Part 2: Plotting the maps and data library(rgdal)
shpData <- readOGR(dsn="C:\\Documents and Settings\\Watershed", layer="WS")
1 . Plot the raster: proj4string(shpData) # describes datas current coordinate reference system
ggmap(myMap) # to change to correct projection:
2 . Add points with latitude/longitude coordinates: shpData <- spTransform(shpData,
ggmap(myMap)+ CRS("+proj=longlat +datum=WGS84"))
geom_point(aes(x = Longitude, y = Latitude), data = data,
alpha = .5, color="darkred", size = 3) To plot the data:
alpha = transparency geom_polygon(aes(x = long, y = lat, group=id),
color = color data = shpData, color ="white", fill ="orangered4",
size = size of points alpha = .4, size = .2)
color= outline color alpha = transparency
The size, color, alpha, and shape of the points can be scaled relative fill = polygon color size = outline size
to another variable (in this case estArea) within the aes function:
ggmap(myMap)+ 4. Annotate figure
geom_point(aes(x = Longitude, y = Latitude, size=sqrt(estArea)), baylor <- get_map('baylor university', zoom = 15, maptype = 'satellite')
data = data, alpha = .5, color="darkred") ggmap(baylor) +
annotate('rect', xmin=-97.11, ymin=31.54, xmax=-97.12, ymax=31.55, col="red, fill=white)+
annotate('text', x=-97.12, y=31.54, label = 'Statistical Sciences', colour = I(red'), size = 8)+
annotate('segment', x=-97.12, xend=-97.12, y=31.55, yend=31.55,
colour=I('red'), arrow = arrow(length=unit(0.3,"cm")), size = 1.5) +
labs(x = 'Longitude', y = 'Latitude') + ggtitle('Baylor University')

Controlling size and color


scale_size(range = c(3, 20))
But, the following is better for display because
size
it is based on area (rather than radius)
scale_area(range=c(3,20))

Continuous variables: color gradient between


n colors, e.g.:
scale_colour_gradientn(colours =
rainbow_hcl(7))
Discrete variables, e.g.:
color scale_colour_manual(values=rainbow_hcl(7))
Additional functions can be added to control scaling, e.g.: scale_colour_manual(values=c("8" = "red",
ggmap(myMap)+ "4" = "blue","6" = "green)
geom_point(aes(x = Longitude, y = Latitude, size=sqrt(estArea)), *Use colorspace and RColorBrewer to choose
data = data, alpha = .5, color="darkred")+ color combinations
scale_size(range=c(3,20)) Page 2 ggmap,
Melanie Frazier

You might also like