Robin Lovelace - see rpubs.com/robinlovelace for slides
University of Leeds, 2016-04-20
cdrc
This course is brought to you the Consumer Data Research Centre (CDRC) and is funded by the ESRC’s (Big Data Network).
This R code installs and loads all the packages you need:
pkgs <- c(
"sp", # R's base package
"rgdal", # (can be tricky)
"rgeos",
"ggmap",
"tmap",
"leaflet",
"dplyr"
)
install.packages(pkgs)
lapply(pkgs, library, character.only = TRUE)R code = reproducible!
Source: Data Camp
“With the advent of “modern” GIS software, most people want to point and click their way through life. That’s good, but there is a tremendous amount of flexibility and power waiting for you with the command line. Many times you can do something on the command line in a fraction of the time you can do it with a GUI (Sherman 2008, p. 283)
It can take data in a wide range of formats. E.g. MySQL database dump gives you this:
LINESTRING(-1.81 52.55,-1.81 52.55)
And if you get stuck? Just ask!
Example: I could not load a MultiFeature GeoJSON. So I asked: http://stackoverflow.com/q/29066198/1694378
If you cannot visualise your data, it is very difficult to understand your data. Conversely, visualisation will greatly aid in communicating your results.
Human beings are remarkably adept at discerning relationships from visual representations. A well-crafted graph can help you make meaningful comparisons among thousands of pieces of information, extracting patterns not easily found through other methods. … Data analysts need to look at their data, and this is one area where R shines. (Kabacoff, 2009, p. 45).
Source: This tutorial!
census
Flexibility of ggplot2 - see robinlovelace.net
Before progressing further: Any questions?
Data and code are all available online from a GitHub repository. Click “Download ZIP” to download all the test data, ready to procede:
Reproducible code of academic paper cycle crashes: https://github.com/Robinlovelace/bikeR
General tutorial: Introduction to Visualising Spatial Data with R: https://github.com/Robinlovelace/Creating-maps-in-R
Early preview of book on Efficient R Programming: https://csgillespie.github.io/efficientR/
There are a number of ways to read in a shapefile, but not all are the same!
lnd <- rgdal::readOGR(dsn = "data", layer = "london_sport")
lnd2 <- raster::shapefile("data/london_sport.shp")
lnd3 <- tmap::read_shape("data/london_sport.shp")
proj4string(lnd)
identical(lnd3, lnd2)lnd <- tmap::read_shape("data/london_sport.shp")## NOTE: rgdal::checkCRSArgs: no proj_defs.dat in PROJ.4 shared files
# str(lnd[1,])
slotNames(lnd)## [1] "data" "polygons" "plotOrder" "bbox" "proj4string"
class(lnd)## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
There is also:
coords <- coordinates(lnd)
plot(lnd[1:2,])
points(coords)Bonus point: What class is coords? > - How to make it Spatial?
We can see the individual vertices of a polygon
v <- lnd@polygons[[1]]@Polygons[[1]]@coords
plot(v)library(leaflet)
lnd84 <- readRDS('data/lnd84.Rds')
m <- leaflet() %>% addTiles() %>% addPolygons(data = lnd84)
htmlwidgets::saveWidget(m, file = "~/repos/robinlovelace.github.io/m.html")Makes it available here! http://robinlovelace.net/m.html