[R-sig-Geo] putting scalebar and north arrow on google map
Chris Lusk
clusk at waikato.ac.nz
Mon Jul 18 06:57:04 CEST 2016
Hi - I've made a map to show the spatial arrangement of my plots, and would
now like to add a scale bar (in hundreds of metres) and a north arrow. I've
seen several solutions online, most of which threw error messages when I
tried them. Although the solution below doesn't give an error message, it
doesn't actually add anything to the map!
Any advice would be appreciated.
Chris
..........
library(ggplot2)
library(ggmap)
library(maps)
library(GISTools)
##Coordinates of four types of plots
Gaps <- read.table(text="lon lat
176.431823 -38.086894
176.4329002 -38.08855667
176.4286505 -38.08421246
176.4239767 -38.08297953
176.4306576 -38.09032491
176.4181457 -38.08283416
176.4325089 -38.09042394
176.4243027 -38.08215021
176.4220882 -38.08720573
176.430974 -38.093108", header = TRUE, strip.white = TRUE)
Understorey <- read.table(text="lon lat
176.431523 -38.086965
176.418408 -38.082935
176.4244189 -38.08242069
176.4287644 -38.08372266
176.4240118 -38.0823004
176.4333778 -38.08853369
176.4217424 -38.0876122
176.4309304 -38.09055117
176.4324084 -38.0907023
176.430821 -38.093687", header = TRUE, strip.white = TRUE)
Treeferns <- read.table(text="lon lat
176.432134 -38.086298
176.4246547 -38.08226916
176.4335132 -38.08801622
176.4183628 -38.08260261
176.429 -38.08413018
176.4213997 -38.08710868
176.4304333 -38.09064678
176.4324081 -38.0909994
176.4242689 -38.08264669
176.429837 -38.093061", header = TRUE, strip.white = TRUE)
Margins <- read.table(text="lon lat
176.4225302 -38.08177849
176.427018 -38.08879161
176.4207786 -38.08356826
176.4315118 -38.08251629
176.426456 -38.08920441
176.426010 -38.088253
176.422526 -38.082794
176.421399 -38.084780
176.429339 -38.092742", header = TRUE, strip.white = TRUE)
## Get the map at right zoom level
OkatainaMap <- get_googlemap(center = c(lon = 176.425, lat = -38.0845),
maptype='hybrid', zoom=15)
## Plot the points on the map
ggmap(OkatainaMap) +
geom_point(data=Gaps, aes(x=lon, y=lat), pch=15, colour="chartreuse1",
size=2.5, alpha=1) +
geom_point(data=Understorey, aes(x=lon, y=lat), pch=21, colour="gray40",
bg="black", size=3, alpha=1) +
geom_point(data=Treeferns, aes(x=lon, y=lat), pch=23, colour="gray40",
bg="blue", size=2.5, alpha=1) +
geom_point(data=Margins, aes(x=lon, y=lat), pch=17, colour="orange",
size=2.5, alpha=1)
##Add scale and north arrow (NEITHER COMMAND WORKS FOR ME)
map.scale(x=176.42,y=-38.092, ratio=FALSE, relwidth=0.2, col="white")
north.arrow(xb=176.435, yb=-38.079, len=0.02, lab="N", col="white")
...................
Dr. Chris Lusk
Senior Research Fellow
Environmental Research Institute
The University of Waikato
Private Bag 3105, Hamilton
New Zealand / Aotearoa
http://sci.waikato.ac.nz/sites/clusk/
Ph 64 7 838 4205
Senior Editor, *NZ J Botany*
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[[alternative HTML version deleted]]
More information about the R-sig-Geo
mailing list