## Spatial data

Lots of data in our field(s) are inherently spatial

R has lots of tools for interacting with and analyzing spatial data

## the `sp` package

The `sp` package is the workhorse of spatial mapping and analysis in R.

It defines spatial classes (e.g. `SpatialPoints`, `SpatialPointsDataFrame`) that make it possible to work with spatial data.

## actual spatial data versus coordinates

We often just have coordinate data, but this works differently in R from fully spatial data

```myCoords <- data.frame(long = runif(20, min=35, max=36), lat = runif(20, min = 3, max=5))
plot(myCoords)``` ## making spatial objects

You can use the `SpatialPoints()` function to make your coordinates into a fully spatial object

Warning: This function will assume that your columns are in the order: X coordinate, Y Coordinate

For a gold star: Which is the x and which is the y when we are dealing with latitude and longitude?

```library(sp)
spMyCoords <- SpatialPoints(coords = myCoords)```

Now there are a plethora of spatial things you can do with these points that you couldn't before

`bbox(spMyCoords)`
```##            min       max
## long 35.009496 35.923433
## lat   3.079992  4.984301```

## making spatial objects

`plot(spMyCoords, axes=TRUE)` ## maps

The `maps` package provides basic maps that can serve as a backdrop to your points

```library(maps)
world <- map(database = "world")``` ## maps

### This is not an accurate election map!

`USA <- map(database="state", fill=TRUE, col=c("red","blue"))` ## maps

`kenya <- map(database = "world", region="Kenya")` ## Challenge

Plot the `spCoords` points as solid blue filled circles on top of the Kenya map

```library("RgoogleMaps")