Spatial Data & Maps

Rasters: terra (rast(), crop(), extract()), stars.

Rasters: terra (rast(), crop(), extract()), stars. Data: rnaturalearth, tidycensus, osmdata (OpenStreetMap), elevatr. Spatial statistics: spdep, gstat (kriging), spatstat.

library(sf); library(ggplot2)

nc <- st_read(system.file("shape/nc.shp", package = "sf"))   # read shapefile/GeoPackage/GeoJSON
st_crs(nc)                                       # coordinate reference system
nc_proj <- st_transform(nc, 32119)               # reproject
nc$area_km2 <- as.numeric(st_area(nc)) / 1e6
st_centroid(nc); st_buffer(nc_proj, 1000); st_intersection(a, b); st_join(points, polygons)
st_distance(a, b); st_union(nc); st_simplify(nc_proj, dTolerance = 1000)

ggplot(nc) + geom_sf(aes(fill = BIR74)) + scale_fill_viridis_c() + theme_void()

# Points from coordinates
pts <- st_as_sf(data.frame(lon = c(10.75, 12.49), lat = c(59.91, 41.90)), coords = c("lon", "lat"), crs = 4326)

# Interactive maps
library(leaflet)
leaflet() |> addTiles() |> addMarkers(lng = 10.75, lat = 59.91, popup = "Oslo")
mapview::mapview(nc)
tmap::tm_shape(nc) + tmap::tm_polygons("BIR74")