knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
The goal of {cartomisc} is to store a few useful functions for spatial data manipulation and analysis.
You can install the dev version on Github
# install.packages("remotes") remotes::install_github("statnmap/cartomisc")
library(dplyr) library(raster) library(cartomisc) library(ggplot2) library(sf)
gplot_data
To draw multiple raster on the same ggplot2, or to draw raster after other objects (points, polygons, lines)
geom_tile
# Read some data slogo <- stack(system.file("external/rlogo.grd", package = "raster")) slogo # Get partial raster data to plot in ggplot r.gg <- gplot_data(slogo) # Remove NA to reduce size of table r.gg.nona <- r.gg %>% filter(!is.na(value)) r.gg.nona
# Plot ggplot(r.gg.nona) + geom_tile(aes(x = x, y = y, fill = value)) + scale_fill_gradient("Probability", low = 'yellow', high = 'blue') + facet_wrap(vars(variable)) + coord_equal()
Calculate sun position for hillShade
sun_position <- sun_position(2019, 04, 26, hour = 12, min = 0, sec = 0, lat = 46.5, long = 6.5 ) sun_position
Use with hillShade
r <- raster(system.file("external/rlogo.grd", package = "raster")) # slope and aspect r_slope <- terrain(r, opt = "slope") r_aspect <- terrain(r, opt = "aspect") # hillshade r_hillshade <- hillShade(r_slope, r_aspect, angle = sun_position$elevation, direction = sun_position$azimuth) # plot image(r) image(r_hillshade, col = grey(seq(0, 1, 0.1), alpha = 0.5), add = TRUE)
# Define where to save the dataset extraWD <- tempdir() # Get some data available to anyone if (!file.exists(file.path(extraWD, "departement.zip"))) { githubURL <- "https://github.com/statnmap/blog_tips/raw/master/2018-07-14-introduction-to-mapping-with-sf-and-co/data/departement.zip" download.file(githubURL, file.path(extraWD, "departement.zip")) unzip(file.path(extraWD, "departement.zip"), exdir = extraWD) }
departements_l93 <- read_sf(dsn = extraWD, layer = "DEPARTEMENT") # Reduce dataset bretagne_l93 <- departements_l93 %>% filter(NOM_REG == "BRETAGNE")
regional_seas()
bretagne_regional_2km_l93 <- regional_seas( x = bretagne_l93, group = "NOM_DEPT", dist = units::set_units(30, km), # buffer distance density = units::set_units(0.5, 1/km) # density of points (the higher, the more precise the region attribution) )
ggplot() + geom_sf(data = bretagne_regional_2km_l93, aes(colour = NOM_DEPT, fill = NOM_DEPT), alpha = 0.25) + geom_sf(data = bretagne_l93, aes(fill = NOM_DEPT), colour = "grey20", alpha = 0.5) + scale_fill_viridis_d() + scale_color_viridis_d() + theme_bw()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.