From a8066a892dbbf4fd1bd3bec7692e86d1dd0e3f36 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Mon, 20 Apr 2020 14:34:59 -0400 Subject: [PATCH 01/42] Major package restructure. Removed everything except utils (moved some functions from the map_functions file over). Working on separate error checking file that is more robust --- DESCRIPTION | 2 +- NAMESPACE | 65 ++-- R/Map_Functions.R | 535 --------------------------- R/diag_header.R | 211 ----------- R/error_checking.R | 61 ++++ R/gcam_data_processing.R | 155 -------- R/gcammaptools.R | 120 ------ R/maps.R | 604 +++++++++++++++++++++++++++++++ R/utils.R | 128 +++++++ man/EXTENT_AFRICA.Rd | 15 - man/EXTENT_CHINA.Rd | 15 - man/EXTENT_LA.Rd | 15 - man/EXTENT_USA.Rd | 15 - man/EXTENT_WORLD.Rd | 15 - man/add_region_ID.Rd | 43 --- man/af_ortho.Rd | 16 - man/basin235.Rd | 14 - man/ch_aea.Rd | 17 - man/chn.Rd | 14 - man/choropleth.Rd | 74 ++++ man/custom_map.Rd | 60 +++ man/distributed_flow.Rd | 72 ++++ man/drop_regions.Rd | 19 - man/eck3.Rd | 15 - man/filter_spatial.Rd | 24 -- man/gcam14_colors.Rd | 17 - man/gcam32_colors.Rd | 15 - man/gcammaptools.Rd | 49 --- man/get.internal.Rd | 20 - man/import_mapdata.Rd | 2 +- man/join_gcam.Rd | 26 -- man/load_shp.Rd | 2 +- man/map.basin235.Rd | 18 - man/map.basin235.simple.Rd | 15 - man/map.chn.Rd | 15 - man/map.countries.Rd | 15 - man/map.rgn14.Rd | 16 - man/map.rgn14.simple.Rd | 15 - man/map.rgn32.Rd | 15 - man/map.rgn32.simple.Rd | 15 - man/map.usa.Rd | 15 - man/na_aea.Rd | 18 - man/plot_GCAM.Rd | 126 ------- man/plot_GCAM_grid.Rd | 47 --- man/process_data.Rd | 17 + man/process_raster.Rd | 28 ++ man/process_shape.Rd | 21 ++ man/rgn14.Rd | 14 - man/rgn32.Rd | 14 - man/robin.Rd | 15 - man/save_plot.Rd | 23 ++ man/simplify_mapdata.Rd | 2 +- man/theme_GCAM.Rd | 23 -- man/translate_province.Rd | 18 - man/usa.Rd | 14 - man/verify_csv.Rd | 21 ++ man/verify_data.Rd | 21 ++ man/verify_raster.Rd | 21 ++ man/verify_shape.Rd | 21 ++ man/wgs84.Rd | 15 - tests/testthat/test_create_map.R | 29 ++ vignettes/examples.Rmd | 170 --------- 62 files changed, 1246 insertions(+), 2026 deletions(-) delete mode 100644 R/Map_Functions.R delete mode 100644 R/diag_header.R create mode 100644 R/error_checking.R delete mode 100644 R/gcam_data_processing.R delete mode 100644 R/gcammaptools.R create mode 100644 R/maps.R delete mode 100644 man/EXTENT_AFRICA.Rd delete mode 100644 man/EXTENT_CHINA.Rd delete mode 100644 man/EXTENT_LA.Rd delete mode 100644 man/EXTENT_USA.Rd delete mode 100644 man/EXTENT_WORLD.Rd delete mode 100644 man/add_region_ID.Rd delete mode 100644 man/af_ortho.Rd delete mode 100644 man/basin235.Rd delete mode 100644 man/ch_aea.Rd delete mode 100644 man/chn.Rd create mode 100644 man/choropleth.Rd create mode 100644 man/custom_map.Rd create mode 100644 man/distributed_flow.Rd delete mode 100644 man/drop_regions.Rd delete mode 100644 man/eck3.Rd delete mode 100644 man/filter_spatial.Rd delete mode 100644 man/gcam14_colors.Rd delete mode 100644 man/gcam32_colors.Rd delete mode 100644 man/gcammaptools.Rd delete mode 100644 man/get.internal.Rd delete mode 100644 man/join_gcam.Rd delete mode 100644 man/map.basin235.Rd delete mode 100644 man/map.basin235.simple.Rd delete mode 100644 man/map.chn.Rd delete mode 100644 man/map.countries.Rd delete mode 100644 man/map.rgn14.Rd delete mode 100644 man/map.rgn14.simple.Rd delete mode 100644 man/map.rgn32.Rd delete mode 100644 man/map.rgn32.simple.Rd delete mode 100644 man/map.usa.Rd delete mode 100644 man/na_aea.Rd delete mode 100644 man/plot_GCAM.Rd delete mode 100644 man/plot_GCAM_grid.Rd create mode 100644 man/process_data.Rd create mode 100644 man/process_raster.Rd create mode 100644 man/process_shape.Rd delete mode 100644 man/rgn14.Rd delete mode 100644 man/rgn32.Rd delete mode 100644 man/robin.Rd create mode 100644 man/save_plot.Rd delete mode 100644 man/theme_GCAM.Rd delete mode 100644 man/translate_province.Rd delete mode 100644 man/usa.Rd create mode 100644 man/verify_csv.Rd create mode 100644 man/verify_data.Rd create mode 100644 man/verify_raster.Rd create mode 100644 man/verify_shape.Rd delete mode 100644 man/wgs84.Rd create mode 100644 tests/testthat/test_create_map.R delete mode 100644 vignettes/examples.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index 030aa2f..a742aa1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -24,7 +24,7 @@ Imports: RColorBrewer (>= 1.1.2), sf (>= 0.6.1), units (>= 0.4-6) -RoxygenNote: 6.0.1 +RoxygenNote: 6.1.1 Suggests: knitr, rmarkdown, rgcam, diff --git a/NAMESPACE b/NAMESPACE index bd3a2fc..73763ce 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,28 +1,45 @@ # Generated by roxygen2: do not edit by hand -export(EXTENT_AFRICA) -export(EXTENT_CHINA) -export(EXTENT_LA) -export(EXTENT_USA) -export(EXTENT_WORLD) -export(add_region_ID) -export(af_ortho) -export(basin235) -export(ch_aea) -export(chn) -export(eck3) -export(gcam14_colors) -export(gcam32_colors) +export(choropleth) +export(custom_map) +export(distributed_flow) export(import_mapdata) -export(na_aea) -export(plot_GCAM) -export(plot_GCAM_grid) -export(rgn14) -export(rgn32) -export(robin) +export(process_data) +export(process_raster) +export(process_shape) +export(save_plot) export(simplify_mapdata) -export(usa) -export(wgs84) -import(ggplot2) -importFrom(magrittr,"%>%") -importFrom(utils,read.csv) +export(verify_csv) +export(verify_data) +export(verify_raster) +export(verify_shape) +import(RColorBrewer) +importFrom(classInt,classIntervals) +importFrom(dplyr,left_join) +importFrom(dplyr,mutate) +importFrom(ggplot2,coord_sf) +importFrom(ggplot2,geom_raster) +importFrom(ggplot2,geom_sf) +importFrom(ggplot2,geom_sf_label) +importFrom(ggplot2,ggplot) +importFrom(ggplot2,ggsave) +importFrom(ggplot2,labs) +importFrom(ggplot2,scale_fill_distiller) +importFrom(ggplot2,scale_x_continuous) +importFrom(ggplot2,scale_x_discrete) +importFrom(ggplot2,scale_y_continuous) +importFrom(ggplot2,scale_y_discrete) +importFrom(ggplot2,theme) +importFrom(ggplot2,theme_minimal) +importFrom(ggspatial,df_spatial) +importFrom(ggspatial,layer_spatial) +importFrom(raster,as.data.frame) +importFrom(raster,compareCRS) +importFrom(raster,crs) +importFrom(raster,maxValue) +importFrom(raster,minValue) +importFrom(raster,nlayers) +importFrom(raster,raster) +importFrom(rgis,import_raster) +importFrom(sf,st_crs) +importFrom(sf,st_transform) diff --git a/R/Map_Functions.R b/R/Map_Functions.R deleted file mode 100644 index f3699f6..0000000 --- a/R/Map_Functions.R +++ /dev/null @@ -1,535 +0,0 @@ -# map_functions.R -# -# The main file containing functions for producing maps of spatial GCAM data. - - -# Loading Data ------------------------------------------------------------ - -#' Import ESRI Shapefile or GeoJSON as sf object. -#' -#' Creates a Simple Feature (sf) object from full path string to ESRI Shapefile -#' or GeoJSON file. User defines which field is supposed to represent the ID for -#' the data. -#' -#' @param file_pth Full path to shapefile with extention (.shp). Shapefiles must -#' contain at least .shp, .shx, and .dbf file to function properly. -load_shp <- function(file_pth) { - return(sf::st_read(file_pth, quiet = TRUE)) -} - -#' Single import function for compatible data types. -#' -#' Imports available for sf objects, spatial data frames, ESRI Shapefiles, or -#' GeoJSON files. -#' -#' @param obj Input full path string or object. -#' @param fld Field name to use as identifier. -#' @param prj4s Proj4 string for projection (default WGS84). -#' @return An sf object representation of the map data. -#' @export -import_mapdata <- function(obj, fld = NULL, prj4s = wgs84) { - - # get object class - cls <- class(obj) - - # check for sf data frame object - if (cls[1] == "sf") { - return(obj) - } - - # check for file path - else if (is.character(obj)) { - - # get file extension - extn <- tolower(c(tools::file_ext(obj))) - - # if ESRI Shapefile or GeoJSON file - if (extn %in% list('shp', 'geojson')) { - - # load Shapefile - return(load_shp(file_pth = obj)) - } - # catch unknown - else { - return(NULL) - } - } - # check for spatial data frames - else if (cls %in% list("SpatialPolygonsDataFrame", "SpatialPointsDataFrame", - "SpatialLinesDataFrame")) { - - return(sf::st_as_sf(obj)) - } - else { - return(NULL) # catch_error: object type not understood. - } -} - - -# Map Data Transformations ------------------------------------------------ - -#' Get features topologically associated with extent bounds. -#' -#' Conducts a spatial join to retrieve spatial features that are topologically associated -#' (intersects, contains, within, etc.) with the provided bounds. -#' -#' @param mapdata The sf object containing the spatial data. -#' @param bbox Bounding box. -#' @param agr_type Inherited attribute-geometry-relationship type from plot_GCAM -#' function params. -#' @param topo SF topologic function to define how the join will be conducted. -#' Default is to join any feature that intersects the bounding box. -filter_spatial <- function(mapdata, bbox, agr_type='constant', topo=sf::st_intersects) { - # set attribute-geometry-relationship for input mapdata column and bounding - # box feature attribute - sf::st_agr(mapdata) <- agr_type - sf::st_agr(bbox) <- agr_type - - # Message for st_join and st_intersection suppressed: - # "although coordinates are longitude/latitude, it is assumed that they - # are planar." - # This comes from the input projection being a geographic coordinate system - # and not a projected one when conducting topological operations such as - # st_intersects used in the st_join. If 'longlat' appears in the proj string - # ("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") then this message will - # present itself due to the operation being intersect according to the source - # code. There is no option to quiet this. We are getting the expected return - # from the operation due to harmonizing the map and bounding box projection - # pre-join. - mapdata <- suppressMessages({sf::st_intersection(mapdata, bbox)}) - return(suppressMessages({sf::st_join(mapdata, bbox, join = topo, left = FALSE)})) -} - -#' Join GCAM data with spatial data. -#' -#' Joins GCAM data from rgam query and inner joins it to spatial data provided by the user. -#' Note: due to conducting an inner join, only the keys that are present in both datasets -#' will be represented. -#' -#' @param mapdata The sf object containing the spatial data and a tuple identifier that -#' can be referenced in the gcam_df data frame. -#' @param mapdata_key Name of the field having a tuple identifier that can be referenced -#' in the gcam_df data frame. -#' @param gcam_df The GCAM data frame provided from the user. This is usually generated from -#' an \code{rgcam} query. -#' @param gcam_key Name of field having a tuple identifier that can be referenced in the -#' mapdata data frame. -join_gcam <- function(mapdata, mapdata_key, gcam_df, gcam_key) { - - if (is.null(gcam_df)) { - return(mapdata) - } - - # Make sure join keys are valid - if (is.null(mapdata_key) || !(mapdata_key %in% names(mapdata))) { - stop("You must provide a valid key for joining the spatial data") - } - if (is.null(gcam_key) || !(gcam_key %in% names(gcam_df))) { - stop("You must provide a valid key for joining the GCAM data") - } - - # add pkey fields for join - mapdata['pkey'] <- mapdata[[mapdata_key]] - gcam_df['pkey'] <- gcam_df[gcam_key] - - # Join the map data and gcam data using the keys provided - # Note that using dplyr::left_join() here can cause the result to no - # longer be an sf object as documented here: https://github.com/r-spatial/sf/issues/343 ; - # to remedy until dplyr creates an sf join function cast back to sf obj - mapdata <- dplyr::left_join(mapdata, gcam_df, by='pkey') %>% - dplyr::select(-pkey) %>% - sf::st_as_sf() - - return(mapdata) -} - - - -#' Reduce number of polygons and size of polygons for map Shapefiles -#' -#' Takes a sf object representation of a map and simplifys it by removing -#' polygons that are under a certain size. -#' -#' ** NOTE: This function adds two polygons to the edges of the map to prevent -#' the removal of polygons near the edges redefining the map bounds. -#' -#' @param mapdata sf object containing polygons or multipolygons to simplify. -#' @param min_area Minimum area of polygons to keep. -#' @param degree_tolerance Tolerance parameter for simplifying polygons. -#' @return The simplified sf object. -#' @export -simplify_mapdata <- function(mapdata, min_area = 2.5, degree_tolerance = 0.1) { - - . <- NULL # silence package notes for NSE. - - if ("MULTIPOLYGON" %in% sf::st_geometry_type(mapdata)) - mapdata <- sf::st_cast(mapdata, "POLYGON", warn = FALSE) - - # filter out all polygons in the data under the minimum area - areafilter <- sapply(sf::st_geometry(mapdata), sf::st_area) > min_area - filtermap <- mapdata[which(areafilter), ] - - filtermap <- suppressWarnings({sf::st_simplify(filtermap, preserveTopology=TRUE, dTolerance=degree_tolerance)}) - - # if nothing was filtered just return original map - if (utils::object.size(filtermap) == utils::object.size(mapdata)) - return(mapdata) - - # When removing polygons we might be shifting the bounds of the map, which - # would make it off-center when plotting. To account for this, we put tiny - # polygons on the edges. - xmin <- sf::st_bbox(mapdata)[1] %>% round - xmax <- sf::st_bbox(mapdata)[3] %>% round - height <- 0.0001 # small enough so it's not visible on plot - - left_edge <- matrix(c(xmin, 0, xmin, height, xmin - height, 0, xmin, 0), - byrow = TRUE, ncol = 2) %>% - list() %>% - sf::st_polygon() - - right_edge <- matrix(c(xmax, 0, xmax, height, xmax + height, 0, xmax, 0), - byrow = TRUE, ncol = 2) %>% - list() %>% - sf::st_polygon() - - # create geometry with the two edges - edges <- sf::st_sfc(left_edge, right_edge, crs = sf::st_crs(mapdata)) - - # data frame with same names as original map, so that the two can combine - borders <- data.frame(matrix(ncol = length(names(mapdata)), nrow = 2)) %>% - magrittr::set_names(names(mapdata)) - - # extra polygons should be GCAM region 0 - if ('region_id' %in% names(borders)) borders$region_id <- c(0, 0) - - # convert to sf object and add new border polygons - sf::st_geometry(borders) <- edges - - # add new polygons to filtered map and return - return(rbind(borders, filtermap)) -} - - -# Map Creation ------------------------------------------------------------ - -#' Primary GCAM mapping function. Can handle categorical or continuous data. -#' -#' This function produces a map visualization of a data set containing GCAM -#' output data. The required argument is a data frame of GCAM results by -#' region. The function \code{\link[rgcam]{getQuery}} produces suitable data -#' frames. -#' -#' We don't try to take the color mapping, legend title, etc. as arguments to -#' this function. The ggplot2 way of specifying this information is way more -#' flexible. To customize your color mapping, use one of \itemize{ \item -#' \code{\link[ggplot2]{scale_fill_manual}} : A list of colors to map to -#' categorical data. \item \code{\link[ggplot2]{scale_fill_gradient}} : A -#' gradient from one color to another. \item -#' \code{\link[ggplot2]{scale_fill_gradient2}} : A diverging gradient from one -#' color to another, passing through white in the middle. You can set the data -#' value that gets assigned to white with the \code{midpoint} argument. \item -#' \code{\link[ggplot2]{scale_fill_gradientn}} : A smooth gradient between an -#' arbitrary selection of colors. } If you choose to display a legend for the -#' color mapping, you will have to give it a title using the \code{title} -#' argument to any of the above gradient functions. You have to do this even if -#' you want a legend with no title at all. Use an empty string in that case. -#' -#' For specifying the projection you can use any Proj4 string. For convenience, -#' this package defines the following proj4 strings: \itemize{ \item -#' \code{\link{wgs84}} - WGS84 (EPSG:4326) \item \code{\link{eck3}} - Eckert III -#' \item \code{\link{robin}} - Robinson \item \code{\link{na_aea}} - Albers -#' equal area (North America) \item \code{\link{ch_aea}} - Albers equal area -#' (China) \item \code{\link{af_ortho}} - Orthographic projection over Africa } -#' -#' -#' The \code{extent} argument gives the bounding box of the area to be plotted. -#' Its format is \code{c(lon.min, lon.max, lat.min, lat.max)}. For convenience -#' we have defined the following frequently used map extents: \itemize{ \item -#' \code{\link{EXTENT_WORLD}} - Entire world \item \code{\link{EXTENT_USA}} - -#' Continental United States \item \code{\link{EXTENT_CHINA}} - China \item -#' \code{\link{EXTENT_AFRICA}} - Africa \item \code{\link{EXTENT_LA}} - Latin -#' America } -#' -#' @param mapdata The data frame containing both geometric data (simple features -#' collection and id) and regional metadata. This is the only mandatory -#' variable. If used alone, will produce the default map. -#' @param col If plotting categorical/continuous data, the name of the column to -#' plot. Will automatically determine type of style of plot based on type of -#' data (numeric or character). -#' @param proj Map projection to use in the display map. This should be a proj4 -#' string, except for a few special cases. There are also symbols defined for -#' some frequently used projections (e.g. \code{\link{robin}} or -#' \code{\link{na_aea}}). -#' @param proj_type Either esri, epsg, or sr-org as string. These correspond to -#' available reference types hosted by \url{http://spatialreference.org/}. -#' @param extent Numeric bounds [xmin, xmax, ymin, ymax] to zoom display to. -#' @param title Text to be displayed as the plot title. -#' @param legend Boolean flag: True = display map legend; False = do not display -#' legend. -#' @param gcam_df A data frame generated from the \code{rgcam} function -#' \code{\link[rgcam]{getQuery}}. Also accepts other data frames that contain -#' data that can be linked to the map geometry data using a unique identifier. -#' @param gcam_key The field name containing a join identifier in the gcam_df -#' data frame. -#' @param mapdata_key The field name containing a join identifier in the -#' mapdata. -#' @param zoom A distance to buffer the bounding box extent by for on-the-fly -#' adjustments needed when fitting area to maps. -#' @param graticules Where to position any graticules. One of 'top', 'bottom', -#' or '' (empty string). Note that 'bottom' places them under the map -#' background and will not be visible without a setting the -#' \code{background_color} parameter to NA or transparent. -#' @param agr_type Aggregate-geometry-relationship type. Either 'constant' -#' (default), 'aggregate', or 'identity' classified as follows: [constant] a -#' variable that has a constant value at every location over a spatial extent; -#' examples: soil type, climate zone, land use. [aggregate] values are summary -#' values (aggregates) over the geometry, e.g. population density, dominant -#' land use. [identity] values identify the geometry: they refer to (the -#' whole of) this and only this geometry. See the -#' \href{https://cran.r-project.org/web/packages/sf/vignettes/sf1.html#how-attributes-relate-to-geometries}{sf -#' vignette} for further explanation. -#' @param background_color Color for the areas with no regions (the oceans) -#' @param padding Boolean flag: Add space between map edge and plot edge? -#' @examples \dontrun{ -#' -#' ## Plot a map of GCAM regions; color it with the default theme palette. -#' plot_GCAM(map.rgn32.simple, col = 'region_name', proj = eck3) + -#' ggplot2::scale_fill_manual(values = gcam32_colors, na.value=gray(0.75)) -#' -#' ## Plot refined liquids production by region for the year 2050 -#' prj <- loadProject(system.file('sample-gcam-data', -#' 'gcam-longform-sample.dat', -#' package='gcammaptools')) -#' ref_liquids <- rgcam::getQuery(prj, 'Refined liquids production by region', 'Reference') -#' ref_liquids <- add_region_ID(ref_liquids, lookupfile=rgn32, drops=rgn32) -#' ref_liquids <- dplyr::filter(ref_liquids, year==2050) -#' plot_GCAM(map.rgn32.simple, col='value', proj=robin, title="Robinson World", -#' legend=T, gcam_df=co2, gcam_key='id', mapdata_key="region_id") + -#' ggplot2::scale_fill_gradientn(colors = c("white", "red"), -#' na.value = gray(0.75), -#' name="CO2 Emissions (MTC)") -#' } -#' @export -plot_GCAM <- function(mapdata, col = NULL, proj = robin, proj_type = NULL, - extent = EXTENT_WORLD, title = "", legend = F, - gcam_df = NULL, gcam_key = "id", mapdata_key = "region_id", - zoom = 0, graticules = "bottom", agr_type = 'constant', - background_color = MAP_BACKGROUND, - padding = all(extent == EXTENT_WORLD)) { - - # get proj4 string that corresponds to user selection - p4s <- assign_prj4s(proj_type, proj) - - # ensure that the map is an sf object - map <- import_mapdata(mapdata) - - # eliminate erroneous-filled polygons generated at the global extent - wborder <- spat_bb(EXTENT_WORLD, 0, sf::st_crs(map)) - sf::st_agr(wborder) <- agr_type - sf::st_agr(map) <- agr_type - map <- suppressMessages({sf::st_intersection(map, wborder)}) - - # create sf obj bounding box from extent; this box defines the final view of - # the map so it needs to be a rectangle (except for the global extent, where - # the map edge may be rounded). - bounds <- spat_bb(b_ext = extent, buff_dist = zoom, proj4s = p4s) - if (!all(extent == EXTENT_WORLD)) { - sf::st_geometry(bounds)[[1]] <- pgon_from_extent(sf::st_bbox(bounds)) - } - - # reproject map into user-specified crs, filter to extent, then join user data - map <- sf::st_transform(map, p4s) - map <- remove_invalid(map) - tryCatch( - map <- filter_spatial(map, bounds, agr_type), - error = function(e) stop("Reprojection produced invalid map.") - ) - map <- join_gcam(map, mapdata_key, gcam_df, gcam_key) - - # datum = wgs84 means that graticules are drawn based on first layer's crs - dtm <- if (graticules == "top" | graticules == "bottom") wgs84 else NA - - # Because graticules are drawn as ggplot gridlines, we cannot have them both - # on top of map and still have a solid panel background. We can get around - # this problem by making our own background. By default, coord_sf(expand = T) - # multiplies the panel's x and y ranges by 0.05, which we'll do here manually. - panel_background <- NULL - if (padding & graticules == "top") { - padding <- FALSE - panel <- sf::st_bbox(bounds) - panel[c(1,3,2,4)] <- c(scales::expand_range(c(panel[1], panel[3]), 0.05), - scales::expand_range(c(panel[2], panel[4]), 0.05)) - panel <- panel %>% sf::st_as_sfc() %>% sf::st_sf() - panel_background <- ggplot2::geom_sf(data = panel, fill = PANEL_FILL) - } - - # set different aesthetics depending on whether there is region-specific data - if (is.null(col)) - regions <- ggplot2::geom_sf(data = map, fill = FILL_COLOR, - color = BORDER_LIGHT) - else - regions <- ggplot2::geom_sf(data = map, aes_string(fill = col), alpha = 1, - color = BORDER_DARK) - - # generate plot object - mp <- ggplot() + - panel_background + - ggplot2::geom_sf(data = bounds, fill = background_color) + - regions + - ggplot2::coord_sf(expand = padding, datum = dtm) + - ggplot2::ggtitle(title) + - theme_GCAM(legend = legend, overlay_graticules = graticules == "top") - - return(mp) -} - -#' Plot a gridded dataset over a base map -#' -#' This function produces a map visualization of a gridded (i.e., values -#' specified by latitude and longitude) data set. The data will be plotted over -#' the base map supplied -#' -#' The plot data should be in the form of a table of latitude (lat), longitude -#' (lon), and data values. The name of the data column is given as an argument -#' to the function, so you can have, for example, latitude and longitude columns -#' followed by columns for time slices. Columns besides the coordinate and data -#' columns will be ignored. -#' -#' @param plotdata Data frame with the coordinates and values to be plotted. -#' Must contain 'lat' and 'lon' columns. -#' @param col Name of the column holding the data values to plot -#' @param map Base map data. Default is GCAM 32-region -#' @param alpha Transparency of the grid data layer. Given as a number between -#' 0 and 1, where 0 is completely transparent and 1 is completely opaque. -#' @param ... Other parameters passed on to \code{plot_GCAM}. -#' @inheritParams plot_GCAM -#' @export -plot_GCAM_grid <- function(plotdata, col, map = map.rgn32, proj = robin, - proj_type = NULL, extent = EXTENT_WORLD, zoom = 0, - alpha = 0.8, ...) { - - map.rgn32 <- gcammaptools::map.rgn32 # Silence package notes - - # make sure data has valid gridded data - if (!('lon' %in% names(plotdata) && 'lat' %in% names(plotdata))) - stop("gridded data must have a 'lon' column and a 'lat' column") - - # get plot bounds - p4s <- assign_prj4s(proj_type, proj) - bounds <- sf::st_bbox(spat_bb(extent, zoom, proj4s = p4s))[c(1,3,2,4)] - - # are we in a projected crs? - if (!sf::st_is_longlat(proj)) { - # get raster extent - e <- raster::extent(c(range(plotdata$lon), range(plotdata$lat))) - - # set the number of rows and columns in the raster equal to the number - # of unique latitudes and longitudes in the original data - nr <- plotdata['lat'] %>% unique() %>% nrow - nc <- plotdata['lon'] %>% unique() %>% nrow - - # build a raster that fits the data - plotraster <- raster::raster(nrows = nr, ncols = nc, ext = e, crs = wgs84) - - points <- plotdata[ , c('lon', 'lat')] - values <- plotdata[[col]] - - # 1. Add data values to raster cells - # 2. Reproject the raster into the user-defined crs - # 3. Crop out any cells not within the map extent - # 4. Turn the raster back into points in the new crs - # 5. Convert back to a data.frame with the correct names so that - # geom_raster can plot it - plotdata <- raster::rasterize(points, plotraster, field = values, fun = mean) %>% - raster::projectRaster(crs=p4s, over=TRUE) %>% - raster::crop(bounds) %>% - raster::rasterToPoints() %>% - data.frame() %>% - magrittr::set_names(c("lon", "lat", col)) - } - else { - plotdata <- dplyr::filter(plotdata, bounds[1] <= lon, lon <= bounds[2], - bounds[3] <= lat, lat <= bounds[4]) - } - - # get the base map using plot_GCAM - mp <- plot_GCAM(map, proj = proj, proj_type = proj_type, extent = extent, zoom = zoom, ...) - - # add the gridded data to the base map - grid <- geom_raster(data = plotdata, - mapping = aes_string(x='lon', y='lat', fill = col), - alpha = alpha) - - # remove x and y axis labels and give scale a title - lbls <- labs(x = XLAB, y = YLAB, fill=col) - return(mp + grid + lbls) -} - - -#' Default GCAM theme function -#' -#' An add-on function to any ggplot2 object. Derives from ggplot2 black and -#' white theme function (theme_bw). -#' -#' @param base_size Base font size -#' @param base_family Base font type -#' @param legend Boolean; whether to include a legend with default legend -#' formatting. -#' @param overlay_graticules Boolean; whether to place grid lines on top of plot -theme_GCAM <- function(base_size = 11, base_family = "", legend = FALSE, - overlay_graticules = FALSE) { - - tm <- theme_bw(base_size = base_size, base_family = base_family) %+replace% - theme(panel.border = element_rect(color = LINE_COLOR, fill = NA), - panel.background = element_rect(fill = PANEL_FILL), - panel.grid.major = PANEL_GRID, - axis.ticks = AXIS_TICKS, - axis.text = AXIS_TEXT, - legend.position = "none") - - if (legend) { - tm <- tm + - theme(legend.key.size = unit(0.75, "cm"), - legend.text = element_text(size = 12), - legend.title = element_text(size = 13, face = "bold"), - legend.position = LEGEND_POSITION, - legend.key = element_rect(color = "black")) - } - - if (overlay_graticules) { - tm <- tm + theme(panel.background = element_blank(), panel.ontop = T) - } - - return(tm) -} - - -#' Designator for the rgn14 map set -#' -#' This symbol will select the rgn14 map set -#' @export -rgn14 <- quote(rgn14) - -#' Designator for the rgn32 map set -#' -#' This symbol will select the rgn32 map set -#' @export -rgn32 <- quote(rgn32) - -#' Designator for the basin235 map set -#' -#' This symbol will select the basin235 map set -#' @export -basin235 <- quote(basin235) - -#' Designator for the chn map set -#' -#' This symbol will select the chn map set -#' @export -chn <- quote(chn) - -#' Designator for the usa map set -#' -#' This symbol will select the usa map set -#' @export -usa <- quote(usa) diff --git a/R/diag_header.R b/R/diag_header.R deleted file mode 100644 index b5eaaaa..0000000 --- a/R/diag_header.R +++ /dev/null @@ -1,211 +0,0 @@ -# LEGAL NOTICE -# This computer software was prepared by Battelle Memorial Institute, -# hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 -# with the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE -# CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY -# LIABILITY FOR THE USE OF THIS SOFTWARE. This notice including this -# sentence must appear on any copies of this computer software. -# -# EXPORT CONTROL -# User agrees that the Software will not be shipped, transferred or -# exported into any country or used in any manner prohibited by the -# United States Export Administration Act or any other applicable -# export laws, restrictions or regulations (collectively the "Export Laws"). -# Export of the Software may require some form of license or other -# authority from the U.S. Government, and failure to obtain such -# export control license may result in criminal liability under -# U.S. laws. In addition, if the Software is identified as export controlled -# items under the Export Laws, User represents and warrants that User -# is not a citizen, or otherwise located within, an embargoed nation -# (including without limitation Iran, Syria, Sudan, Cuba, and North Korea) -# and that User is not otherwise prohibited -# under the Export Laws from receiving the Software. -# -# Copyright 2011 Battelle Memorial Institute. All Rights Reserved. -# Distributed as open-source under the terms of the Educational Community -# License version 2.0 (ECL 2.0). http://www.opensource.org/licenses/ecl2.php -# -# For further details, see: http://www.globalchange.umd.edu/models/gcam/ -# - -# diag_header.R -# -# An automated graphing system to generate both standard and user-defined maps -# of GCAM data. -# -# Ben Bond-Lamberty, November 2012 -# Last Modified: February, 2018 - -# ----------------------------------------------------------------------------- -# Default Projections (as PROJ4 strings) - -### Predefined PROJ4 projection strings -#' Proj4 string for default WGS84 (EPSG:4326) coordinate reference system -#' -#' String for specifying the default WGS84 projection in mapping functions -#' Its value is \code{'+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'} -#' @export -wgs84 <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" -#' Proj4 string for the Eckert III World projection -#' -#' String for specifying the Eckert III projection in mapping functions. -#' Its value is \code{'+proj=eck3'} -#' @export -eck3 <- "+proj=eck3" -#' Proj4 string for the Robinson World projection -#' -#' String for specifying the Robinson projection in mapping functions. -#' Its value is \code{'+proj=robin'} -#' @export -robin <- "+proj=robin" -#' Proj4 string for the Albers equal area projection over North America. -#' -#' String for specifying the Albers equal area projection over North -#' America in mapping functions. This is a conic projection situatied -#' over the continental United States. Its value is \code{'+proj=aea -#' +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 -#' +datum=NAD83'} -#' @export -na_aea <- "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83" -#' Proj4 string for the Albers equal area projection over China -#' -#' String for specifying the Albers equal area projection over China -#' in mapping functions. This is a conic projection situatied over -#' China. Its value is \code{'+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 -#' +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84'} -#' @export -ch_aea <- "+proj=aea +lat_1=27 +lat_2=45 +x_0=0 +y_0=0 +lat_0=35 +lon_0=105 +ellps=WGS84 +datum=WGS84" -#' Proj4 string for orthographic projection over Africa -#' -#' String for specifying the orthographic projection over Africa. You can pass -#' this value to the \code{proj} argument of \code{\link{plot_GCAM}} to get the -#' best result. -#' @export -af_ortho <- "+proj=ortho +lat_0=10 +lon_0=19 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs" - - -# ----------------------------------------------------------------------------- -# EXTENT -# (lon0,lon1,lat0,lat1) - -#' Extent vector for the entire world -#' -#' This vector can be used as the \code{extent} argument to -#' \code{\link{plot_GCAM}}. -#' @export -EXTENT_WORLD <- c(-180,180,-90,90) -#' Extent vector for the continental United States -#' -#' This vector can be used as the \code{extent} argument to -#' \code{\link{plot_GCAM}}. -#' @export -EXTENT_USA <- c(-120,-71,20,55) -#' Extent vector for China -#' -#' This vector can be used as the \code{extent} argument to -#' \code{\link{plot_GCAM}}. -#' @export -EXTENT_CHINA <- c(77,130,15,53) -#' Extent vector for Africa -#' -#' This vector can be used as the \code{extent} argument to -#' \code{\link{plot_GCAM}}. -#' @export -EXTENT_AFRICA <- c(-20,60,-40,40) -#' Extent vector for Latin America -#' -#' This vector can be used as the \code{extent} argument to -#' \code{\link{plot_GCAM}}. -#' @export -EXTENT_LA <- c(-118,-33,-56,37) - - -# ----------------------------------------------------------------------------- -# AESTHETICS - -# Default Colors -LINE_COLOR <- "#444444" -FILL_COLOR <- "#222222" -BORDER_LIGHT <- alpha("#aaaaaa", 0.5) -BORDER_DARK <- alpha("#000000", 0.5) -MAP_BACKGROUND <- "#ddefff" - -# Background -PANEL_FILL <- "#eeeeee" -PANEL_GRID <- ggplot2::element_line(colour = "black") -AXIS_TICKS <- ggplot2::element_blank() -AXIS_TEXT <- ggplot2::element_blank() -XLAB <- "" -YLAB <- "" - - -# Legend -LEGEND_POSITION = "bottom" - -#' Color palette for 14-region GCAM -#' -#' This palette should be used for plots by region (whether maps, line plots, or -#' other types) to ensure consistency across plots and publications. XXX: -#' Perhaps this sort of thing should go in a separate GCAM style package, since -#' it isn't really specific to mapping? -#' @export -gcam14_colors<- c("Africa" = "navajowhite3", - "Australia_NZ" = "lightpink", - "India" = "lightslateblue", - "USA" = "sandybrown", - "Japan" = "rosybrown1", - "Korea" = "brown", - "Eastern Europe" = "orange" , - "Western Europe" = "greenyellow", - "Canada" = "saddlebrown", - "China" = "lightblue", - "Southeast Asia" = "gold", - "Latin America" = "seagreen2", - "Middle East" = "indianred", - "Former Soviet Union" = "plum2") - - -rgb255 <- function(r, g, b) {grDevices::rgb(r,g,b, maxColorValue=255)} -#' Color palette for 32-region GCAM -#' -#' This palette should be used for plots by region (whether maps, line plots, or -#' other types) to ensure consistency across plots and publications. -#' @export -gcam32_colors <- c( - 'Africa_Northern' = rgb255(139,69,19), - 'Africa_Eastern' = rgb255(139,115,88), - 'Africa_Southern' = rgb255(255,211,155), - 'Africa_Western' = rgb255(255,185,15), - 'South Africa' = rgb255(255,215,0), - - 'Canada' = rgb255(224,238,224), - 'USA' = rgb255(77,77,77), - - 'Argentina' = rgb255(0,100,0), - 'Brazil' = rgb255(154,205,50), - 'Central America and Caribbean' = rgb255(46,139,87), - 'Colombia' = rgb255(102,205,170), - 'Mexico' = rgb255(50,205,50), - 'South America_Southern' = rgb255(72,209,204), - 'South America_Northern' = rgb255(0,255,0), - - 'EU-12' = rgb255(25,25,112), - 'EU-15' = rgb255(131,111,255), - 'Europe_Eastern' = rgb255(173,216,230), - 'Europe_Non_EU' = rgb255(0,104,139), - 'European Free Trade Association' = rgb255(58,95,205), - - 'Russia' = rgb255(104,34,139), - 'China' = rgb255(255,0,0), - 'Middle East' = rgb255(188,143,143), - 'Australia_NZ' = rgb255(255,193,193), - 'Central Asia' = rgb255(139,0,0), - 'India' = rgb255(208,32,144), - 'Indonesia' = rgb255(139, 28, 98), - 'Japan' = hsv(0.01, 0.75, 0.65), - 'Pakistan' = rgb255(205, 181, 205), - 'South Asia' = rgb255(139, 123, 139), - 'South Korea' = rgb255(205, 92, 92), - 'Southeast Asia' = rgb255(240, 128, 128), - 'Taiwan' = rgb255(150, 150, 150) -) diff --git a/R/error_checking.R b/R/error_checking.R new file mode 100644 index 0000000..a33f6ab --- /dev/null +++ b/R/error_checking.R @@ -0,0 +1,61 @@ + +#' Verify shape data +#' +#' This function runs a check on shape inputs and looks for errors +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +verify_shape <- function(shape_data, simplify, shape_label_field) +{ + + +} + + + +#' Verify shape data +#' +#' This function runs a check on shape inputs and looks for errors +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +verify_raster <- function(shape_data, simplify, shape_label_field) +{ + + +} + + +#' Verify shape data +#' +#' This function runs a check on shape inputs and looks for errors +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +verify_data <- function(shape_data, simplify, shape_label_field) +{ + + +} + + +#' Verify shape data +#' +#' This function runs a check on shape inputs and looks for errors +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +verify_csv <- function(shape_data, simplify, shape_label_field) +{ + + +} + diff --git a/R/gcam_data_processing.R b/R/gcam_data_processing.R deleted file mode 100644 index d33e4fe..0000000 --- a/R/gcam_data_processing.R +++ /dev/null @@ -1,155 +0,0 @@ -# gcam_data_processing.R -# -# Contains function for transforming GCAM data into a format for easy mapping. - -### TODO - modify to search for appropriate lookup, province, drop files in directory. -#' Match GCAM ID to region using data from a lookup table. -#' -#' We match by ID number to avoid problems with variant spellings and the like. -#' With the optional arguments you can also omit regions for which you don't -#' want to plot the data for some reason, and you can translate the -#' abbreviations used in subregion output. -#' -#' The \code{provincefile} and \code{drops} arguments are a little clunky. They -#' are optional, but if you are using one of the built-in map sets, then you -#' \emph{must not} specify them if they don't exist for the map set you are -#' using. Currently, \code{rgn14} and \code{basin235} have neither drops nor -#' province abbreviations. The \code{rgn32} set has drops, but not province -#' abbreviations. Only the \code{chn} set has both. -#' @param datatable A table of results produced by \code{\link[rgcam]{getQuery}} -#' @param lookupfile Name of one of the predefined map sets, OR, if you're using -#' a custom map set, the file containing the region lookup table -#' @param provincefile Name of one of the predefined map sets, OR, if you're -#' using a custom map set, file containing the province lookup table, if -#' applicable. -#' @param drops Name of one of the predefined map sets, OR, if you're using -#' a custom map set, the file containing a list of regions to drop, if -#' applicable. -#' @param disaggregate A column (or vector of columns) of \code{datatable} used -#' to disaggregate regions that are not specified in the original data. -#' @return Input table modified to include a GCAM ID for reach region. -#' @importFrom utils read.csv -#' @export -add_region_ID <- function(datatable, lookupfile = rgn32, provincefile = NULL, drops = NULL, disaggregate = NULL) { - - . <- NULL # silence package notes for NSE - naReg <- "#N/A" - - # Make sure there is a region column in the data. "Region" is okay, but will - # be replaced with "region". - names(datatable)[names(datatable) == "Region"] <- "region" - if (!"region" %in% names(datatable)) { - stop("Data must contain a 'region' column") - } - - if ("id" %in% names(datatable)) { - message("id column is already present and will not be modified") - return(datatable) - } - - if (!is.null(provincefile)) { - datatable <- translate_province(datatable, provincefile) - } - - if (!is.null(drops)) { - datatable <- drop_regions(datatable, drops) - } - - lookuptable <- if (is.symbol(lookupfile)) { - get.internal(lookupfile, "lut") - } else { - read.csv(lookupfile, strip.white = T, stringsAsFactors = F) - } - - # Add row to end of the lookup table to account for GCAM region 0 - if (!any(lookuptable$region == naReg)) { - lookuptable <- rbind(lookuptable, c(naReg, 0)) - } - - # If the user specifies columns to disaggregate, each unique combination of - # those columns needs to be disaggregated to contain every region. - # Grouping and then using dplyr's do() function joins the lookuptable to - # each group, with NA values in all columns except for region and region id - # (and the disaggregation columns filled in after). - if (!is.null(disaggregate)) { - finaltable <- datatable %>% - dplyr::group_by_at(dplyr::vars(disaggregate)) %>% - dplyr::do({ - grp <- dplyr::full_join(., lookuptable, by = "region") - grp[ , disaggregate] <- grp[1, disaggregate] - grp - }) - } else { - finaltable <- dplyr::full_join(datatable, lookuptable, by = "region") - if (any(duplicated(finaltable$region))) { - warning("Data contains multiple values for the same region") - } - } - - # Set column name and type for id column - names(finaltable)[ncol(finaltable)] <- "id" - finaltable$id <- as.numeric(finaltable$id) - - return(finaltable) -} - -#' Replace subregion abbreviations with full subregion names -#' -#' Subregions are given two-letter abbreviations in GCAM output. This function -#' uses a lookup table to restore the full names. -#' -#' @param datatable The table with the abbreviated names in it. -#' @param provincefile Name of a defined mapset OR name of a file containing the -#' lookup table. -#' @importFrom utils read.csv -translate_province <- function(datatable, provincefile) { - - if (is.symbol(provincefile)) { - provincetable <- get.internal(provincefile, "prov") - } - else { - provincetable <- read.csv(provincefile, strip.white = T, stringsAsFactors = T) - } - - datatable <- datatable %>% - dplyr::left_join(provincetable, by = c("region" = "province")) %>% - dplyr::mutate(region = dplyr::if_else(is.na(province.name), region, province.name)) %>% - dplyr::select(-province.name) - - return(datatable) -} - -#' Drop regions listed in drops file from data frame. -#' -#' @param datatable A data frame containing the output of a GCAM query. -#' @param drops String; path to file containing regions to be dropped -#' @return An updated data frame with regions dropped. -drop_regions <- function(datatable, drops) { - - if (is.symbol(drops)) { - dr <- get.internal(drops, "drop") - } - else { - dr <- read.csv(drops, strip.white = T, stringsAsFactors = F) - } - - datatable <- dplyr::filter(datatable, !region %in% dr[[1]]) - - return(datatable) -} - - -#' Get auxiliary data for a named mapset. -#' -#' We have several standard map sets. Each of them has several auxiliary tables -#' associated with it. This function retrieves the auxiliary table associated -#' with the requested. Right now this function understands \code{rgn14}, -#' \code{rgn32}, \code{basin235}, and \code{chn}. -#' -#' @param mapset The name of the mapset. Can be either a symbol or a string. -#' @param type The type of table. Right now this is either 'lut', 'drop', or -#' 'prov' -get.internal <- function(mapset, type) { - eval(as.symbol(paste(type, mapset, sep = "."))) -} - diff --git a/R/gcammaptools.R b/R/gcammaptools.R deleted file mode 100644 index 22ef6d4..0000000 --- a/R/gcammaptools.R +++ /dev/null @@ -1,120 +0,0 @@ -#' gcammaptools: A package for plotting GCAM data on maps -#' -#' The gcammaptools package provides functions for plotting GCAM data on world -#' or regional maps. This includes functions for making plots for regional or -#' gridded data, as well as default projection and theme settings that provide a -#' house style for GCAM plots. -#' -#' @section Preparing GCAM data: -#' -#' The recommended way to load your GCAM data is by using the \code{rgcam} -#' package create a project data file from a GCAM database, and then querying -#' that file for the data you want to plot. Alternatively, you can start with -#' any data frame that has a `region` column and one or more data columns. -#' -#' Once you have loaded the data, you must add the region identifiers used in -#' the map data to the data frame using the \code{add_region_ID} function. -#' -#' @section Mapping GCAM data: -#' -#' To map GCAM data, you will need a simple feature collection or geojson with -#' your region boundaries. The package provides the following commonly-used -#' base maps: -#' \itemize{ -#' \item \code{\link{map.rgn14}}: 14 region map used prior to GCAM 4.0. -#' \item \code{\link{map.rgn32}}: 32 region map used in GCAM 4.0 and later, -#' excluding Taiwan. -#' \item \code{\link{map.basin235}}: 235 water basins. -#' \item \code{\link{map.chn}}: 32 global regions plus China subregions -#' \item \code{\link{map.usa}}: 32 global regions plus US states. -#' } -#' Users can provide their own base maps. You will need a geometry file in -#' geojson format, where each region has a \code{region_id}. Land masses -#' that you want to draw, but which aren't part of any region should be included -#' and assigned a \code{region_id} of 0. The \code{examples} vignette shows how -#' to load such a file and convert it for use in this package. -#' -#' Once you have your map data and your GCAM data, can generate the maps by -#' passing both to the \code{\link{plot_GCAM}} function. -#' -#' @docType package -#' @name gcammaptools -#' @import ggplot2 -#' @importFrom magrittr %>% -NULL - -#' Base map for 14-region GCAM -#' -#' This is the region map used in versions of GCAM prior to GCAM 4.0. It is -#' largely obsolete, but there are still some data from those days floating -#' around in the wild -#' -#' @format Simple feature collection -"map.rgn14" - -#' Simplified base map for 14-region GCAM -#' -#' The same map as \code{map.rgn14} but with only Polygons that have an area -#' greater than 2.5 square degrees and simplified Polygon borders. -#' -#' @format Simple feature collection -"map.rgn14.simple" - -#' Base map for 32-region GCAM -#' -#' This is the region map used in GCAM 4.0 and subsequent. This version of the -#' map does not include the Taiwan region. -#' -#' @format Simple feature collection -"map.rgn32" - -#' Simplified base map for 32-region GCAM -#' -#' The same map as \code{map.rgn32} but with only Polygons that have an area -#' greater than 2.5 square degrees and simplified Polygon borders. -#' -#' @format Simple feature collection -"map.rgn32.simple" - -#' Base map for 235 global water basins -#' -#' This is the map of the 235 global water basins. For compatibility with the -#' other map data frames it refers to the basins as 'regions'. Thus, any GCAM -#' data with a 'basin' column will need to have a 'region' column added. There -#' is also some variability in how the basin names are represented, so this data -#' set will need some work. -#' -#' @format Simple feature collection -"map.basin235" - -#' Simplified base map for 235 global water basins -#' -#' The same map as \code{map.basin235} but with only Polygons that have an area -#' greater than 2.5 square degrees and simplified Polygon borders. -#' -#' @format Simple feature collection -"map.basin235.simple" - -#' Base map for 32-region GCAM with China subregions -#' -#' This map has the 32 GCAM regions, plus the subregions corresponding to -#' China's provinces, municipalities, autonomous regions, and SARs. -#' -#' @format Simple feature collection -"map.chn" - -#' Base map for 32-region GCAM with USA states -#' -#' This map has the 32 GCAM regions, plus the subregions corresponding to -#' US states including the District of Columbia. -#' -#' @format Simple feature collection -"map.usa" - -#' Base map for gridded data over national borders -#' -#' This map has the administrative borders of the world's countries. It is meant -#' for use with gridded data only, as no GCAM output matches country boundaries. -#' -#' @format Simple feature collection -"map.countries" diff --git a/R/maps.R b/R/maps.R new file mode 100644 index 0000000..0c7d279 --- /dev/null +++ b/R/maps.R @@ -0,0 +1,604 @@ +# output.r +# +# This file produces output from standard functions for various maps + +#' Create a basic map object from input shape/raster and return, save (optional) the output +#' +#' This function is designed to take both a shape and raster object/path and create a standardized output map. +#' +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param raster_data (Raster or Character) - Either the full path string to a raster file or an object of type RasterLayer +#' @param raster_col (Character) - Column name that contains the raster object's output variable/value +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param raster_band (Numeric) - Future variable for dealing with multi band/time series rasters etc +#' @param convert_zero (Boolean) - Convert values within the raster data from zero to NA (default FALSE) +#' @param dpi (Numeric) - Settable DPI for different print/screen formats (default 150) +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") +#' @param expand_xy (c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0)) +#' @param map_xy_min_max (c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90)) +#' @param map_title (Character) - Title to be displayed on the output map +#' @param map_palette (Character) - Variable to hold the type of colorscale to be from the RColorBrewer palette (default "RdYlBu") +#' @param map_palette_reverse (Boolean) - Set palette to reverse direction TRUE/FALSE +#' @param map_width_height_in (c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (defalt c(15, 10)) +#' @param map_legend_title (Character) - Text for the legend header +#' @param map_x_label (Character) - Label for x axis (default "Lon") +#' @param map_y_label (Character) - Label for y axis (default "Lat") +#' @return (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +#' @importFrom sf st_transform +#' @importFrom raster raster as.data.frame compareCRS minValue maxValue nlayers +#' @importFrom dplyr mutate +#' @importFrom ggplot2 scale_x_continuous scale_y_continuous scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label +#' @importFrom ggspatial layer_spatial df_spatial +#' @import RColorBrewer +#' @export +custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_size_field = "1", simplify = FALSE, + raster_data = NULL, raster_col = NULL, raster_band = 1, convert_zero = FALSE, + dpi = 150, output_file = NULL, expand_xy = c(0, 0), + map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = "RdYlBu", map_palette_reverse = FALSE, + map_width_height_in = c(15, 10), map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") +{ + error <- "" + output <- "Default error" + tryCatch( + { + # Create shape and raster objects via local processing functions + shape_obj <- process_shape(shape_data, simplify, shape_label_field) + + if(class(shape_obj) == "character") + { + return("Error: Shape argument is not of type sf and could not be coerced") + } + + # Create raster + raster_obj <- process_raster(raster_data , raster_col, raster_band, bin_method, bins, convert_zero) + + if(class(raster_obj) == "character") + { + return("Error: Raster argument is not of type RasterLayer") + } + + # Perform shape and raster comparisons/other operations + # Compare projections and equalize if necessary + if(!compareCRS(shape_obj, raster_obj)) + { + # Transform shape to match raster CRS + shape_obj <- st_transform(shape_obj, crs(raster_df)) + } + + # Crop shape - for extent changes (future + # shape <- st_crop(shape, 1.2*extent(raster)) + + # Raster operations + # Convert raster + raster_df <- df_spatial(raster_obj) #raster_df <- as.data.frame(raster_obj, xy=TRUE) compare performance + + if(is.null(raster_col)) + { + return("Error: No raster column defined") + } + else + { + raster_df <- mutate(raster_df, value = raster_df[[paste0("band", 1)]]) + } + + # Create mapping and output variables + # Raster stats/information (future) + raster_min <- minValue(raster_obj) + raster_max <- maxValue(raster_obj) + raster_layers <- nlayers(raster_obj) + raster_active_band <- raster_band + + # Map output variables + x_min <- map_xy_min_max[1] + x_max <- map_xy_min_max[2] + y_min <- map_xy_min_max[3] + y_max <- map_xy_min_max[4] + map_width <- map_width_height_in[1] + map_height <- map_width_height_in[2] + expand_x <- expand_xy[1] + expand_y <- expand_xy[2] + + # Map colors/scales options + palette_direction <- 1 + + if(map_palette_reverse) + { + palette_direction <- -1 + } + + # Build map x and y scales using continuous scales + map_x_scale <- scale_x_continuous(limits=c(x_min, x_max), expand = expand_scale(add = expand_x), breaks=seq(x_min,x_max, abs(x_max - x_min)/12)) + map_y_scale <- scale_y_continuous(limits=c(y_min, y_max), expand = expand_scale(add = expand_y), breaks=seq(y_min,y_max, abs(y_max - y_min)/6)) + map_color_scale <- scale_fill_distiller(palette = map_palette, type = palette_type, direction = palette_direction, na.value = na_value, guide = map_guide) + map_shape_options <- NULL + map_size_guide_option <- NULL + + # Build geometry labels if enabled by user + if(!is.null(shape_label_field)) + { + map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = shape_label_size_field)) + if(!is.null(shape_label_size_field)) + { + map_size_guide_option <- guides(size = FALSE) + } + } + + # Build ggplot Map object + output <- ggplot() + geom_raster(data=raster_df, aes(x=x, y=y, fill=value), alpha = 1.0) + + geom_sf(data = shape_obj, na.rm = TRUE, fill=NA) + + map_color_scale + + coord_sf() + + labs(x=map_x_label, y=map_y_label, title = map_title, fill = map_legend_title) + + map_x_scale + + map_y_scale + + map_shape_options + + theme(plot.title = element_text(hjust = 0.5)) + + map_size_guide_option + + # Save File + if(!is.null(output_file)) + { + result <- gcammaptools::save_plot(output_file, dpi, map_width, map_height) + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(output) +} + + +#' Create a choropleth map object from shape and data object and return, save (optional) the output +#' +#' Choropleth map +#' +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param shape_key_field (Character) - Name of key field in shape object for merging with map_data object +#' @param shape_data_field (Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param shape_xy_fields (c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON")) +#' @param shape_geom_field (Character) - Specifies field within shape object that contains needed geometry (default "geometry") +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV +#' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data +#' @param data_col (Character) - Column name that contains the data object's output variable +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster +#' @param dpi (Numeric) - Settable DPI for different print/screen formats (default 150) +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "pdf", "jpeg", "tiff", "png", "bmp", "svg", "eps", "ps", "tex") (default PNG) +#' @param expand_xy (c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0)) +#' @param map_xy_min_max (c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90)) +#' @param map_title (Character) - Title to be displayed on the output map +#' @param map_palette (Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer +#' @param map_palette_type (Character) - Variable to load default palette by type of data ("qual" for qualitative data, "seq" for sequential data, "div" for divergent data) (default "seq") +#' @param map_palette_reverse (Boolean) - Set palette to reverse direction TRUE/FALSE +#' @param map_width_height_in (c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10)) +#' @param map_legend_title (Character) - Text for the legend header +#' @param map_x_label (Character) - Label for x axis (default Lon) +#' @param map_y_label (Character) - Label for y axis (default Lat) +#' @return (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +#' @importFrom sf st_transform st_crs +#' @importFrom dplyr mutate left_join +#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal +#' @importFrom ggspatial layer_spatial df_spatial +#' @importFrom classInt classIntervals +#' @import RColorBrewer +#' @export +choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size_field = "1", + shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, + map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = NULL, + dpi = 150, output_file = NULL, expand_xy = c(0, 0), + map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = NULL, + map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), + map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") +{ + error <- "" + output <- "Default error" + tryCatch( + { + # Create shape object via local processing function + shape_obj <- process_shape(shape_data, simplify, shape_label_field) + + # Verify object is a shape object, if not it's an error and return it + if(class(shape_obj) == "character") + { + return("Error: Shape argument is not of type sf and could not be coerced") + } + + # Read/process map data object via local processing function + if(is.null(shape_data_field)) + { + map_data_obj <- process_data(map_data) + if(class(map_data_obj) == "character") + # Merge map and data + combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) + } + else + { + combined_df <- as.data.frame(shape_obj) + data_col <- shape_data_field + } + + # Map output variables + x_min <- map_xy_min_max[1] + x_max <- map_xy_min_max[2] + y_min <- map_xy_min_max[3] + y_max <- map_xy_min_max[4] + map_width <- map_width_height_in[1] + map_height <- map_width_height_in[2] + expand_x <- expand_xy[1] + expand_y <- expand_xy[2] + + # Determine palette direction + if(map_palette_reverse) + { + palette_direction <- -1 + } + else + { + palette_direction <- 1 + } + + # Determine palette type + if(map_palette_type == "qual") + { + palette_type <- "qual" + palette_colors <- "Paired" + } + else if(map_palette_type == "div") + { + palette_type <- "div" + palette_colors <- "RdYlBu" + } + else + { + palette_type <- "seq" + palette_colors <- "Blues" + } + + # Override palette if explicitly set in map_palette argument + if(!is.null(map_palette)) + { + palette_colors <- map_palette + } + + # Set additional map options and create scales + na_value <- "Grey" + map_guide <- "colourbar" + map_x_scale <- scale_x_discrete(limits=c(x_min, x_max), expand = expand_scale(add = expand_x), breaks=seq(x_min,x_max, abs(x_max - x_min)/12)) + map_y_scale <- scale_y_discrete(limits=c(y_min, y_max), expand = expand_scale(add = expand_y), breaks=seq(y_min,y_max, abs(y_max - y_min)/6)) + map_color_scale <- scale_fill_brewer(palette = palette_colors, type = palette_type, direction = palette_direction, na.value = na_value) + map_shape_options <- NULL + map_size_guide_option <- NULL + shape_x <- shape_xy_fields[1] + shape_y <- shape_xy_fields[2] + shape_geom <- shape_geom_field + + # Build geometry labels if enabled by user + if(!is.null(shape_label_field)) + { + map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = shape_label_size_field)) + if(!is.null(shape_label_size_field)) + { + map_size_guide_option <- guides(size = FALSE) + } + } + + # Process breaks/bins + if(!is.null(bin_method) && !is.null(bins)) + { + if(bin_method %in% c("quantile", "pretty", "equal")) + { + data_breaks <- classIntervals(c(min(as.numeric(combined_df[[data_col]])),as.numeric(combined_df[[data_col]])), n = bins, style = bin_method) + combined_df <- mutate(combined_df, value = cut(as.numeric(combined_df[[data_col]]), data_breaks$brks)) + } + else + { + return("Error: bin_method type not in quantile, pretty, or equal") + } + } + else + { + return("Error: bin_method and bins cannot be NULL") + } + + # Build ggplot Map object + output <- ggplot(data = combined_df, aes_string(x=shape_x, y=shape_y, fill="value", geometry=shape_geom)) + + geom_sf(color="grey") + + map_color_scale + + coord_sf() + + labs(x=map_x_label, y=map_y_label, title = map_title, fill = map_legend_title) + + map_x_scale + + map_y_scale + + map_shape_options + + theme_minimal() + theme(plot.title = element_text(hjust = 0.5)) + + map_size_guide_option + + # Save File + if(!is.null(output_file)) + { + result <- gcammaptools::save_plot(output_file, dpi, map_width, map_height) + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(output) +} + + +#' Create a distributed flow map object from shape and data object and return, save (optional) the output +#' +#' Distributed flow map +#' +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param shape_key_field (Character) - Name of key field in shape object for merging with map_data object +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param shape_xy_fields (c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON")) +#' @param shape_geom_field (Character) - Specifies field within shape object that contains needed geometry (default "geometry") +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV +#' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data +#' @param data_col (Character) - Column name that contains the data object's output variable +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster +#' @param dpi (Numeric) - Settable DPI for different print/screen formats (default 150) +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "pdf", "jpeg", "tiff", "png", "bmp", "svg", "eps", "ps", "tex") (default PNG) +#' @param expand_xy (c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0)) +#' @param map_xy_min_max (c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90)) +#' @param map_title (Character) - Title to be displayed on the output map +#' @param map_palette (Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer +#' @param map_palette_type (Character) - Variable to load default palette by type of data ("qual" for qualitative data, "seq" for sequential data, "div" for divergent data) (default "seq") +#' @param map_palette_reverse (Boolean) - Set palette to reverse direction TRUE/FALSE +#' @param map_width_height_in (c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10)) +#' @param map_legend_title (Character) - Text for the legend header +#' @param map_x_label (Character) - Label for x axis (default Lon) +#' @param map_y_label (Character) - Label for y axis (default Lat) +#' @return (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +#' @importFrom sf st_transform st_crs +#' @importFrom dplyr mutate left_join +#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal +#' @importFrom ggspatial layer_spatial df_spatial +#' @importFrom classInt classIntervals +#' @import RColorBrewer +#' @export +distributed_flow <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size_field = "1", + shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, + map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = NULL, + dpi = 150, output_file = NULL, expand_xy = c(0, 0), + map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = NULL, + map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), + map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") +{ + + + + + +} + + +#' Process shape +#' +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +process_shape <- function(shape_data, simplify, shape_label_field) +{ + tryCatch( + { + # Shape loading - if given a path, use that, else expect an object passed in + if(is.null(shape_data)) + { + return("Error: Shape data is NULL") + } + else if(class(shape_data) %in% "sf") + { + shape_obj <- shape_data + } + else if(class(shape_data) %in% "character") + { + if (file.exists(shape_data)) + { + shape_obj <- gcammaptools::import_mapdata(shape_data) + } + else + { + return(paste0("Cannot open Shape file ", raster_data)) + } + } + else + { + return("Error: Unrecognized shape_data argument.") + } + + # Optional argument to simplify polygons via the simplify_mapdata function + if(simplify) + { + shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(shape_obj) +} + + + + +#' Process raster +#' +#' @param raster_data (Raster or Character) - Either the full path string to raster file or a raster object +#' @param raster_col (Character) - Column name that contains the raster object's output variable +#' @param raster_band (Numeric) - Future variable for dealing with multi band/time series rasters etc +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster +#' @param convert_zero (Boolean) - Convert raster zero values to NA +#' @importFrom rgis import_raster +#' @importFrom ggspatial layer_spatial df_spatial +#' @importFrom raster raster crs +#' @return (Raster or Character) - Returns the resulting raster object or an error string if failed +#' @export +process_raster <- function( raster_data , raster_col, raster_band, bin_method, bins, convert_zero) +{ + # Default projection if raster is missing CRS + default_projection <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" + tryCatch( + { + # Raster loading - if given a path, use that, else expect an object passed in + if(is.null(raster_data)) + { + return("Error: Raster data is NULL") + } + else if(class(raster_data) %in% "RasterLayer") + { + raster_obj <- raster_data + } + else if(class(raster_data) %in% "character") + { + if (file.exists(raster_data)) + { + raster_obj <- import_raster(raster_data) + } + else + { + return(paste0("Cannot open Raster file ", raster_data)) + } + } + else + { + return("Unrecognized raster_data argument.") + } + + # Set raster band + if(raster_band != 1) + { + raster_obj <- raster(raster_obj, band=raster_band) + } + + # Convert zeroes to NA if enabled + if(convert_zero == TRUE) + { + raster_obj[raster_obj==0] <- NA + } + + # Verify raster CRS and assign default if NA + if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) + { + raster::crs(raster_obj) <- crs(default_projection) + print("Applying default CRS to raster (raster CRS was NA or NULL)") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(raster_obj) +} + + +#' Handles saving the map output to disk +#' +#' Initially one line of code, this function is likely to be expanded +#' +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") +#' @param dpi (Numeric) - Settable DPI for different print/screen formats +#' @param map_width (Numeric) - Map width in inches +#' @param map_height (Numeric) - Map height in inches +#' @return (Character) - Returns a character string with success or an error string if failed +#' @importFrom ggplot2 ggsave +#' @export +save_plot <- function(output_file, dpi, map_width, map_height) +{ + output <- "success" + tryCatch( + { + # Get file type dynamically and save to path + file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) + + if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) + { + ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, + width = map_width, height = map_height) + } + else + { + return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(output) +} + + +#' Process data +#' +#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @return (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +process_data <- function(map_data) +{ + tryCatch( + { + # Map Data - if given a path to a csv, use that, else expect a data.frame object passed in + if(is.null(map_data)) + { + return("Error: Map data cannot be NULL") + } + else if(class(map_data) %in% "data.frame") + { + map_obj <- map_data + } + else if(class(map_data) %in% "character") + { + if (file.exists(map_data)) + { + map_obj <- read.csv(map_data, stringsAsFactors = F) + } + else + { + return(paste0("Error: Cannot open data file ", map_data)) + } + } + else + { + return("Error: Unrecognized map_data argument.") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(map_obj) +} diff --git a/R/utils.R b/R/utils.R index 106cc69..3243ca2 100644 --- a/R/utils.R +++ b/R/utils.R @@ -3,6 +3,134 @@ # Contains general helper functions for the package +#' Import ESRI Shapefile or GeoJSON as sf object. +#' +#' Creates a Simple Feature (sf) object from full path string to ESRI Shapefile +#' or GeoJSON file. User defines which field is supposed to represent the ID for +#' the data. +#' +#' @param file_pth Full path to shapefile with extention (.shp). Shapefiles must +#' contain at least .shp, .shx, and .dbf file to function properly. +load_shp <- function(file_pth) { + return(sf::st_read(file_pth, quiet = TRUE)) +} + +#' Single import function for compatible data types. +#' +#' Imports available for sf objects, spatial data frames, ESRI Shapefiles, or +#' GeoJSON files. +#' +#' @param obj Input full path string or object. +#' @param fld Field name to use as identifier. +#' @param prj4s Proj4 string for projection (default WGS84). +#' @return An sf object representation of the map data. +#' @export +import_mapdata <- function(obj, fld = NULL, prj4s = wgs84) { + + # get object class + cls <- class(obj) + + # check for sf data frame object + if (cls[1] == "sf") { + return(obj) + } + + # check for file path + else if (is.character(obj)) { + + # get file extension + extn <- tolower(c(tools::file_ext(obj))) + + # if ESRI Shapefile or GeoJSON file + if (extn %in% list('shp', 'geojson')) { + + # load Shapefile + return(load_shp(file_pth = obj)) + } + # catch unknown + else { + return(NULL) + } + } + # check for spatial data frames + else if (cls %in% list("SpatialPolygonsDataFrame", "SpatialPointsDataFrame", + "SpatialLinesDataFrame")) { + + return(sf::st_as_sf(obj)) + } + else { + return(NULL) # catch_error: object type not understood. + } +} + + + + +#' Reduce number of polygons and size of polygons for map Shapefiles +#' +#' Takes a sf object representation of a map and simplifys it by removing +#' polygons that are under a certain size. +#' +#' ** NOTE: This function adds two polygons to the edges of the map to prevent +#' the removal of polygons near the edges redefining the map bounds. +#' +#' @param mapdata sf object containing polygons or multipolygons to simplify. +#' @param min_area Minimum area of polygons to keep. +#' @param degree_tolerance Tolerance parameter for simplifying polygons. +#' @return The simplified sf object. +#' @export +simplify_mapdata <- function(mapdata, min_area = 2.5, degree_tolerance = 0.1) { + + . <- NULL # silence package notes for NSE. + + if ("MULTIPOLYGON" %in% sf::st_geometry_type(mapdata)) + mapdata <- sf::st_cast(mapdata, "POLYGON", warn = FALSE) + + # filter out all polygons in the data under the minimum area + areafilter <- sapply(sf::st_geometry(mapdata), sf::st_area) > min_area + filtermap <- mapdata[which(areafilter), ] + + filtermap <- suppressWarnings({sf::st_simplify(filtermap, preserveTopology=TRUE, dTolerance=degree_tolerance)}) + + # if nothing was filtered just return original map + if (utils::object.size(filtermap) == utils::object.size(mapdata)) + return(mapdata) + + # When removing polygons we might be shifting the bounds of the map, which + # would make it off-center when plotting. To account for this, we put tiny + # polygons on the edges. + xmin <- sf::st_bbox(mapdata)[1] %>% round + xmax <- sf::st_bbox(mapdata)[3] %>% round + height <- 0.0001 # small enough so it's not visible on plot + + left_edge <- matrix(c(xmin, 0, xmin, height, xmin - height, 0, xmin, 0), + byrow = TRUE, ncol = 2) %>% + list() %>% + sf::st_polygon() + + right_edge <- matrix(c(xmax, 0, xmax, height, xmax + height, 0, xmax, 0), + byrow = TRUE, ncol = 2) %>% + list() %>% + sf::st_polygon() + + # create geometry with the two edges + edges <- sf::st_sfc(left_edge, right_edge, crs = sf::st_crs(mapdata)) + + # data frame with same names as original map, so that the two can combine + borders <- data.frame(matrix(ncol = length(names(mapdata)), nrow = 2)) %>% + magrittr::set_names(names(mapdata)) + + # extra polygons should be GCAM region 0 + if ('region_id' %in% names(borders)) borders$region_id <- c(0, 0) + + # convert to sf object and add new border polygons + sf::st_geometry(borders) <- edges + + # add new polygons to filtered map and return + return(rbind(borders, filtermap)) +} + + #' Retrieve proj4 projection string. #' #' Provides a lookup list for default proj4 strings utilized. Users may also diff --git a/man/EXTENT_AFRICA.Rd b/man/EXTENT_AFRICA.Rd deleted file mode 100644 index e4b6aaa..0000000 --- a/man/EXTENT_AFRICA.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{EXTENT_AFRICA} -\alias{EXTENT_AFRICA} -\title{Extent vector for Africa} -\format{An object of class \code{numeric} of length 4.} -\usage{ -EXTENT_AFRICA -} -\description{ -This vector can be used as the \code{extent} argument to -\code{\link{plot_GCAM}}. -} -\keyword{datasets} diff --git a/man/EXTENT_CHINA.Rd b/man/EXTENT_CHINA.Rd deleted file mode 100644 index fcbe422..0000000 --- a/man/EXTENT_CHINA.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{EXTENT_CHINA} -\alias{EXTENT_CHINA} -\title{Extent vector for China} -\format{An object of class \code{numeric} of length 4.} -\usage{ -EXTENT_CHINA -} -\description{ -This vector can be used as the \code{extent} argument to -\code{\link{plot_GCAM}}. -} -\keyword{datasets} diff --git a/man/EXTENT_LA.Rd b/man/EXTENT_LA.Rd deleted file mode 100644 index c4e854f..0000000 --- a/man/EXTENT_LA.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{EXTENT_LA} -\alias{EXTENT_LA} -\title{Extent vector for Latin America} -\format{An object of class \code{numeric} of length 4.} -\usage{ -EXTENT_LA -} -\description{ -This vector can be used as the \code{extent} argument to -\code{\link{plot_GCAM}}. -} -\keyword{datasets} diff --git a/man/EXTENT_USA.Rd b/man/EXTENT_USA.Rd deleted file mode 100644 index 86d2d12..0000000 --- a/man/EXTENT_USA.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{EXTENT_USA} -\alias{EXTENT_USA} -\title{Extent vector for the continental United States} -\format{An object of class \code{numeric} of length 4.} -\usage{ -EXTENT_USA -} -\description{ -This vector can be used as the \code{extent} argument to -\code{\link{plot_GCAM}}. -} -\keyword{datasets} diff --git a/man/EXTENT_WORLD.Rd b/man/EXTENT_WORLD.Rd deleted file mode 100644 index 2f7eb2c..0000000 --- a/man/EXTENT_WORLD.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{EXTENT_WORLD} -\alias{EXTENT_WORLD} -\title{Extent vector for the entire world} -\format{An object of class \code{numeric} of length 4.} -\usage{ -EXTENT_WORLD -} -\description{ -This vector can be used as the \code{extent} argument to -\code{\link{plot_GCAM}}. -} -\keyword{datasets} diff --git a/man/add_region_ID.Rd b/man/add_region_ID.Rd deleted file mode 100644 index b433081..0000000 --- a/man/add_region_ID.Rd +++ /dev/null @@ -1,43 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcam_data_processing.R -\name{add_region_ID} -\alias{add_region_ID} -\title{Match GCAM ID to region using data from a lookup table.} -\usage{ -add_region_ID(datatable, lookupfile = rgn32, provincefile = NULL, - drops = NULL, disaggregate = NULL) -} -\arguments{ -\item{datatable}{A table of results produced by \code{\link[rgcam]{getQuery}}} - -\item{lookupfile}{Name of one of the predefined map sets, OR, if you're using -a custom map set, the file containing the region lookup table} - -\item{provincefile}{Name of one of the predefined map sets, OR, if you're -using a custom map set, file containing the province lookup table, if -applicable.} - -\item{drops}{Name of one of the predefined map sets, OR, if you're using -a custom map set, the file containing a list of regions to drop, if -applicable.} - -\item{disaggregate}{A column (or vector of columns) of \code{datatable} used -to disaggregate regions that are not specified in the original data.} -} -\value{ -Input table modified to include a GCAM ID for reach region. -} -\description{ -We match by ID number to avoid problems with variant spellings and the like. -With the optional arguments you can also omit regions for which you don't -want to plot the data for some reason, and you can translate the -abbreviations used in subregion output. -} -\details{ -The \code{provincefile} and \code{drops} arguments are a little clunky. They -are optional, but if you are using one of the built-in map sets, then you -\emph{must not} specify them if they don't exist for the map set you are -using. Currently, \code{rgn14} and \code{basin235} have neither drops nor -province abbreviations. The \code{rgn32} set has drops, but not province -abbreviations. Only the \code{chn} set has both. -} diff --git a/man/af_ortho.Rd b/man/af_ortho.Rd deleted file mode 100644 index 6cf7e04..0000000 --- a/man/af_ortho.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{af_ortho} -\alias{af_ortho} -\title{Proj4 string for orthographic projection over Africa} -\format{An object of class \code{character} of length 1.} -\usage{ -af_ortho -} -\description{ -String for specifying the orthographic projection over Africa. You can pass -this value to the \code{proj} argument of \code{\link{plot_GCAM}} to get the -best result. -} -\keyword{datasets} diff --git a/man/basin235.Rd b/man/basin235.Rd deleted file mode 100644 index dc13bdd..0000000 --- a/man/basin235.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\docType{data} -\name{basin235} -\alias{basin235} -\title{Designator for the basin235 map set} -\format{An object of class \code{name} of length 1.} -\usage{ -basin235 -} -\description{ -This symbol will select the basin235 map set -} -\keyword{datasets} diff --git a/man/ch_aea.Rd b/man/ch_aea.Rd deleted file mode 100644 index 470318c..0000000 --- a/man/ch_aea.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{ch_aea} -\alias{ch_aea} -\title{Proj4 string for the Albers equal area projection over China} -\format{An object of class \code{character} of length 1.} -\usage{ -ch_aea -} -\description{ -String for specifying the Albers equal area projection over China -in mapping functions. This is a conic projection situatied over -China. Its value is \code{'+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 -+lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84'} -} -\keyword{datasets} diff --git a/man/chn.Rd b/man/chn.Rd deleted file mode 100644 index 467de4e..0000000 --- a/man/chn.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\docType{data} -\name{chn} -\alias{chn} -\title{Designator for the chn map set} -\format{An object of class \code{name} of length 1.} -\usage{ -chn -} -\description{ -This symbol will select the chn map set -} -\keyword{datasets} diff --git a/man/choropleth.Rd b/man/choropleth.Rd new file mode 100644 index 0000000..dbb9e5b --- /dev/null +++ b/man/choropleth.Rd @@ -0,0 +1,74 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{choropleth} +\alias{choropleth} +\title{Create a choropleth map object from shape and data object and return, save (optional) the output} +\usage{ +choropleth(shape_data = NULL, shape_key_field = NULL, + shape_label_field = NULL, shape_label_size_field = "1", + shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), + shape_geom_field = "geometry", simplify = FALSE, map_data = NULL, + data_key_field = NULL, data_col = NULL, bin_method = "pretty", + bins = NULL, dpi = 150, output_file = NULL, expand_xy = c(0, 0), + map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, + map_palette = NULL, map_palette_reverse = FALSE, + map_palette_type = "seq", map_width_height_in = c(15, 10), + map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{shape_key_field}{(Character) - Name of key field in shape object for merging with map_data object} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} + +\item{shape_data_field}{(Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable} + +\item{shape_xy_fields}{(c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON"))} + +\item{shape_geom_field}{(Character) - Specifies field within shape object that contains needed geometry (default "geometry")} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} + +\item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} + +\item{data_col}{(Character) - Column name that contains the data object's output variable} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} + +\item{dpi}{(Numeric) - Settable DPI for different print/screen formats (default 150)} + +\item{output_file}{(Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "pdf", "jpeg", "tiff", "png", "bmp", "svg", "eps", "ps", "tex") (default PNG)} + +\item{expand_xy}{(c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0))} + +\item{map_xy_min_max}{(c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90))} + +\item{map_title}{(Character) - Title to be displayed on the output map} + +\item{map_palette}{(Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer} + +\item{map_palette_reverse}{(Boolean) - Set palette to reverse direction TRUE/FALSE} + +\item{map_palette_type}{(Character) - Variable to load default palette by type of data ("qual" for qualitative data, "seq" for sequential data, "div" for divergent data) (default "seq")} + +\item{map_width_height_in}{(c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10))} + +\item{map_legend_title}{(Character) - Text for the legend header} + +\item{map_x_label}{(Character) - Label for x axis (default Lon)} + +\item{map_y_label}{(Character) - Label for y axis (default Lat)} +} +\value{ +(ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +} +\description{ +Choropleth map +} diff --git a/man/custom_map.Rd b/man/custom_map.Rd new file mode 100644 index 0000000..3cb17ce --- /dev/null +++ b/man/custom_map.Rd @@ -0,0 +1,60 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{custom_map} +\alias{custom_map} +\title{Create a basic map object from input shape/raster and return, save (optional) the output} +\usage{ +custom_map(shape_data = NULL, shape_label_field = NULL, + shape_label_size_field = "1", simplify = FALSE, raster_data = NULL, + raster_col = NULL, raster_band = 1, convert_zero = FALSE, + dpi = 150, output_file = NULL, expand_xy = c(0, 0), + map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, + map_palette = "RdYlBu", map_palette_reverse = FALSE, + map_width_height_in = c(15, 10), map_legend_title = NULL, + map_x_label = "Lon", map_y_label = "Lat") +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{raster_data}{(Raster or Character) - Either the full path string to a raster file or an object of type RasterLayer} + +\item{raster_col}{(Character) - Column name that contains the raster object's output variable/value} + +\item{raster_band}{(Numeric) - Future variable for dealing with multi band/time series rasters etc} + +\item{convert_zero}{(Boolean) - Convert values within the raster data from zero to NA (default FALSE)} + +\item{dpi}{(Numeric) - Settable DPI for different print/screen formats (default 150)} + +\item{output_file}{(Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")} + +\item{expand_xy}{(c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0))} + +\item{map_xy_min_max}{(c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90))} + +\item{map_title}{(Character) - Title to be displayed on the output map} + +\item{map_palette}{(Character) - Variable to hold the type of colorscale to be from the RColorBrewer palette (default "RdYlBu")} + +\item{map_palette_reverse}{(Boolean) - Set palette to reverse direction TRUE/FALSE} + +\item{map_width_height_in}{(c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (defalt c(15, 10))} + +\item{map_legend_title}{(Character) - Text for the legend header} + +\item{map_x_label}{(Character) - Label for x axis (default "Lon")} + +\item{map_y_label}{(Character) - Label for y axis (default "Lat")} +} +\value{ +(ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +} +\description{ +This function is designed to take both a shape and raster object/path and create a standardized output map. +} diff --git a/man/distributed_flow.Rd b/man/distributed_flow.Rd new file mode 100644 index 0000000..a748d96 --- /dev/null +++ b/man/distributed_flow.Rd @@ -0,0 +1,72 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{distributed_flow} +\alias{distributed_flow} +\title{Create a distributed flow map object from shape and data object and return, save (optional) the output} +\usage{ +distributed_flow(shape_data = NULL, shape_key_field = NULL, + shape_label_field = NULL, shape_label_size_field = "1", + shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", + simplify = FALSE, map_data = NULL, data_key_field = NULL, + data_col = NULL, bin_method = "pretty", bins = NULL, dpi = 150, + output_file = NULL, expand_xy = c(0, 0), map_xy_min_max = c(-180, + 180, -90, 90), map_title = NULL, map_palette = NULL, + map_palette_reverse = FALSE, map_palette_type = "seq", + map_width_height_in = c(15, 10), map_legend_title = NULL, + map_x_label = "Lon", map_y_label = "Lat") +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{shape_key_field}{(Character) - Name of key field in shape object for merging with map_data object} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} + +\item{shape_xy_fields}{(c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON"))} + +\item{shape_geom_field}{(Character) - Specifies field within shape object that contains needed geometry (default "geometry")} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} + +\item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} + +\item{data_col}{(Character) - Column name that contains the data object's output variable} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} + +\item{dpi}{(Numeric) - Settable DPI for different print/screen formats (default 150)} + +\item{output_file}{(Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") (Types accepted: "pdf", "jpeg", "tiff", "png", "bmp", "svg", "eps", "ps", "tex") (default PNG)} + +\item{expand_xy}{(c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0))} + +\item{map_xy_min_max}{(c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90))} + +\item{map_title}{(Character) - Title to be displayed on the output map} + +\item{map_palette}{(Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer} + +\item{map_palette_reverse}{(Boolean) - Set palette to reverse direction TRUE/FALSE} + +\item{map_palette_type}{(Character) - Variable to load default palette by type of data ("qual" for qualitative data, "seq" for sequential data, "div" for divergent data) (default "seq")} + +\item{map_width_height_in}{(c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10))} + +\item{map_legend_title}{(Character) - Text for the legend header} + +\item{map_x_label}{(Character) - Label for x axis (default Lon)} + +\item{map_y_label}{(Character) - Label for y axis (default Lat)} +} +\value{ +(ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed +} +\description{ +Distributed flow map +} diff --git a/man/drop_regions.Rd b/man/drop_regions.Rd deleted file mode 100644 index 2c13b4b..0000000 --- a/man/drop_regions.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcam_data_processing.R -\name{drop_regions} -\alias{drop_regions} -\title{Drop regions listed in drops file from data frame.} -\usage{ -drop_regions(datatable, drops) -} -\arguments{ -\item{datatable}{A data frame containing the output of a GCAM query.} - -\item{drops}{String; path to file containing regions to be dropped} -} -\value{ -An updated data frame with regions dropped. -} -\description{ -Drop regions listed in drops file from data frame. -} diff --git a/man/eck3.Rd b/man/eck3.Rd deleted file mode 100644 index 5607e35..0000000 --- a/man/eck3.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{eck3} -\alias{eck3} -\title{Proj4 string for the Eckert III World projection} -\format{An object of class \code{character} of length 1.} -\usage{ -eck3 -} -\description{ -String for specifying the Eckert III projection in mapping functions. -Its value is \code{'+proj=eck3'} -} -\keyword{datasets} diff --git a/man/filter_spatial.Rd b/man/filter_spatial.Rd deleted file mode 100644 index a0e31b0..0000000 --- a/man/filter_spatial.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\name{filter_spatial} -\alias{filter_spatial} -\title{Get features topologically associated with extent bounds.} -\usage{ -filter_spatial(mapdata, bbox, agr_type = "constant", - topo = sf::st_intersects) -} -\arguments{ -\item{mapdata}{The sf object containing the spatial data.} - -\item{bbox}{Bounding box.} - -\item{agr_type}{Inherited attribute-geometry-relationship type from plot_GCAM -function params.} - -\item{topo}{SF topologic function to define how the join will be conducted. -Default is to join any feature that intersects the bounding box.} -} -\description{ -Conducts a spatial join to retrieve spatial features that are topologically associated -(intersects, contains, within, etc.) with the provided bounds. -} diff --git a/man/gcam14_colors.Rd b/man/gcam14_colors.Rd deleted file mode 100644 index 692aa10..0000000 --- a/man/gcam14_colors.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{gcam14_colors} -\alias{gcam14_colors} -\title{Color palette for 14-region GCAM} -\format{An object of class \code{character} of length 14.} -\usage{ -gcam14_colors -} -\description{ -This palette should be used for plots by region (whether maps, line plots, or -other types) to ensure consistency across plots and publications. XXX: -Perhaps this sort of thing should go in a separate GCAM style package, since -it isn't really specific to mapping? -} -\keyword{datasets} diff --git a/man/gcam32_colors.Rd b/man/gcam32_colors.Rd deleted file mode 100644 index ca2f58f..0000000 --- a/man/gcam32_colors.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{gcam32_colors} -\alias{gcam32_colors} -\title{Color palette for 32-region GCAM} -\format{An object of class \code{character} of length 32.} -\usage{ -gcam32_colors -} -\description{ -This palette should be used for plots by region (whether maps, line plots, or -other types) to ensure consistency across plots and publications. -} -\keyword{datasets} diff --git a/man/gcammaptools.Rd b/man/gcammaptools.Rd deleted file mode 100644 index d15dd12..0000000 --- a/man/gcammaptools.Rd +++ /dev/null @@ -1,49 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{package} -\name{gcammaptools} -\alias{gcammaptools} -\alias{gcammaptools-package} -\title{gcammaptools: A package for plotting GCAM data on maps} -\description{ -The gcammaptools package provides functions for plotting GCAM data on world -or regional maps. This includes functions for making plots for regional or -gridded data, as well as default projection and theme settings that provide a -house style for GCAM plots. -} -\section{Preparing GCAM data}{ - - -The recommended way to load your GCAM data is by using the \code{rgcam} -package create a project data file from a GCAM database, and then querying -that file for the data you want to plot. Alternatively, you can start with -any data frame that has a `region` column and one or more data columns. - -Once you have loaded the data, you must add the region identifiers used in -the map data to the data frame using the \code{add_region_ID} function. -} - -\section{Mapping GCAM data}{ - - -To map GCAM data, you will need a simple feature collection or geojson with -your region boundaries. The package provides the following commonly-used -base maps: -\itemize{ - \item \code{\link{map.rgn14}}: 14 region map used prior to GCAM 4.0. - \item \code{\link{map.rgn32}}: 32 region map used in GCAM 4.0 and later, -excluding Taiwan. - \item \code{\link{map.basin235}}: 235 water basins. - \item \code{\link{map.chn}}: 32 global regions plus China subregions - \item \code{\link{map.usa}}: 32 global regions plus US states. -} -Users can provide their own base maps. You will need a geometry file in -geojson format, where each region has a \code{region_id}. Land masses -that you want to draw, but which aren't part of any region should be included -and assigned a \code{region_id} of 0. The \code{examples} vignette shows how -to load such a file and convert it for use in this package. - -Once you have your map data and your GCAM data, can generate the maps by -passing both to the \code{\link{plot_GCAM}} function. -} - diff --git a/man/get.internal.Rd b/man/get.internal.Rd deleted file mode 100644 index 75f1ac6..0000000 --- a/man/get.internal.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcam_data_processing.R -\name{get.internal} -\alias{get.internal} -\title{Get auxiliary data for a named mapset.} -\usage{ -get.internal(mapset, type) -} -\arguments{ -\item{mapset}{The name of the mapset. Can be either a symbol or a string.} - -\item{type}{The type of table. Right now this is either 'lut', 'drop', or -'prov'} -} -\description{ -We have several standard map sets. Each of them has several auxiliary tables -associated with it. This function retrieves the auxiliary table associated -with the requested. Right now this function understands \code{rgn14}, -\code{rgn32}, \code{basin235}, and \code{chn}. -} diff --git a/man/import_mapdata.Rd b/man/import_mapdata.Rd index d99cf53..f04abd6 100644 --- a/man/import_mapdata.Rd +++ b/man/import_mapdata.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R +% Please edit documentation in R/utils.R \name{import_mapdata} \alias{import_mapdata} \title{Single import function for compatible data types.} diff --git a/man/join_gcam.Rd b/man/join_gcam.Rd deleted file mode 100644 index a6db31b..0000000 --- a/man/join_gcam.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\name{join_gcam} -\alias{join_gcam} -\title{Join GCAM data with spatial data.} -\usage{ -join_gcam(mapdata, mapdata_key, gcam_df, gcam_key) -} -\arguments{ -\item{mapdata}{The sf object containing the spatial data and a tuple identifier that -can be referenced in the gcam_df data frame.} - -\item{mapdata_key}{Name of the field having a tuple identifier that can be referenced -in the gcam_df data frame.} - -\item{gcam_df}{The GCAM data frame provided from the user. This is usually generated from -an \code{rgcam} query.} - -\item{gcam_key}{Name of field having a tuple identifier that can be referenced in the -mapdata data frame.} -} -\description{ -Joins GCAM data from rgam query and inner joins it to spatial data provided by the user. -Note: due to conducting an inner join, only the keys that are present in both datasets -will be represented. -} diff --git a/man/load_shp.Rd b/man/load_shp.Rd index 978b088..9f3bc09 100644 --- a/man/load_shp.Rd +++ b/man/load_shp.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R +% Please edit documentation in R/utils.R \name{load_shp} \alias{load_shp} \title{Import ESRI Shapefile or GeoJSON as sf object.} diff --git a/man/map.basin235.Rd b/man/map.basin235.Rd deleted file mode 100644 index 6f84fbc..0000000 --- a/man/map.basin235.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.basin235} -\alias{map.basin235} -\title{Base map for 235 global water basins} -\format{Simple feature collection} -\usage{ -map.basin235 -} -\description{ -This is the map of the 235 global water basins. For compatibility with the -other map data frames it refers to the basins as 'regions'. Thus, any GCAM -data with a 'basin' column will need to have a 'region' column added. There -is also some variability in how the basin names are represented, so this data -set will need some work. -} -\keyword{datasets} diff --git a/man/map.basin235.simple.Rd b/man/map.basin235.simple.Rd deleted file mode 100644 index b77e7b8..0000000 --- a/man/map.basin235.simple.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.basin235.simple} -\alias{map.basin235.simple} -\title{Simplified base map for 235 global water basins} -\format{Simple feature collection} -\usage{ -map.basin235.simple -} -\description{ -The same map as \code{map.basin235} but with only Polygons that have an area -greater than 2.5 square degrees and simplified Polygon borders. -} -\keyword{datasets} diff --git a/man/map.chn.Rd b/man/map.chn.Rd deleted file mode 100644 index 0c3ef2d..0000000 --- a/man/map.chn.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.chn} -\alias{map.chn} -\title{Base map for 32-region GCAM with China subregions} -\format{Simple feature collection} -\usage{ -map.chn -} -\description{ -This map has the 32 GCAM regions, plus the subregions corresponding to -China's provinces, municipalities, autonomous regions, and SARs. -} -\keyword{datasets} diff --git a/man/map.countries.Rd b/man/map.countries.Rd deleted file mode 100644 index a955a97..0000000 --- a/man/map.countries.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.countries} -\alias{map.countries} -\title{Base map for gridded data over national borders} -\format{Simple feature collection} -\usage{ -map.countries -} -\description{ -This map has the administrative borders of the world's countries. It is meant -for use with gridded data only, as no GCAM output matches country boundaries. -} -\keyword{datasets} diff --git a/man/map.rgn14.Rd b/man/map.rgn14.Rd deleted file mode 100644 index e4d0c4c..0000000 --- a/man/map.rgn14.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.rgn14} -\alias{map.rgn14} -\title{Base map for 14-region GCAM} -\format{Simple feature collection} -\usage{ -map.rgn14 -} -\description{ -This is the region map used in versions of GCAM prior to GCAM 4.0. It is -largely obsolete, but there are still some data from those days floating -around in the wild -} -\keyword{datasets} diff --git a/man/map.rgn14.simple.Rd b/man/map.rgn14.simple.Rd deleted file mode 100644 index 3d0e01e..0000000 --- a/man/map.rgn14.simple.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.rgn14.simple} -\alias{map.rgn14.simple} -\title{Simplified base map for 14-region GCAM} -\format{Simple feature collection} -\usage{ -map.rgn14.simple -} -\description{ -The same map as \code{map.rgn14} but with only Polygons that have an area -greater than 2.5 square degrees and simplified Polygon borders. -} -\keyword{datasets} diff --git a/man/map.rgn32.Rd b/man/map.rgn32.Rd deleted file mode 100644 index ab06563..0000000 --- a/man/map.rgn32.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.rgn32} -\alias{map.rgn32} -\title{Base map for 32-region GCAM} -\format{Simple feature collection} -\usage{ -map.rgn32 -} -\description{ -This is the region map used in GCAM 4.0 and subsequent. This version of the -map does not include the Taiwan region. -} -\keyword{datasets} diff --git a/man/map.rgn32.simple.Rd b/man/map.rgn32.simple.Rd deleted file mode 100644 index 3926475..0000000 --- a/man/map.rgn32.simple.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.rgn32.simple} -\alias{map.rgn32.simple} -\title{Simplified base map for 32-region GCAM} -\format{Simple feature collection} -\usage{ -map.rgn32.simple -} -\description{ -The same map as \code{map.rgn32} but with only Polygons that have an area -greater than 2.5 square degrees and simplified Polygon borders. -} -\keyword{datasets} diff --git a/man/map.usa.Rd b/man/map.usa.Rd deleted file mode 100644 index 4910650..0000000 --- a/man/map.usa.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcammaptools.R -\docType{data} -\name{map.usa} -\alias{map.usa} -\title{Base map for 32-region GCAM with USA states} -\format{Simple feature collection} -\usage{ -map.usa -} -\description{ -This map has the 32 GCAM regions, plus the subregions corresponding to -US states including the District of Columbia. -} -\keyword{datasets} diff --git a/man/na_aea.Rd b/man/na_aea.Rd deleted file mode 100644 index cc89ae5..0000000 --- a/man/na_aea.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{na_aea} -\alias{na_aea} -\title{Proj4 string for the Albers equal area projection over North America.} -\format{An object of class \code{character} of length 1.} -\usage{ -na_aea -} -\description{ -String for specifying the Albers equal area projection over North -America in mapping functions. This is a conic projection situatied -over the continental United States. Its value is \code{'+proj=aea -+lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 -+datum=NAD83'} -} -\keyword{datasets} diff --git a/man/plot_GCAM.Rd b/man/plot_GCAM.Rd deleted file mode 100644 index 668b843..0000000 --- a/man/plot_GCAM.Rd +++ /dev/null @@ -1,126 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\name{plot_GCAM} -\alias{plot_GCAM} -\title{Primary GCAM mapping function. Can handle categorical or continuous data.} -\usage{ -plot_GCAM(mapdata, col = NULL, proj = robin, proj_type = NULL, - extent = EXTENT_WORLD, title = "", legend = F, gcam_df = NULL, - gcam_key = "id", mapdata_key = "region_id", zoom = 0, - graticules = "bottom", agr_type = "constant", - background_color = MAP_BACKGROUND, padding = all(extent == EXTENT_WORLD)) -} -\arguments{ -\item{mapdata}{The data frame containing both geometric data (simple features -collection and id) and regional metadata. This is the only mandatory -variable. If used alone, will produce the default map.} - -\item{col}{If plotting categorical/continuous data, the name of the column to -plot. Will automatically determine type of style of plot based on type of -data (numeric or character).} - -\item{proj}{Map projection to use in the display map. This should be a proj4 -string, except for a few special cases. There are also symbols defined for -some frequently used projections (e.g. \code{\link{robin}} or -\code{\link{na_aea}}).} - -\item{proj_type}{Either esri, epsg, or sr-org as string. These correspond to -available reference types hosted by \url{http://spatialreference.org/}.} - -\item{extent}{Numeric bounds [xmin, xmax, ymin, ymax] to zoom display to.} - -\item{title}{Text to be displayed as the plot title.} - -\item{legend}{Boolean flag: True = display map legend; False = do not display -legend.} - -\item{gcam_df}{A data frame generated from the \code{rgcam} function -\code{\link[rgcam]{getQuery}}. Also accepts other data frames that contain -data that can be linked to the map geometry data using a unique identifier.} - -\item{gcam_key}{The field name containing a join identifier in the gcam_df -data frame.} - -\item{mapdata_key}{The field name containing a join identifier in the -mapdata.} - -\item{zoom}{A distance to buffer the bounding box extent by for on-the-fly -adjustments needed when fitting area to maps.} - -\item{graticules}{Where to position any graticules. One of 'top', 'bottom', -or '' (empty string). Note that 'bottom' places them under the map -background and will not be visible without a setting the -\code{background_color} parameter to NA or transparent.} - -\item{agr_type}{Aggregate-geometry-relationship type. Either 'constant' -(default), 'aggregate', or 'identity' classified as follows: [constant] a -variable that has a constant value at every location over a spatial extent; -examples: soil type, climate zone, land use. [aggregate] values are summary -values (aggregates) over the geometry, e.g. population density, dominant -land use. [identity] values identify the geometry: they refer to (the -whole of) this and only this geometry. See the -\href{https://cran.r-project.org/web/packages/sf/vignettes/sf1.html#how-attributes-relate-to-geometries}{sf -vignette} for further explanation.} - -\item{background_color}{Color for the areas with no regions (the oceans)} - -\item{padding}{Boolean flag: Add space between map edge and plot edge?} -} -\description{ -This function produces a map visualization of a data set containing GCAM -output data. The required argument is a data frame of GCAM results by -region. The function \code{\link[rgcam]{getQuery}} produces suitable data -frames. -} -\details{ -We don't try to take the color mapping, legend title, etc. as arguments to -this function. The ggplot2 way of specifying this information is way more -flexible. To customize your color mapping, use one of \itemize{ \item -\code{\link[ggplot2]{scale_fill_manual}} : A list of colors to map to -categorical data. \item \code{\link[ggplot2]{scale_fill_gradient}} : A -gradient from one color to another. \item -\code{\link[ggplot2]{scale_fill_gradient2}} : A diverging gradient from one -color to another, passing through white in the middle. You can set the data -value that gets assigned to white with the \code{midpoint} argument. \item -\code{\link[ggplot2]{scale_fill_gradientn}} : A smooth gradient between an -arbitrary selection of colors. } If you choose to display a legend for the -color mapping, you will have to give it a title using the \code{title} -argument to any of the above gradient functions. You have to do this even if -you want a legend with no title at all. Use an empty string in that case. - -For specifying the projection you can use any Proj4 string. For convenience, -this package defines the following proj4 strings: \itemize{ \item -\code{\link{wgs84}} - WGS84 (EPSG:4326) \item \code{\link{eck3}} - Eckert III -\item \code{\link{robin}} - Robinson \item \code{\link{na_aea}} - Albers -equal area (North America) \item \code{\link{ch_aea}} - Albers equal area -(China) \item \code{\link{af_ortho}} - Orthographic projection over Africa } - -The \code{extent} argument gives the bounding box of the area to be plotted. -Its format is \code{c(lon.min, lon.max, lat.min, lat.max)}. For convenience -we have defined the following frequently used map extents: \itemize{ \item -\code{\link{EXTENT_WORLD}} - Entire world \item \code{\link{EXTENT_USA}} - -Continental United States \item \code{\link{EXTENT_CHINA}} - China \item -\code{\link{EXTENT_AFRICA}} - Africa \item \code{\link{EXTENT_LA}} - Latin -America } -} -\examples{ -\dontrun{ - -## Plot a map of GCAM regions; color it with the default theme palette. -plot_GCAM(map.rgn32.simple, col = 'region_name', proj = eck3) + - ggplot2::scale_fill_manual(values = gcam32_colors, na.value=gray(0.75)) - -## Plot refined liquids production by region for the year 2050 -prj <- loadProject(system.file('sample-gcam-data', - 'gcam-longform-sample.dat', - package='gcammaptools')) -ref_liquids <- rgcam::getQuery(prj, 'Refined liquids production by region', 'Reference') -ref_liquids <- add_region_ID(ref_liquids, lookupfile=rgn32, drops=rgn32) -ref_liquids <- dplyr::filter(ref_liquids, year==2050) -plot_GCAM(map.rgn32.simple, col='value', proj=robin, title="Robinson World", - legend=T, gcam_df=co2, gcam_key='id', mapdata_key="region_id") + - ggplot2::scale_fill_gradientn(colors = c("white", "red"), - na.value = gray(0.75), - name="CO2 Emissions (MTC)") -} -} diff --git a/man/plot_GCAM_grid.Rd b/man/plot_GCAM_grid.Rd deleted file mode 100644 index 7ff4d47..0000000 --- a/man/plot_GCAM_grid.Rd +++ /dev/null @@ -1,47 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\name{plot_GCAM_grid} -\alias{plot_GCAM_grid} -\title{Plot a gridded dataset over a base map} -\usage{ -plot_GCAM_grid(plotdata, col, map = map.rgn32, proj = robin, - proj_type = NULL, extent = EXTENT_WORLD, zoom = 0, alpha = 0.8, ...) -} -\arguments{ -\item{plotdata}{Data frame with the coordinates and values to be plotted. -Must contain 'lat' and 'lon' columns.} - -\item{col}{Name of the column holding the data values to plot} - -\item{map}{Base map data. Default is GCAM 32-region} - -\item{proj}{Map projection to use in the display map. This should be a proj4 -string, except for a few special cases. There are also symbols defined for -some frequently used projections (e.g. \code{\link{robin}} or -\code{\link{na_aea}}).} - -\item{proj_type}{Either esri, epsg, or sr-org as string. These correspond to -available reference types hosted by \url{http://spatialreference.org/}.} - -\item{extent}{Numeric bounds [xmin, xmax, ymin, ymax] to zoom display to.} - -\item{zoom}{A distance to buffer the bounding box extent by for on-the-fly -adjustments needed when fitting area to maps.} - -\item{alpha}{Transparency of the grid data layer. Given as a number between -0 and 1, where 0 is completely transparent and 1 is completely opaque.} - -\item{...}{Other parameters passed on to \code{plot_GCAM}.} -} -\description{ -This function produces a map visualization of a gridded (i.e., values -specified by latitude and longitude) data set. The data will be plotted over -the base map supplied -} -\details{ -The plot data should be in the form of a table of latitude (lat), longitude -(lon), and data values. The name of the data column is given as an argument -to the function, so you can have, for example, latitude and longitude columns -followed by columns for time slices. Columns besides the coordinate and data -columns will be ignored. -} diff --git a/man/process_data.Rd b/man/process_data.Rd new file mode 100644 index 0000000..31ef93e --- /dev/null +++ b/man/process_data.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{process_data} +\alias{process_data} +\title{Process data} +\usage{ +process_data(map_data) +} +\arguments{ +\item{map_data}{(Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object} +} +\value{ +(Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +Process data +} diff --git a/man/process_raster.Rd b/man/process_raster.Rd new file mode 100644 index 0000000..5fb958c --- /dev/null +++ b/man/process_raster.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{process_raster} +\alias{process_raster} +\title{Process raster} +\usage{ +process_raster(raster_data, raster_col, raster_band, bin_method, bins, + convert_zero) +} +\arguments{ +\item{raster_data}{(Raster or Character) - Either the full path string to raster file or a raster object} + +\item{raster_col}{(Character) - Column name that contains the raster object's output variable} + +\item{raster_band}{(Numeric) - Future variable for dealing with multi band/time series rasters etc} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} + +\item{convert_zero}{(Boolean) - Convert raster zero values to NA} +} +\value{ +(Raster or Character) - Returns the resulting raster object or an error string if failed +} +\description{ +Process raster +} diff --git a/man/process_shape.Rd b/man/process_shape.Rd new file mode 100644 index 0000000..66ff78f --- /dev/null +++ b/man/process_shape.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{process_shape} +\alias{process_shape} +\title{Process shape} +\usage{ +process_shape(shape_data, simplify, shape_label_field) +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +} +\value{ +(SF or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +Process shape +} diff --git a/man/rgn14.Rd b/man/rgn14.Rd deleted file mode 100644 index df43873..0000000 --- a/man/rgn14.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\docType{data} -\name{rgn14} -\alias{rgn14} -\title{Designator for the rgn14 map set} -\format{An object of class \code{name} of length 1.} -\usage{ -rgn14 -} -\description{ -This symbol will select the rgn14 map set -} -\keyword{datasets} diff --git a/man/rgn32.Rd b/man/rgn32.Rd deleted file mode 100644 index dfddbbc..0000000 --- a/man/rgn32.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\docType{data} -\name{rgn32} -\alias{rgn32} -\title{Designator for the rgn32 map set} -\format{An object of class \code{name} of length 1.} -\usage{ -rgn32 -} -\description{ -This symbol will select the rgn32 map set -} -\keyword{datasets} diff --git a/man/robin.Rd b/man/robin.Rd deleted file mode 100644 index 224fd3f..0000000 --- a/man/robin.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{robin} -\alias{robin} -\title{Proj4 string for the Robinson World projection} -\format{An object of class \code{character} of length 1.} -\usage{ -robin -} -\description{ -String for specifying the Robinson projection in mapping functions. -Its value is \code{'+proj=robin'} -} -\keyword{datasets} diff --git a/man/save_plot.Rd b/man/save_plot.Rd new file mode 100644 index 0000000..341d858 --- /dev/null +++ b/man/save_plot.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/maps.R +\name{save_plot} +\alias{save_plot} +\title{Handles saving the map output to disk} +\usage{ +save_plot(output_file, dpi, map_width, map_height) +} +\arguments{ +\item{output_file}{(Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")} + +\item{dpi}{(Numeric) - Settable DPI for different print/screen formats} + +\item{map_width}{(Numeric) - Map width in inches} + +\item{map_height}{(Numeric) - Map height in inches} +} +\value{ +(Character) - Returns a character string with success or an error string if failed +} +\description{ +Initially one line of code, this function is likely to be expanded +} diff --git a/man/simplify_mapdata.Rd b/man/simplify_mapdata.Rd index 12675fa..3823d7b 100644 --- a/man/simplify_mapdata.Rd +++ b/man/simplify_mapdata.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R +% Please edit documentation in R/utils.R \name{simplify_mapdata} \alias{simplify_mapdata} \title{Reduce number of polygons and size of polygons for map Shapefiles} diff --git a/man/theme_GCAM.Rd b/man/theme_GCAM.Rd deleted file mode 100644 index 3291532..0000000 --- a/man/theme_GCAM.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\name{theme_GCAM} -\alias{theme_GCAM} -\title{Default GCAM theme function} -\usage{ -theme_GCAM(base_size = 11, base_family = "", legend = FALSE, - overlay_graticules = FALSE) -} -\arguments{ -\item{base_size}{Base font size} - -\item{base_family}{Base font type} - -\item{legend}{Boolean; whether to include a legend with default legend -formatting.} - -\item{overlay_graticules}{Boolean; whether to place grid lines on top of plot} -} -\description{ -An add-on function to any ggplot2 object. Derives from ggplot2 black and -white theme function (theme_bw). -} diff --git a/man/translate_province.Rd b/man/translate_province.Rd deleted file mode 100644 index cd22952..0000000 --- a/man/translate_province.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gcam_data_processing.R -\name{translate_province} -\alias{translate_province} -\title{Replace subregion abbreviations with full subregion names} -\usage{ -translate_province(datatable, provincefile) -} -\arguments{ -\item{datatable}{The table with the abbreviated names in it.} - -\item{provincefile}{Name of a defined mapset OR name of a file containing the -lookup table.} -} -\description{ -Subregions are given two-letter abbreviations in GCAM output. This function -uses a lookup table to restore the full names. -} diff --git a/man/usa.Rd b/man/usa.Rd deleted file mode 100644 index 775e81a..0000000 --- a/man/usa.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Map_Functions.R -\docType{data} -\name{usa} -\alias{usa} -\title{Designator for the usa map set} -\format{An object of class \code{name} of length 1.} -\usage{ -usa -} -\description{ -This symbol will select the usa map set -} -\keyword{datasets} diff --git a/man/verify_csv.Rd b/man/verify_csv.Rd new file mode 100644 index 0000000..c2f02f2 --- /dev/null +++ b/man/verify_csv.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{verify_csv} +\alias{verify_csv} +\title{Verify shape data} +\usage{ +verify_csv(shape_data, simplify, shape_label_field) +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +} +\value{ +(SF or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +This function runs a check on shape inputs and looks for errors +} diff --git a/man/verify_data.Rd b/man/verify_data.Rd new file mode 100644 index 0000000..2a65f63 --- /dev/null +++ b/man/verify_data.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{verify_data} +\alias{verify_data} +\title{Verify shape data} +\usage{ +verify_data(shape_data, simplify, shape_label_field) +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +} +\value{ +(SF or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +This function runs a check on shape inputs and looks for errors +} diff --git a/man/verify_raster.Rd b/man/verify_raster.Rd new file mode 100644 index 0000000..2953e52 --- /dev/null +++ b/man/verify_raster.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{verify_raster} +\alias{verify_raster} +\title{Verify shape data} +\usage{ +verify_raster(shape_data, simplify, shape_label_field) +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +} +\value{ +(SF or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +This function runs a check on shape inputs and looks for errors +} diff --git a/man/verify_shape.Rd b/man/verify_shape.Rd new file mode 100644 index 0000000..84e2992 --- /dev/null +++ b/man/verify_shape.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{verify_shape} +\alias{verify_shape} +\title{Verify shape data} +\usage{ +verify_shape(shape_data, simplify, shape_label_field) +} +\arguments{ +\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} + +\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} + +\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +} +\value{ +(SF or Character) - Returns the resulting simplified SF object or an error string if failed +} +\description{ +This function runs a check on shape inputs and looks for errors +} diff --git a/man/wgs84.Rd b/man/wgs84.Rd deleted file mode 100644 index e11c8f7..0000000 --- a/man/wgs84.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/diag_header.R -\docType{data} -\name{wgs84} -\alias{wgs84} -\title{Proj4 string for default WGS84 (EPSG:4326) coordinate reference system} -\format{An object of class \code{character} of length 1.} -\usage{ -wgs84 -} -\description{ -String for specifying the default WGS84 projection in mapping functions -Its value is \code{'+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'} -} -\keyword{datasets} diff --git a/tests/testthat/test_create_map.R b/tests/testthat/test_create_map.R new file mode 100644 index 0000000..efc409e --- /dev/null +++ b/tests/testthat/test_create_map.R @@ -0,0 +1,29 @@ +library(gcammaptools) +context("Creating map from shape file and raster") + +shp_path <- "shp/reg32_spart.shp" +raster_path <- "raster/gaplf2011lc_v30_ri.tif" + +test_that("Creating map from shape and raster", { + shp <- import_mapdata(shp_path) + expect_equal(class(shp), c("sf", "data.frame")) + expect_equal(nrow(shp), 948) + expect_equal(names(import_mapdata(shp_path)), + c("region_id", "geometry")) +}) + + +test_that("loading an existing shape file returns same file", { + shp <- import_mapdata(shp_path) + expect_identical(shp, import_mapdata(shp)) +}) + +test_that("imported json loads successfully", { +}) + + + +#test <- create_map(shape_data = "e:/repos/github/data/ri/State_Boundary_1997.shp", raster_data = "E:/Repos/github/data/ri/gaplf2011lc_v30_ri.tif", output_file = "./test", raster_col = "gaplf2011lc_v30_ri_COUNT") +#test <- create_map(shape_path = "e:/repos/github/data/USA_adm/USA_adm0.shp", raster_path = "E:/Repos/github/data/ri/gaplf2011lc_v30_ri.tif", output_file = "./test", raster_col = "gaplf2011lc_v30_ri_COUNT", data_classification = "Land") +#test <- create_map(shape_data = "e:/repos/github/data/tm_world_borders_simpl-0.3.shp", raster_data = "E:/Repos/github/data/wc2.0_10m_tavg_01.tif", output_file = "./test", raster_col = "wc2.0_10m_tavg_01") + diff --git a/vignettes/examples.Rmd b/vignettes/examples.Rmd deleted file mode 100644 index 3541899..0000000 --- a/vignettes/examples.Rmd +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: "GCAM Mapping Tools Examples" -author: "Caleb Braun, Catherine Ledna, and Robert Link" -date: "13 February, 2018" -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{GCAM Mapping Tools Examples} - %\VignetteEngine{knitr::rmarkdown} - \usepackage[utf8]{inputenc} ---- - -# GCAM Mapping Tools Examples - -## Introduction -This vignette explains how to use the GCAM Mapping Tools package to display GCAM data in map form. Using this package has a couple of advantages over rolling your own maps. First, it's easy. By the time you've worked through these examples, you will be able to make maps of GCAM data with just a few simple commands. Second, we have defined some default projections and extents for common use cases. This will ensure that the maps you make look professional and conform to the GCAM house style. - -```{r checknamespace, echo=FALSE} -if(!requireNamespace('rgcam', quietly=TRUE)) { - stop('The rgcam package is required to build this vignette') -} -``` - -## Setup -To get started with the GCAM map tools, attach the `gcammaptools` package. -```{r setup} -library('gcammaptools') -``` - -## Loading GCAM data -You will need to load your own GCAM data to work with. The best way to import GCAM results is to use the `rgcam` package, which will create a project file with your data in it. You can then load the project data with `rgcam::loadProject()` and retrieve tables for individual queries using `rgcam::getQuery()`. However, if you aren't using `rgcam`, you can start with any data frame that has a `region` column and one or more data columns. - -```{r load_data, warning=FALSE} -library('rgcam') -### Load the example scenario data. -prj <- loadProject(system.file('sample-gcam-data','gcam-longform-sample.dat', package='gcammaptools')) -listScenarios(prj) -listQueries(prj, 'Reference') -``` - -The sample data has one scenario with 19 queries. For demonstration purposes we will load the CO2 emissions table. After loading the query you want to display, you must add the region identifiers used in the map data to the data frame using the `add_region_ID()` function. - -```{r get_query} -co2 <- rgcam::getQuery(prj, 'CO2 emissions by region', 'Reference') -co2 <- dplyr::filter(co2, year==2050) -co2 <- add_region_ID(co2, lookupfile=rgn32, drops=rgn32) - -### Show the first observations -head(co2) -``` -The data is in long form, so using `dplyr::filter()` helps to get just the observations for the year you want to plot. At the end of this, `co2` is a data frame that has CO2 emissions by region for the year 2050. This structure can now be passed to `plot_GCAM()` to plot maps, as shown in the examples below. - -## Loading map data -When using `plot_GCAM()` for your GCAM data, you also need to provide the map data that it should be associated with. You should use one of the map datasets included in the package whenever possible, because they correspond to the geographical units reported by GCAM. The datasets available are `map.rgn32`, `map.rgn14`, `map.basin235`, `map.usa`, and `map.chn`. They correspond to the 32-region and 14-region GCAM region maps, the 235 global water basin map, and the 32-region map plus states/provinces for the USA and China. Additionally, the non-provincial datasets each have a simplified version such as `map.rgn32.simple`, which is helpful for faster plotting and less cluttered maps. -```{r plot.default, fig.width=3.48, fig.show='hold'} -plot_GCAM(map.rgn32, title="Full 32-Region map") -plot_GCAM(map.rgn32.simple, title="Simplified 32-Region map") -``` - -It is possible, however, for you to load your own map data as well. The map data can be loaded by `gcammaptools` given the file path. Your map data can be in any of the following formats: sf objects, spatial data frames, ESRI Shapefiles, or GeoJSON files. You can either pass the file path to `plot_GCAM()` or load the data yourself first. -```{r load.map, fig.width=4, fig.align='center'} -mapdata <- system.file("extdata/rgn32", "reg32_spart.shp", package = "gcammaptools") -mapdata -plot_GCAM(mapdata) -``` - -## Sample maps - -### Example 1: Eckert III World Projection, Colored by Region - -This example just plots the map data frame with the GCAM region name. Applying a scale with `gcam32_colors`, the default GCAM colors, you get each region colored according to a discrete color palette. For older data that uses 14-region GCAM, you can use the palette `gcam14_colors`. -```{r mp1, fig.width=6, fig.height=3, fig.align='center'} -plot_GCAM(map.rgn32.simple, col = 'region_name', proj = eck3) + - ggplot2::scale_fill_manual(values = gcam32_colors, na.value=gray(0.75)) -``` - -### Example 2: Robinson World Projection, Colored by Regional CO2 Emissions -In this example we plot the CO2 data frame that we created above. We select the column `value`, which is the name of the column that contains the data. It is also necessary to specify how to join the this data frame to the map data, which is why we created the column `id` with the function `add_region_id()` above. -```{r mp2, fig.width=6, fig.height=4, fig.align='center'} -plot_GCAM(map.rgn32.simple, col='value', proj=robin, title="Robinson World", legend=T, - gcam_df=co2) + - ggplot2::scale_fill_gradientn(colors = c("white", "red"), - na.value = gray(0.75), name="CO2 Emissions (MTC)") -``` - -### Example 3: U.S. Projection (Albers Equal Area) -This map is specialized to the continental USA. The `na_aea` and `EXTENT_USA` symbols are defined for convenience, but you can use any valid proj4 string (see `proj4::project` for how these strings are constructed) for the projection. The extent should be the bounding box of the plot area in the form `c(lon.min, lon.max, lat.min, lat.max)`. -```{r mp3, fig.width=4, fig.height=4, fig.align='center'} -plot_GCAM(map.rgn32, col='region_id', proj=na_aea, extent=EXTENT_USA, - title="USA Albers Equal-Area") -``` - -### Example 4: Africa Projection (Orthographic) -For superregions with a long north-south extent, the orthographic projection gives the best result. We have predefined one for Africa, but you can find others defined by proj4 strings from http://spatialreference.org as shown in the following example. Although the extent parameter is the best way to specify the view you want, you can fine-tune the final plot by adjusting the zoom. -```{r mp4, fig.width=4, fig.height=4, fig.align='center'} -plot_GCAM(map.rgn32, col='region_name', proj=af_ortho, extent=EXTENT_AFRICA, - title="Africa Orthographic") + - ggplot2::scale_fill_manual(values = gcam32_colors) -``` - -### Example 5: Latin America Projection (Orthographic) -Orthographic projection of the Latin America superregion. Notice that projection strings can also be defined by specifying an EPSG, ESRI, or SR-ORG projection code. -```{r mp5, fig.width=4, fig.height=4, fig.align='center'} -plot_GCAM(map.rgn32, col='region_name', proj=7567, proj_type='SR-ORG', - extent=EXTENT_LA, title="Latin America Orthographic") + - ggplot2::scale_fill_manual(values = gcam32_colors) -``` - -### Example 6: China Projection (Albers Equal Area) -A map of China. Although the projection is once again the Albers equal area projection, we have to have a different projection string because the string includes some information about the parallels the projection is based on. -```{r mp6, fig.width=4, fig.height=4, fig.align='center'} -plot_GCAM(map.rgn32, proj=ch_aea, extent=EXTENT_CHINA, title="China Albers Equal-Area") -``` - - -### Example 7: Global Water Basins -A map of the 235 global water basins. Because `col` is set to `basin_name`, each basin name is treated as a separate category, giving the colorful map below. -```{r mp7, fig.width=6, fig.height=3, fig.align='center'} -plot_GCAM(map.basin235, col='basin_name', proj=eck3) -``` - - -### Example 8: Gridded Data -The `plot_GCAM_grid()` function tiles gridded data over a base map. -```{r mp8, fig.width=4, fig.height=6, fig.align='center'} -co2grid <- rgcam::getQuery(prj, 'Cooling Degree Days', 'Reference') -plot_GCAM_grid(co2grid, col='value', proj=robin, extent=EXTENT_LA, legend=T) + - ggplot2::scale_fill_gradientn(colors=c("white", "red"), - guide=ggplot2::guide_colorbar(title="Cooling Degree Days", - title.position="top")) - -``` - -### Example 9: Faceting -Using `ggplot::facet_wrap()` is often a good way to compare the results from several different scenarios. To do this with `plot_GCAM()`, it is important to make sure that your dataset contains the facet variable for each region you want to plot. By default, `add_region_ID()` puts in `NA` values for missing regions. The `disaggregate` parameter allows you to specify that the missing regions with no data should be included in each facet. -```{r mp9, fig.width=7, fig.height=3, fig.align='center'} -waterdata <- read.csv(system.file('extdata','facet_example.csv', package='gcammaptools'), - stringsAsFactors = F) -waterdata <- add_region_ID(waterdata, disaggregate = 'scenario') - -plot_GCAM(map.rgn32.simple, col='value', legend=T, gcam_df=waterdata, - title="Water Scarcity in 2100") + - ggplot2::scale_fill_gradientn(colors=c("deepskyblue", "firebrick1"), - na.value=gray(0.9), - guide=ggplot2::guide_colorbar(title="km^3", - barwidth=12)) + - ggplot2::facet_wrap(~scenario) - -``` - -### Example 10: GCAM China -Data from GCAM China may contain extra regions that you want to drop as well as region name abbreviations that you want to translate into the full province name. -```{r mp10, fig.width=6, fig.height=4, fig.align='center'} -gcamchina <- read.csv(system.file('extdata', 'china_example.csv', package='gcammaptools'), - stringsAsFactors = F) -gcamchina <- add_region_ID(gcamchina, lookupfile = chn, provincefile = chn, drops = chn) - -# Highlight the provinces by filtering out values from other regions -gcamchina[!is.na(gcamchina$id) & gcamchina$id <= 32, 'value'] <- NA -plot_GCAM(map.chn, col='value', gcam_df=gcamchina, proj=ch_aea, - extent=EXTENT_CHINA) -``` - -### Example 11: GCAM USA -Support is also provided for GCAM USA data. The map expects states to be identified by their two letter abbreviations, which can be added on using `add_region_id()` with `lookupfile = usa`, as long as the state full names are present. -```{r mp11, fig.width=6, fig.height=4, fig.align='center'} -gcamusa <- read.csv(system.file('extdata', 'usa_example.csv', package='gcammaptools'), - stringsAsFactors = F) -plot_GCAM(map.usa, col='value', gcam_df=gcamusa, gcam_key='region', proj=na_aea, - extent=EXTENT_USA) -``` From c1ccebcf96ede707ed9b3e9834c11ffab6b51da6 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 21 Apr 2020 09:12:21 -0400 Subject: [PATCH 02/42] Update utils file name to spatial_utils and moved functions from map over --- .gitignore | 1 + R/{utils.R => spatial_utils.R} | 215 +++++++++++++++++++++++++++++++++ 2 files changed, 216 insertions(+) rename R/{utils.R => spatial_utils.R} (62%) diff --git a/.gitignore b/.gitignore index 35865db..6d419f9 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ xcuserdata .RData .Rproj.user inst/doc +test.png diff --git a/R/utils.R b/R/spatial_utils.R similarity index 62% rename from R/utils.R rename to R/spatial_utils.R index 3243ca2..e6dd2e2 100644 --- a/R/utils.R +++ b/R/spatial_utils.R @@ -3,6 +3,221 @@ # Contains general helper functions for the package + +#' Process shape +#' +#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +process_shape <- function(shape_data, simplify, shape_label_field) +{ + tryCatch( + { + # Shape loading - if given a path, use that, else expect an object passed in + if(is.null(shape_data)) + { + return("Error: Shape data is NULL") + } + else if(class(shape_data) %in% "sf") + { + shape_obj <- shape_data + } + else if(class(shape_data) %in% "character") + { + if (file.exists(shape_data)) + { + shape_obj <- gcammaptools::import_mapdata(shape_data) + } + else + { + return(paste0("Cannot open Shape file ", raster_data)) + } + } + else + { + return("Error: Unrecognized shape_data argument.") + } + + # Optional argument to simplify polygons via the simplify_mapdata function + if(simplify) + { + shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(shape_obj) +} + + + + +#' Process raster +#' +#' @param raster_data (Raster or Character) - Either the full path string to raster file or a raster object +#' @param raster_col (Character) - Column name that contains the raster object's output variable +#' @param raster_band (Numeric) - Future variable for dealing with multi band/time series rasters etc +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster +#' @param convert_zero (Boolean) - Convert raster zero values to NA +#' @importFrom rgis import_raster +#' @importFrom ggspatial layer_spatial df_spatial +#' @importFrom raster raster crs +#' @return (Raster or Character) - Returns the resulting raster object or an error string if failed +#' @export +process_raster <- function( raster_data , raster_col, raster_band, bin_method, bins, convert_zero) +{ + # Default projection if raster is missing CRS + default_projection <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" + tryCatch( + { + # Raster loading - if given a path, use that, else expect an object passed in + if(is.null(raster_data)) + { + return("Error: Raster data is NULL") + } + else if(class(raster_data) %in% "RasterLayer") + { + raster_obj <- raster_data + } + else if(class(raster_data) %in% "character") + { + if (file.exists(raster_data)) + { + raster_obj <- import_raster(raster_data) + } + else + { + return(paste0("Cannot open Raster file ", raster_data)) + } + } + else + { + return("Unrecognized raster_data argument.") + } + + # Set raster band + if(raster_band != 1) + { + raster_obj <- raster(raster_obj, band=raster_band) + } + + # Convert zeroes to NA if enabled + if(convert_zero == TRUE) + { + raster_obj[raster_obj==0] <- NA + } + + # Verify raster CRS and assign default if NA + if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) + { + raster::crs(raster_obj) <- crs(default_projection) + print("Applying default CRS to raster (raster CRS was NA or NULL)") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(raster_obj) +} + + +#' Handles saving the map output to disk +#' +#' Initially one line of code, this function is likely to be expanded +#' +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") +#' @param dpi (Numeric) - Settable DPI for different print/screen formats +#' @param map_width (Numeric) - Map width in inches +#' @param map_height (Numeric) - Map height in inches +#' @return (Character) - Returns a character string with success or an error string if failed +#' @importFrom ggplot2 ggsave +#' @export +save_plot <- function(output_file, dpi, map_width, map_height) +{ + output <- "success" + tryCatch( + { + # Get file type dynamically and save to path + file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) + + if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) + { + ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, + width = map_width, height = map_height) + } + else + { + return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(output) +} + + +#' Process data +#' +#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @return (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed +#' @export +process_data <- function(map_data) +{ + tryCatch( + { + # Map Data - if given a path to a csv, use that, else expect a data.frame object passed in + if(is.null(map_data)) + { + return("Error: Map data cannot be NULL") + } + else if(class(map_data) %in% "data.frame") + { + map_obj <- map_data + } + else if(class(map_data) %in% "character") + { + if (file.exists(map_data)) + { + map_obj <- read.csv(map_data, stringsAsFactors = F) + } + else + { + return(paste0("Error: Cannot open data file ", map_data)) + } + } + else + { + return("Error: Unrecognized map_data argument.") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(map_obj) +} + + #' Import ESRI Shapefile or GeoJSON as sf object. #' #' Creates a Simple Feature (sf) object from full path string to ESRI Shapefile From 570d383fcc758668a059dda0dad0865c8d3d2d4b Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 21 Apr 2020 10:37:24 -0400 Subject: [PATCH 03/42] Updating error checking functions parameters and function shells --- R/error_checking.R | 68 ++++++++++----- R/maps.R | 213 --------------------------------------------- R/spatial_utils.R | 2 - 3 files changed, 46 insertions(+), 237 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index a33f6ab..873cad3 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -1,3 +1,5 @@ +#' Error checking functions for maps package + #' Verify shape data #' @@ -5,57 +7,79 @@ #' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object #' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' @return (Character) - Returns a success token or an error string if failed #' @export verify_shape <- function(shape_data, simplify, shape_label_field) { + # Check shape file has projection + # looks for the mentioned shape key field + # looks for projection + # check simplify for valid option (true or false) + + result <- "Success" + return(result) } -#' Verify shape data +#' Verify raster data #' -#' This function runs a check on shape inputs and looks for errors -#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) -#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' This function runs a check on raster inputs and looks for errors +#' @param raster_data (Raster or Character) - Either the full path string to raster file or a raster object +#' @param raster_col (Character) - Column name that contains the raster object's output variable +#' @param raster_band (Numeric) - Future variable for dealing with multi band/time series rasters etc +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster +#' @param convert_zero (Boolean) - Convert raster zero values to NA# +#' @return (Character) - Returns a success token or an error string if failed #' @export -verify_raster <- function(shape_data, simplify, shape_label_field) +verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bins, convert_zero) { + # Verify raster_data and class + # looks for raster_col key field + # looks for projection + # verify bin method + # verify bins + result <- "Success" + return(result) } -#' Verify shape data +#' Verify map data #' -#' This function runs a check on shape inputs and looks for errors -#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) -#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' This function runs a check on map data inputs and looks for errors +#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @return (Character) - Returns a success token or an error string if failed #' @export -verify_data <- function(shape_data, simplify, shape_label_field) +verify_data <- function(map_data) { + # Future + # Does it have nulls? + # Is the field there? + # Warning that pops up to the user about null values + result <- "Success" + return(result) } -#' Verify shape data +#' Verify csv data #' -#' This function runs a check on shape inputs and looks for errors -#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) -#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed +#' This function runs a check on csv data inputs and looks for errors +#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @return (Character) - Returns a success token or an error string if failed #' @export -verify_csv <- function(shape_data, simplify, shape_label_field) +verify_csv <- function(map_data) { + result <- "Success" + + return(result) } diff --git a/R/maps.R b/R/maps.R index 0c7d279..bd610d1 100644 --- a/R/maps.R +++ b/R/maps.R @@ -389,216 +389,3 @@ distributed_flow <- function(shape_data = NULL, shape_key_field = NULL, shape_la } - -#' Process shape -#' -#' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) -#' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed -#' @export -process_shape <- function(shape_data, simplify, shape_label_field) -{ - tryCatch( - { - # Shape loading - if given a path, use that, else expect an object passed in - if(is.null(shape_data)) - { - return("Error: Shape data is NULL") - } - else if(class(shape_data) %in% "sf") - { - shape_obj <- shape_data - } - else if(class(shape_data) %in% "character") - { - if (file.exists(shape_data)) - { - shape_obj <- gcammaptools::import_mapdata(shape_data) - } - else - { - return(paste0("Cannot open Shape file ", raster_data)) - } - } - else - { - return("Error: Unrecognized shape_data argument.") - } - - # Optional argument to simplify polygons via the simplify_mapdata function - if(simplify) - { - shape_obj <- gcammaptools::simplify_mapdata(shape_obj) - } - }, - error = function(err) - { - # error handler picks up error information - error <- err - return(error) - }) - - return(shape_obj) -} - - - - -#' Process raster -#' -#' @param raster_data (Raster or Character) - Either the full path string to raster file or a raster object -#' @param raster_col (Character) - Column name that contains the raster object's output variable -#' @param raster_band (Numeric) - Future variable for dealing with multi band/time series rasters etc -#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks -#' @param bins (Numeric) - Number of bins/segments in which to divide the raster -#' @param convert_zero (Boolean) - Convert raster zero values to NA -#' @importFrom rgis import_raster -#' @importFrom ggspatial layer_spatial df_spatial -#' @importFrom raster raster crs -#' @return (Raster or Character) - Returns the resulting raster object or an error string if failed -#' @export -process_raster <- function( raster_data , raster_col, raster_band, bin_method, bins, convert_zero) -{ - # Default projection if raster is missing CRS - default_projection <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" - tryCatch( - { - # Raster loading - if given a path, use that, else expect an object passed in - if(is.null(raster_data)) - { - return("Error: Raster data is NULL") - } - else if(class(raster_data) %in% "RasterLayer") - { - raster_obj <- raster_data - } - else if(class(raster_data) %in% "character") - { - if (file.exists(raster_data)) - { - raster_obj <- import_raster(raster_data) - } - else - { - return(paste0("Cannot open Raster file ", raster_data)) - } - } - else - { - return("Unrecognized raster_data argument.") - } - - # Set raster band - if(raster_band != 1) - { - raster_obj <- raster(raster_obj, band=raster_band) - } - - # Convert zeroes to NA if enabled - if(convert_zero == TRUE) - { - raster_obj[raster_obj==0] <- NA - } - - # Verify raster CRS and assign default if NA - if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) - { - raster::crs(raster_obj) <- crs(default_projection) - print("Applying default CRS to raster (raster CRS was NA or NULL)") - } - }, - error = function(err) - { - # error handler picks up error information - error <- err - return(error) - }) - - return(raster_obj) -} - - -#' Handles saving the map output to disk -#' -#' Initially one line of code, this function is likely to be expanded -#' -#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") -#' @param dpi (Numeric) - Settable DPI for different print/screen formats -#' @param map_width (Numeric) - Map width in inches -#' @param map_height (Numeric) - Map height in inches -#' @return (Character) - Returns a character string with success or an error string if failed -#' @importFrom ggplot2 ggsave -#' @export -save_plot <- function(output_file, dpi, map_width, map_height) -{ - output <- "success" - tryCatch( - { - # Get file type dynamically and save to path - file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) - - if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) - { - ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, - width = map_width, height = map_height) - } - else - { - return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") - } - }, - error = function(err) - { - # error handler picks up error information - error <- err - return(error) - }) - - return(output) -} - - -#' Process data -#' -#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object -#' @return (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed -#' @export -process_data <- function(map_data) -{ - tryCatch( - { - # Map Data - if given a path to a csv, use that, else expect a data.frame object passed in - if(is.null(map_data)) - { - return("Error: Map data cannot be NULL") - } - else if(class(map_data) %in% "data.frame") - { - map_obj <- map_data - } - else if(class(map_data) %in% "character") - { - if (file.exists(map_data)) - { - map_obj <- read.csv(map_data, stringsAsFactors = F) - } - else - { - return(paste0("Error: Cannot open data file ", map_data)) - } - } - else - { - return("Error: Unrecognized map_data argument.") - } - }, - error = function(err) - { - # error handler picks up error information - error <- err - return(error) - }) - - return(map_obj) -} diff --git a/R/spatial_utils.R b/R/spatial_utils.R index e6dd2e2..d0d6f6d 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -57,8 +57,6 @@ process_shape <- function(shape_data, simplify, shape_label_field) } - - #' Process raster #' #' @param raster_data (Raster or Character) - Either the full path string to raster file or a raster object From e164c85c4069ac1c1c1977a7451b95f89ea796e8 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 21 Apr 2020 12:52:15 -0400 Subject: [PATCH 04/42] Updated file name to spatial_utils, added output.r for specific output related functions --- R/output.R | 43 +++++++++++++++++++++++++++++++++++++++++++ R/spatial_utils.R | 38 -------------------------------------- 2 files changed, 43 insertions(+), 38 deletions(-) create mode 100644 R/output.R diff --git a/R/output.R b/R/output.R new file mode 100644 index 0000000..f730077 --- /dev/null +++ b/R/output.R @@ -0,0 +1,43 @@ +# output.R +# +# Contains general output functions for the package + + +#' Handles saving the map output to disk +#' +#' Initially one line of code, this function is likely to be expanded +#' +#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") +#' @param dpi (Numeric) - Settable DPI for different print/screen formats +#' @param map_width (Numeric) - Map width in inches +#' @param map_height (Numeric) - Map height in inches +#' @return (Character) - Returns a character string with success or an error string if failed +#' @importFrom ggplot2 ggsave +#' @export +save_plot <- function(output_file, dpi, map_width, map_height) +{ + output <- "success" + tryCatch( + { + # Get file type dynamically and save to path + file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) + + if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) + { + ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, + width = map_width, height = map_height) + } + else + { + return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) + + return(output) +} diff --git a/R/spatial_utils.R b/R/spatial_utils.R index d0d6f6d..80eb824 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -3,7 +3,6 @@ # Contains general helper functions for the package - #' Process shape #' #' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object @@ -131,44 +130,7 @@ process_raster <- function( raster_data , raster_col, raster_band, bin_method, b } -#' Handles saving the map output to disk -#' -#' Initially one line of code, this function is likely to be expanded -#' -#' @param output_file (Character) - Output file path and file name/type to save the resulting plot (e.g. "c:/temp/output.png") Available file types ("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg") -#' @param dpi (Numeric) - Settable DPI for different print/screen formats -#' @param map_width (Numeric) - Map width in inches -#' @param map_height (Numeric) - Map height in inches -#' @return (Character) - Returns a character string with success or an error string if failed -#' @importFrom ggplot2 ggsave -#' @export -save_plot <- function(output_file, dpi, map_width, map_height) -{ - output <- "success" - tryCatch( - { - # Get file type dynamically and save to path - file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) - if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) - { - ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, - width = map_width, height = map_height) - } - else - { - return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") - } - }, - error = function(err) - { - # error handler picks up error information - error <- err - return(error) - }) - - return(output) -} #' Process data From 9a79419797367acf35a38ac12e19135ed8ab1a69 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Wed, 22 Apr 2020 13:47:41 -0400 Subject: [PATCH 05/42] Work on error checking, many changes, this is a partial development push since there isn't a good stopping point --- NAMESPACE | 4 +++ R/error_checking.R | 73 +++++++++++++++++++++++++++++++++++++++- R/maps.R | 41 +++++++++++++++++----- R/spatial_utils.R | 71 +++++++++++--------------------------- R/sysdata.rda | Bin 3942 -> 0 bytes man/assign_prj4s.Rd | 2 +- man/get_prj4s.Rd | 2 +- man/import_mapdata.Rd | 2 +- man/load_shp.Rd | 2 +- man/pgon_from_extent.Rd | 2 +- man/process_data.Rd | 2 +- man/process_raster.Rd | 2 +- man/process_shape.Rd | 2 +- man/remove_invalid.Rd | 2 +- man/save_plot.Rd | 2 +- man/simplify_mapdata.Rd | 2 +- man/spat_bb.Rd | 2 +- man/verify_csv.Rd | 14 +++----- man/verify_data.Rd | 14 +++----- man/verify_raster.Rd | 21 ++++++++---- man/verify_shape.Rd | 5 +-- 21 files changed, 168 insertions(+), 99 deletions(-) delete mode 100644 R/sysdata.rda diff --git a/NAMESPACE b/NAMESPACE index 73763ce..ac0e5b0 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -17,13 +17,17 @@ import(RColorBrewer) importFrom(classInt,classIntervals) importFrom(dplyr,left_join) importFrom(dplyr,mutate) +importFrom(ggplot2,aes_string) importFrom(ggplot2,coord_sf) +importFrom(ggplot2,element_text) +importFrom(ggplot2,expand_scale) importFrom(ggplot2,geom_raster) importFrom(ggplot2,geom_sf) importFrom(ggplot2,geom_sf_label) importFrom(ggplot2,ggplot) importFrom(ggplot2,ggsave) importFrom(ggplot2,labs) +importFrom(ggplot2,scale_fill_brewer) importFrom(ggplot2,scale_fill_distiller) importFrom(ggplot2,scale_x_continuous) importFrom(ggplot2,scale_x_discrete) diff --git a/R/error_checking.R b/R/error_checking.R index 873cad3..95c253c 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -9,7 +9,7 @@ #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) #' @return (Character) - Returns a success token or an error string if failed #' @export -verify_shape <- function(shape_data, simplify, shape_label_field) +verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL) { # Check shape file has projection # looks for the mentioned shape key field @@ -18,6 +18,42 @@ verify_shape <- function(shape_data, simplify, shape_label_field) result <- "Success" + # Shape loading - if given a path, use that, else expect an object passed in + if(is.null(shape_data)) + { + return("Error: Shape data is NULL") + } + else if(class(shape_data) %in% "sf") + { + shape_obj <- shape_data + + # Verify raster CRS and assign default if NA + if(is.na(crs(shape_obj)) || is.null(crs(shape_obj))) + { + sf::st_crs(shape_obj) <- crs(default_projection) + print("Applying default CRS to shape (shape CRS was NA or NULL)") + } + } + else if(class(shape_data) %in% "character") + { + if (file.exists(shape_data)) + { + shape_obj <- gcammaptools::import_mapdata(shape_data) + } + else + { + return(paste0("Cannot open Shape file ", raster_data)) + } + } + else + { + return("Error: Unrecognized shape_data argument.") + } + + if(!is.null(shape_data_field)) + { + # look for shape data field + } return(result) } @@ -43,8 +79,39 @@ verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bin # verify bin method # verify bins + # Default projection if raster is missing CRS + default_projection <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" + result <- "Success" + # Raster loading - if given a path, use that, else expect an object passed in + if(is.null(raster_data)) + { + return("Error: Raster data is NULL") + } + else if(class(raster_data) %in% "RasterLayer") + { + raster_obj <- raster_data + } + else if(class(raster_data) %in% "character") + { + if (!file.exists(raster_data)) + { + return("Error: Cannon process raster file: Raster file does not exist or raster path is malformed.") + } + } + else + { + return("Error: Unrecognized raster_data argument.") + } + + # Verify raster CRS and assign default if NA + if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) + { + raster::crs(raster_obj) <- crs(default_projection) + print("Applying default CRS to raster (raster CRS was NA or NULL)") + } + return(result) } @@ -77,6 +144,10 @@ verify_data <- function(map_data) verify_csv <- function(map_data) { + # Check csv for things like character Unicode + # Check field they provided there etc + + result <- "Success" return(result) diff --git a/R/maps.R b/R/maps.R index bd610d1..1872145 100644 --- a/R/maps.R +++ b/R/maps.R @@ -43,12 +43,24 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ output <- "Default error" tryCatch( { - # Create shape and raster objects via local processing functions - shape_obj <- process_shape(shape_data, simplify, shape_label_field) + result <- verify_shape(shape_data, simplify, shape_label_field) + # If shape passes verification, load and process + if(result == "Success") + { + # Create shape object via local processing function + shape_obj <- process_shape(shape_data, simplify, shape_label_field) + } + else + { + # Verify shape failed, return result + return(result) + } + + # Verify processed object is a shape object. If not, it's an error and return it if(class(shape_obj) == "character") { - return("Error: Shape argument is not of type sf and could not be coerced") + return(paste0("Error: There was an error processing the shape object: ", shape_obj)) } # Create raster @@ -59,6 +71,7 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ return("Error: Raster argument is not of type RasterLayer") } + # Perform shape and raster comparisons/other operations # Compare projections and equalize if necessary if(!compareCRS(shape_obj, raster_obj)) @@ -186,7 +199,7 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ #' @return (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed #' @importFrom sf st_transform st_crs #' @importFrom dplyr mutate left_join -#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal +#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal expand_scale scale_fill_brewer aes_string element_text #' @importFrom ggspatial layer_spatial df_spatial #' @importFrom classInt classIntervals #' @import RColorBrewer @@ -203,13 +216,25 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi output <- "Default error" tryCatch( { - # Create shape object via local processing function - shape_obj <- process_shape(shape_data, simplify, shape_label_field) + # Verify shape + result <- verify_shape(shape_data, simplify, shape_label_field) + + # If shape passes verification, load and process + if(result == "Success") + { + # Create shape object via local processing function + shape_obj <- process_shape(shape_data, simplify, shape_label_field, shape_data_field) + } + else + { + # Verify shape failed, return result + return(result) + } - # Verify object is a shape object, if not it's an error and return it + # Verify processed object is a shape object. If not, it's an error and return it if(class(shape_obj) == "character") { - return("Error: Shape argument is not of type sf and could not be coerced") + return(paste0("Error: There was an error processing the shape object: ", shape_obj)) } # Read/process map data object via local processing function diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 80eb824..8468c1e 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -14,35 +14,24 @@ process_shape <- function(shape_data, simplify, shape_label_field) { tryCatch( { - # Shape loading - if given a path, use that, else expect an object passed in - if(is.null(shape_data)) - { - return("Error: Shape data is NULL") - } - else if(class(shape_data) %in% "sf") - { - shape_obj <- shape_data - } - else if(class(shape_data) %in% "character") + # Verify shape + result <- verify_shape(shape_data, simplify, shape_label_field) + + # If shape passes verification, load and process + if(result == "Success") { - if (file.exists(shape_data)) - { - shape_obj <- gcammaptools::import_mapdata(shape_data) - } - else + # Import shape data + shape_obj <- gcammaptools::import_mapdata(shape_data) + + # Optional argument to simplify polygons via the simplify_mapdata function + if(simplify) { - return(paste0("Cannot open Shape file ", raster_data)) + shape_obj <- gcammaptools::simplify_mapdata(shape_obj) } } else { - return("Error: Unrecognized shape_data argument.") - } - - # Optional argument to simplify polygons via the simplify_mapdata function - if(simplify) - { - shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + return(result) } }, error = function(err) @@ -71,33 +60,20 @@ process_shape <- function(shape_data, simplify, shape_label_field) #' @export process_raster <- function( raster_data , raster_col, raster_band, bin_method, bins, convert_zero) { - # Default projection if raster is missing CRS - default_projection <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" tryCatch( { - # Raster loading - if given a path, use that, else expect an object passed in - if(is.null(raster_data)) - { - return("Error: Raster data is NULL") - } - else if(class(raster_data) %in% "RasterLayer") - { - raster_obj <- raster_data - } - else if(class(raster_data) %in% "character") + # Verify raster + result <- verify_raster(raster_data , raster_col, raster_band, bin_method, bins, convert_zero) + + # If raster passes verification, load and process + if(result == "Success") { - if (file.exists(raster_data)) - { - raster_obj <- import_raster(raster_data) - } - else - { - return(paste0("Cannot open Raster file ", raster_data)) - } + # Import raster data + raster_obj <- import_raster(raster_data) } else { - return("Unrecognized raster_data argument.") + return(result) } # Set raster band @@ -111,13 +87,6 @@ process_raster <- function( raster_data , raster_col, raster_band, bin_method, b { raster_obj[raster_obj==0] <- NA } - - # Verify raster CRS and assign default if NA - if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) - { - raster::crs(raster_obj) <- crs(default_projection) - print("Applying default CRS to raster (raster CRS was NA or NULL)") - } }, error = function(err) { diff --git a/R/sysdata.rda b/R/sysdata.rda deleted file mode 100644 index 7f7dc3e7b0d38f09db585bfa4c5b8e9a80a1aa66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3942 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 diff --git a/man/assign_prj4s.Rd b/man/assign_prj4s.Rd index d9826e6..4b1377b 100644 --- a/man/assign_prj4s.Rd +++ b/man/assign_prj4s.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{assign_prj4s} \alias{assign_prj4s} \title{Helper function for assigning a Proj4 string from several possible inputs.} diff --git a/man/get_prj4s.Rd b/man/get_prj4s.Rd index d9c7f38..d519106 100644 --- a/man/get_prj4s.Rd +++ b/man/get_prj4s.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{get_prj4s} \alias{get_prj4s} \title{Retrieve proj4 projection string.} diff --git a/man/import_mapdata.Rd b/man/import_mapdata.Rd index f04abd6..ec7e512 100644 --- a/man/import_mapdata.Rd +++ b/man/import_mapdata.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{import_mapdata} \alias{import_mapdata} \title{Single import function for compatible data types.} diff --git a/man/load_shp.Rd b/man/load_shp.Rd index 9f3bc09..b237563 100644 --- a/man/load_shp.Rd +++ b/man/load_shp.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{load_shp} \alias{load_shp} \title{Import ESRI Shapefile or GeoJSON as sf object.} diff --git a/man/pgon_from_extent.Rd b/man/pgon_from_extent.Rd index fd6fdf7..3d89701 100644 --- a/man/pgon_from_extent.Rd +++ b/man/pgon_from_extent.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{pgon_from_extent} \alias{pgon_from_extent} \title{Create a rectangluar sf polygon from numeric extent or sf bbox.} diff --git a/man/process_data.Rd b/man/process_data.Rd index 31ef93e..9c1b5c6 100644 --- a/man/process_data.Rd +++ b/man/process_data.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/maps.R +% Please edit documentation in R/spatial_utils.R \name{process_data} \alias{process_data} \title{Process data} diff --git a/man/process_raster.Rd b/man/process_raster.Rd index 5fb958c..e327617 100644 --- a/man/process_raster.Rd +++ b/man/process_raster.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/maps.R +% Please edit documentation in R/spatial_utils.R \name{process_raster} \alias{process_raster} \title{Process raster} diff --git a/man/process_shape.Rd b/man/process_shape.Rd index 66ff78f..c67d221 100644 --- a/man/process_shape.Rd +++ b/man/process_shape.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/maps.R +% Please edit documentation in R/spatial_utils.R \name{process_shape} \alias{process_shape} \title{Process shape} diff --git a/man/remove_invalid.Rd b/man/remove_invalid.Rd index f9380e5..b8d2add 100644 --- a/man/remove_invalid.Rd +++ b/man/remove_invalid.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{remove_invalid} \alias{remove_invalid} \title{Clean spatial data.} diff --git a/man/save_plot.Rd b/man/save_plot.Rd index 341d858..a1b993a 100644 --- a/man/save_plot.Rd +++ b/man/save_plot.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/maps.R +% Please edit documentation in R/output.R \name{save_plot} \alias{save_plot} \title{Handles saving the map output to disk} diff --git a/man/simplify_mapdata.Rd b/man/simplify_mapdata.Rd index 3823d7b..7866aae 100644 --- a/man/simplify_mapdata.Rd +++ b/man/simplify_mapdata.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{simplify_mapdata} \alias{simplify_mapdata} \title{Reduce number of polygons and size of polygons for map Shapefiles} diff --git a/man/spat_bb.Rd b/man/spat_bb.Rd index d3c9662..f2b7de0 100644 --- a/man/spat_bb.Rd +++ b/man/spat_bb.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/utils.R +% Please edit documentation in R/spatial_utils.R \name{spat_bb} \alias{spat_bb} \title{Create sf object from numeric extent.} diff --git a/man/verify_csv.Rd b/man/verify_csv.Rd index c2f02f2..559cc59 100644 --- a/man/verify_csv.Rd +++ b/man/verify_csv.Rd @@ -2,20 +2,16 @@ % Please edit documentation in R/error_checking.R \name{verify_csv} \alias{verify_csv} -\title{Verify shape data} +\title{Verify csv data} \usage{ -verify_csv(shape_data, simplify, shape_label_field) +verify_csv(map_data) } \arguments{ -\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} - -\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} - -\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +\item{map_data}{(Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object} } \value{ -(SF or Character) - Returns the resulting simplified SF object or an error string if failed +(Character) - Returns a success token or an error string if failed } \description{ -This function runs a check on shape inputs and looks for errors +This function runs a check on csv data inputs and looks for errors } diff --git a/man/verify_data.Rd b/man/verify_data.Rd index 2a65f63..dae3504 100644 --- a/man/verify_data.Rd +++ b/man/verify_data.Rd @@ -2,20 +2,16 @@ % Please edit documentation in R/error_checking.R \name{verify_data} \alias{verify_data} -\title{Verify shape data} +\title{Verify map data} \usage{ -verify_data(shape_data, simplify, shape_label_field) +verify_data(map_data) } \arguments{ -\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} - -\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} - -\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +\item{map_data}{(Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object} } \value{ -(SF or Character) - Returns the resulting simplified SF object or an error string if failed +(Character) - Returns a success token or an error string if failed } \description{ -This function runs a check on shape inputs and looks for errors +This function runs a check on map data inputs and looks for errors } diff --git a/man/verify_raster.Rd b/man/verify_raster.Rd index 2953e52..a2b5b45 100644 --- a/man/verify_raster.Rd +++ b/man/verify_raster.Rd @@ -2,20 +2,27 @@ % Please edit documentation in R/error_checking.R \name{verify_raster} \alias{verify_raster} -\title{Verify shape data} +\title{Verify raster data} \usage{ -verify_raster(shape_data, simplify, shape_label_field) +verify_raster(raster_data, raster_col, raster_band, bin_method, bins, + convert_zero) } \arguments{ -\item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} +\item{raster_data}{(Raster or Character) - Either the full path string to raster file or a raster object} -\item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} +\item{raster_col}{(Character) - Column name that contains the raster object's output variable} -\item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} +\item{raster_band}{(Numeric) - Future variable for dealing with multi band/time series rasters etc} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} + +\item{convert_zero}{(Boolean) - Convert raster zero values to NA#} } \value{ -(SF or Character) - Returns the resulting simplified SF object or an error string if failed +(Character) - Returns a success token or an error string if failed } \description{ -This function runs a check on shape inputs and looks for errors +This function runs a check on raster inputs and looks for errors } diff --git a/man/verify_shape.Rd b/man/verify_shape.Rd index 84e2992..3707d84 100644 --- a/man/verify_shape.Rd +++ b/man/verify_shape.Rd @@ -2,7 +2,8 @@ % Please edit documentation in R/error_checking.R \name{verify_shape} \alias{verify_shape} -\title{Verify shape data} +\title{Error checking functions for maps package +Verify shape data} \usage{ verify_shape(shape_data, simplify, shape_label_field) } @@ -14,7 +15,7 @@ verify_shape(shape_data, simplify, shape_label_field) \item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} } \value{ -(SF or Character) - Returns the resulting simplified SF object or an error string if failed +(Character) - Returns a success token or an error string if failed } \description{ This function runs a check on shape inputs and looks for errors From d5a3a1dffde17b5c3cb0c80eec2267ac45c26f98 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Thu, 23 Apr 2020 09:53:06 -0400 Subject: [PATCH 06/42] Finished error checking for shape object --- R/error_checking.R | 39 +++++++++++++++++++++++++++++---------- R/maps.R | 37 ++++++++++++++++++++----------------- R/spatial_utils.R | 2 +- man/process_shape.Rd | 3 ++- man/verify_shape.Rd | 3 ++- 5 files changed, 54 insertions(+), 30 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index 95c253c..67c69fc 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -25,24 +25,18 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie } else if(class(shape_data) %in% "sf") { - shape_obj <- shape_data - # Verify raster CRS and assign default if NA - if(is.na(crs(shape_obj)) || is.null(crs(shape_obj))) + if(is.na(crs(shape_data)) || is.null(crs(shape_data))) { - sf::st_crs(shape_obj) <- crs(default_projection) + sf::st_crs(shape_data) <- crs(default_projection) print("Applying default CRS to shape (shape CRS was NA or NULL)") } } else if(class(shape_data) %in% "character") { - if (file.exists(shape_data)) - { - shape_obj <- gcammaptools::import_mapdata(shape_data) - } - else + if (!file.exists(shape_data)) { - return(paste0("Cannot open Shape file ", raster_data)) + return("Error: Cannot open shape file or shape file path does not exist ") } } else @@ -53,7 +47,26 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie if(!is.null(shape_data_field)) { # look for shape data field + if(!shape_data_field %in% shape_obj) + { + return("Error: Shape data field does not exist in shape object.") + } + } + + if(!is.null(shape_label_field)) + { + # look for shape data field + if(!shape_label_field %in% shape_obj) + { + return("Error: Shape label field does not exist in shape object.") + } + } + + if(!simplify %in% c(TRUE, FALSE, NULL)) + { + return("Error: Invalid value for simplify argument: Must be one of TRUE, FALSE, NULL.") } + return(result) } @@ -105,6 +118,12 @@ verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bin return("Error: Unrecognized raster_data argument.") } + # Check raster_col argument to make sure it exists + if(is.null(raster_col)) # || raster_obj[raster_col] !exists + { + return("Error: No raster column defined") + } + # Verify raster CRS and assign default if NA if(is.na(crs(raster_obj)) || is.null(crs(raster_obj))) { diff --git a/R/maps.R b/R/maps.R index 1872145..611d589 100644 --- a/R/maps.R +++ b/R/maps.R @@ -83,18 +83,9 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ # Crop shape - for extent changes (future # shape <- st_crop(shape, 1.2*extent(raster)) - # Raster operations - # Convert raster + # Raster operations/Convert raster raster_df <- df_spatial(raster_obj) #raster_df <- as.data.frame(raster_obj, xy=TRUE) compare performance - - if(is.null(raster_col)) - { - return("Error: No raster column defined") - } - else - { - raster_df <- mutate(raster_df, value = raster_df[[paste0("band", 1)]]) - } + raster_df <- mutate(raster_df, value = raster_df[[paste0("band", 1)]]) # Create mapping and output variables # Raster stats/information (future) @@ -212,7 +203,6 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") { - error <- "" output <- "Default error" tryCatch( { @@ -227,7 +217,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi } else { - # Verify shape failed, return result + # Verification failed, return result return(result) } @@ -240,8 +230,22 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Read/process map data object via local processing function if(is.null(shape_data_field)) { - map_data_obj <- process_data(map_data) - if(class(map_data_obj) == "character") + # Verify map_data first and if not Success then return error now + if(verify_data(map_data) == "Success") + { + map_data_obj <- process_data(map_data) + if(class(map_data_obj) == "character") + { + # Process_data must have caught an error + return(map_data_obj) + } + } + else + { + # Verification failed, return result + return(map_data) + } + # Merge map and data combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) } @@ -355,8 +359,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi error = function(err) { # error handler picks up error information - error <- err - return(error) + return(err) }) return(output) diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 8468c1e..88f553a 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -10,7 +10,7 @@ #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) #' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed #' @export -process_shape <- function(shape_data, simplify, shape_label_field) +process_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL) { tryCatch( { diff --git a/man/process_shape.Rd b/man/process_shape.Rd index c67d221..d50e842 100644 --- a/man/process_shape.Rd +++ b/man/process_shape.Rd @@ -4,7 +4,8 @@ \alias{process_shape} \title{Process shape} \usage{ -process_shape(shape_data, simplify, shape_label_field) +process_shape(shape_data, simplify, shape_label_field, + shape_data_field = NULL) } \arguments{ \item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} diff --git a/man/verify_shape.Rd b/man/verify_shape.Rd index 3707d84..014ba5d 100644 --- a/man/verify_shape.Rd +++ b/man/verify_shape.Rd @@ -5,7 +5,8 @@ \title{Error checking functions for maps package Verify shape data} \usage{ -verify_shape(shape_data, simplify, shape_label_field) +verify_shape(shape_data, simplify, shape_label_field, + shape_data_field = NULL) } \arguments{ \item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} From 243f1ec258269722450363584c707d1122ebad66 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Thu, 23 Apr 2020 11:52:35 -0400 Subject: [PATCH 07/42] More error checking and processing work --- R/error_checking.R | 29 +++++++++++++++++++++++++++-- R/maps.R | 8 ++++---- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index 67c69fc..d909902 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -5,11 +5,16 @@ #' #' This function runs a check on shape inputs and looks for errors #' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_key_field (Character) - Name of key field in shape object for merging with map_data object +#' @param shape_data_field (Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param shape_xy_fields (c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON")) +#' @param shape_geom_field (Character) - Specifies field within shape object that contains needed geometry (default "geometry") +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) #' @return (Character) - Returns a success token or an error string if failed #' @export -verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL) +verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL, shape_key_field = NULL, shape_label_size, shape_xy_fields, shape_geom_field) { # Check shape file has projection # looks for the mentioned shape key field @@ -62,11 +67,29 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie } } + if(!is.null(shape_key_field)) + { + # look for shape data field + if(!shape_key_field %in% shape_obj) + { + return("Error: Shape key field does not exist in shape object.") + } + } + + if(!class(shape_label_size) %in% "character" ) + { + return("Error: Shape label size argument must be of type character (e.g. '1')") + } + if(!simplify %in% c(TRUE, FALSE, NULL)) { return("Error: Invalid value for simplify argument: Must be one of TRUE, FALSE, NULL.") } + if(class(shape_xy_fields)) + { + + } return(result) } @@ -150,6 +173,8 @@ verify_data <- function(map_data) result <- "Success" + + return(result) } diff --git a/R/maps.R b/R/maps.R index 611d589..a81a6df 100644 --- a/R/maps.R +++ b/R/maps.R @@ -195,7 +195,7 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ #' @importFrom classInt classIntervals #' @import RColorBrewer #' @export -choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size_field = "1", +choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size = "1", shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = NULL, dpi = 150, output_file = NULL, expand_xy = c(0, 0), @@ -207,7 +207,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi tryCatch( { # Verify shape - result <- verify_shape(shape_data, simplify, shape_label_field) + result <- verify_shape(shape_data, simplify, shape_label_field, shape_key_field, shape_label_size) # If shape passes verification, load and process if(result == "Success") @@ -313,8 +313,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Build geometry labels if enabled by user if(!is.null(shape_label_field)) { - map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = shape_label_size_field)) - if(!is.null(shape_label_size_field)) + map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = shape_label_size)) + if(!is.null(shape_label_size)) { map_size_guide_option <- guides(size = FALSE) } From 7f50ea7c7309dbf14e6dc437d0433038763879e7 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Fri, 24 Apr 2020 10:08:46 -0400 Subject: [PATCH 08/42] More error checking/processing --- R/error_checking.R | 18 ++++++++++------ R/maps.R | 51 +++++++++++++++++++++----------------------- R/spatial_utils.R | 50 ++++++++++++++++++++++++++++++++----------- man/choropleth.Rd | 6 +++--- man/process_shape.Rd | 3 ++- man/verify_shape.Rd | 13 ++++++++++- 6 files changed, 91 insertions(+), 50 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index d909902..5fb07bb 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -14,7 +14,8 @@ #' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) #' @return (Character) - Returns a success token or an error string if failed #' @export -verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL, shape_key_field = NULL, shape_label_size, shape_xy_fields, shape_geom_field) +verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL, shape_key_field = NULL, + shape_label_size, shape_xy_fields, shape_geom_field) { # Check shape file has projection # looks for the mentioned shape key field @@ -52,7 +53,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie if(!is.null(shape_data_field)) { # look for shape data field - if(!shape_data_field %in% shape_obj) + if(!shape_data_field %in% names(shape_data)) { return("Error: Shape data field does not exist in shape object.") } @@ -70,7 +71,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie if(!is.null(shape_key_field)) { # look for shape data field - if(!shape_key_field %in% shape_obj) + if(!shape_key_field %in% names(shape_data)) { return("Error: Shape key field does not exist in shape object.") } @@ -86,10 +87,15 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie return("Error: Invalid value for simplify argument: Must be one of TRUE, FALSE, NULL.") } - if(class(shape_xy_fields)) - { - + if(!shape_geom_field %in% names(shape_data)) + { + return("Error: Shape geometry field does not exist in shape object.") } + + # if(class(shape_xy_fields)) + # { + # + # } return(result) } diff --git a/R/maps.R b/R/maps.R index a81a6df..92772bd 100644 --- a/R/maps.R +++ b/R/maps.R @@ -206,55 +206,51 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi output <- "Default error" tryCatch( { - # Verify shape - result <- verify_shape(shape_data, simplify, shape_label_field, shape_key_field, shape_label_size) - # If shape passes verification, load and process - if(result == "Success") - { - # Create shape object via local processing function - shape_obj <- process_shape(shape_data, simplify, shape_label_field, shape_data_field) - } - else + # ------- Shape processing + + # Create shape object via local processing function + shape_obj <- process_shape(shape_data, simplify, shape_label_field, shape_data_field, shape_key_field, shape_label_size, shape_xy_fields, shape_geom_field) + if(!class(shape_obj) == "sf") { # Verification failed, return result - return(result) + return(paste0("Error: There was an error processing the shape object: ", shape_obj)) } - # Verify processed object is a shape object. If not, it's an error and return it - if(class(shape_obj) == "character") + # ------- End shape processing + + # ------- Data processing + result <- verify_data(map_data, data_key_field, data_col, bin_method, bins) + + # Verify map_data first and if not Success then return error now + if(result != "Success") { - return(paste0("Error: There was an error processing the shape object: ", shape_obj)) + # Verification failed, return result + return(result) } # Read/process map data object via local processing function if(is.null(shape_data_field)) { - # Verify map_data first and if not Success then return error now - if(verify_data(map_data) == "Success") - { - map_data_obj <- process_data(map_data) - if(class(map_data_obj) == "character") - { - # Process_data must have caught an error - return(map_data_obj) - } - } - else + map_data_obj <- process_data(map_data) + + if(class(map_data_obj) == "character") { - # Verification failed, return result - return(map_data) + # Process_data must have caught an error + return(map_data_obj) } - # Merge map and data combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) } + else { combined_df <- as.data.frame(shape_obj) data_col <- shape_data_field } + # ------- End data processing + # ------- Map data and options processing # Map output variables x_min <- map_xy_min_max[1] x_max <- map_xy_min_max[2] @@ -337,6 +333,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi { return("Error: bin_method and bins cannot be NULL") } + # ------- End map data and options processing # Build ggplot Map object output <- ggplot(data = combined_df, aes_string(x=shape_x, y=shape_y, fill="value", geometry=shape_geom)) + diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 88f553a..d51de4e 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -10,25 +10,51 @@ #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) #' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed #' @export -process_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL) +process_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL, shape_key_field = NULL, + shape_label_size, shape_xy_fields, shape_geom_field) { tryCatch( { - # Verify shape - result <- verify_shape(shape_data, simplify, shape_label_field) - - # If shape passes verification, load and process - if(result == "Success") + # Initial processing of shape object so that a completed shape object can be sent to the error check function + if(is.null(shape_data)) { - # Import shape data - shape_obj <- gcammaptools::import_mapdata(shape_data) - - # Optional argument to simplify polygons via the simplify_mapdata function - if(simplify) + return("Error: Shape data is NULL") + } + else if(class(shape_data) %in% "character") + { + if (!file.exists(shape_data)) { - shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + return("Error: Cannot open shape file or shape file path does not exist ") } } + + # Import shape data + shape_obj <- gcammaptools::import_mapdata(shape_data) + + if(!class(shape_obj) %in% "sf") + { + return(paste0("Error: There was an unknown error processing the shape object: ", shape_obj)) + } + + result <- verify_shape(shape_obj, simplify, shape_label_field, shape_data_field, shape_key_field, shape_label_size, shape_xy_fields, shape_geom_field) + + if(result != "Success") + { + return(result) + } + + # Verify raster CRS and assign default if NA + if(is.na(crs(shape_obj)) || is.null(crs(shape_obj))) + { + sf::st_crs(shape_obj) <- crs(default_projection) + print("Applying default CRS to shape (shape CRS was NA or NULL)") + } + + # Optional argument to simplify polygons via the simplify_mapdata function + if(simplify) + { + shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + } else { return(result) diff --git a/man/choropleth.Rd b/man/choropleth.Rd index dbb9e5b..8a3f71f 100644 --- a/man/choropleth.Rd +++ b/man/choropleth.Rd @@ -5,7 +5,7 @@ \title{Create a choropleth map object from shape and data object and return, save (optional) the output} \usage{ choropleth(shape_data = NULL, shape_key_field = NULL, - shape_label_field = NULL, shape_label_size_field = "1", + shape_label_field = NULL, shape_label_size = "1", shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", @@ -22,8 +22,6 @@ choropleth(shape_data = NULL, shape_key_field = NULL, \item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} -\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} - \item{shape_data_field}{(Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable} \item{shape_xy_fields}{(c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON"))} @@ -65,6 +63,8 @@ choropleth(shape_data = NULL, shape_key_field = NULL, \item{map_x_label}{(Character) - Label for x axis (default Lon)} \item{map_y_label}{(Character) - Label for y axis (default Lat)} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} } \value{ (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed diff --git a/man/process_shape.Rd b/man/process_shape.Rd index d50e842..1a24d7d 100644 --- a/man/process_shape.Rd +++ b/man/process_shape.Rd @@ -5,7 +5,8 @@ \title{Process shape} \usage{ process_shape(shape_data, simplify, shape_label_field, - shape_data_field = NULL) + shape_data_field = NULL, shape_key_field = NULL, shape_label_size, + shape_xy_fields, shape_geom_field) } \arguments{ \item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} diff --git a/man/verify_shape.Rd b/man/verify_shape.Rd index 014ba5d..b6fbed2 100644 --- a/man/verify_shape.Rd +++ b/man/verify_shape.Rd @@ -6,7 +6,8 @@ Verify shape data} \usage{ verify_shape(shape_data, simplify, shape_label_field, - shape_data_field = NULL) + shape_data_field = NULL, shape_key_field = NULL, shape_label_size, + shape_xy_fields, shape_geom_field) } \arguments{ \item{shape_data}{(SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object} @@ -14,6 +15,16 @@ verify_shape(shape_data, simplify, shape_label_field, \item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} \item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} + +\item{shape_data_field}{(Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable} + +\item{shape_key_field}{(Character) - Name of key field in shape object for merging with map_data object} + +\item{shape_xy_fields}{(c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON"))} + +\item{shape_geom_field}{(Character) - Specifies field within shape object that contains needed geometry (default "geometry")} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} } \value{ (Character) - Returns a success token or an error string if failed From 36c31734d65e41140ecbb2aa025e1d7f7340703e Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:16:40 -0400 Subject: [PATCH 09/42] Added flexible verify_map_options function that checks 11 map inputs --- R/error_checking.R | 88 +++++++++++++++++++++++++++++++++++++++- R/maps.R | 16 +++++++- R/spatial_utils.R | 10 ++++- man/process_data.Rd | 12 +++++- man/verify_data.Rd | 12 +++++- man/verify_map_params.Rd | 34 ++++++++++++++++ 6 files changed, 163 insertions(+), 9 deletions(-) create mode 100644 man/verify_map_params.Rd diff --git a/R/error_checking.R b/R/error_checking.R index 5fb07bb..9a6a4d6 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -167,10 +167,14 @@ verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bin #' Verify map data #' #' This function runs a check on map data inputs and looks for errors -#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV +#' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data +#' @param data_col (Character) - Column name that contains the data object's output variable +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster #' @return (Character) - Returns a success token or an error string if failed #' @export -verify_data <- function(map_data) +verify_data <- function(map_data, data_key_field, data_col, bin_method, bins) { # Future # Does it have nulls? @@ -204,3 +208,83 @@ verify_csv <- function(map_data) } + +#' Verify map parameters +#' +#' @param dpi (Numeric) - Settable DPI for different print/screen formats (default 150) +#' @param expand_xy (c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0)) +#' @param map_xy_min_max (c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90)) +#' @param map_title (Character) - Title to be displayed on the output map +#' @param map_palette (Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer +#' @param map_palette_reverse (Boolean) - Set palette to reverse direction TRUE/FALSE +#' @param map_width_height_in (c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10)) +#' @param map_legend_title (Character) - Text for the legend header +#' @param map_x_label (Character) - Label for x axis (default Lon) +#' @param map_y_label (Character) - Label for y axis (default Lat) +verify_map_params <- function(dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, + map_palette_type, map_width_height_in, map_legend_title, map_x_label, map_y_label) +{ + output <- "Success" + + # verify dpi + if(!(class(dpi) %in% "numeric") || dpi < 30 || dpi > 300) + { + return("Error: DPI argument must be a numeric value between 30 and 300") + } + + # Verify expand_xy + if(!(class(expand_xy) %in% c("Vector", "numeric")) || length(expand_xy) != 2) + { + return("Error: expand_xy argument must be a numeric vector of length 2") + } + + # Verify map_xy_min_max + if(!(class(map_xy_min_max) %in% c("Vector", "numeric")) || length(map_xy_min_max) != 4) + { + return("Error: map_xy_min_max argument must be a numeric vector of length 4") + } + + # Verify title + if(!class(map_title) %in% "character" && !is.null(map_title)) + { + return("Error: map_title must be of class character") + } + + # Verify map_palette + if(!is.null(map_palette) && (!class(map_palette) %in% "character" || !(map_palette %in% row.names(brewer.pal.info)) )) + { + return("Error: map_palette must be of class character and a valid entry in the RColorBrewer palette (see brewer.pal.info") + } + + # Verify palette_reverse + if(!class(map_palette_reverse) %in% "logical" ) + { + return("Error: map_palette_reverse must be of type logical (TRUE or FALSE)") + } + + # Verify map_width_height_in + if(!(class(map_width_height_in) %in% c("Vector", "numeric")) || length(map_width_height_in) != 2) + { + return("Error: map_width_height_in argument must be a numeric vector of length 2") + } + + # Verify map_legend_title + if(!class(map_legend_title) %in% "character" && !is.null(map_legend_title)) + { + return("Error: map_legend_title must be of class character") + } + + # Verify map_x_label + if(!class(map_x_label) %in% "character" && !is.null(map_x_label)) + { + return("Error: map_x_label must be of class character") + } + + # Verify map_y_label + if(!class(map_y_label) %in% "character" && !is.null(map_y_label)) + { + return("Error: map_y_label must be of class character") + } + + return(output) +} diff --git a/R/maps.R b/R/maps.R index 92772bd..73d4b95 100644 --- a/R/maps.R +++ b/R/maps.R @@ -83,6 +83,7 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ # Crop shape - for extent changes (future # shape <- st_crop(shape, 1.2*extent(raster)) + # Raster operations/Convert raster raster_df <- df_spatial(raster_obj) #raster_df <- as.data.frame(raster_obj, xy=TRUE) compare performance raster_df <- mutate(raster_df, value = raster_df[[paste0("band", 1)]]) @@ -145,6 +146,10 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ if(!is.null(output_file)) { result <- gcammaptools::save_plot(output_file, dpi, map_width, map_height) + if(result != "Success") + { + # throw some kind of warning + } } }, error = function(err) @@ -232,7 +237,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Read/process map data object via local processing function if(is.null(shape_data_field)) { - map_data_obj <- process_data(map_data) + map_data_obj <- process_data(map_data, data_key_field, data_col, bin_method, bins) if(class(map_data_obj) == "character") { @@ -251,6 +256,15 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # ------- End data processing # ------- Map data and options processing + + result <- verify_map_params(dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, + map_palette_type, map_width_height_in, map_legend_title, map_x_label, map_y_label) + + if(result != "Success") + { + return(result) + } + # Map output variables x_min <- map_xy_min_max[1] x_max <- map_xy_min_max[2] diff --git a/R/spatial_utils.R b/R/spatial_utils.R index d51de4e..0813a06 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -130,10 +130,14 @@ process_raster <- function( raster_data , raster_col, raster_band, bin_method, b #' Process data #' -#' @param map_data (Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object +#' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV +#' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data +#' @param data_col (Character) - Column name that contains the data object's output variable +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster #' @return (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed #' @export -process_data <- function(map_data) +process_data <- function(map_data, data_key_field, data_col, bin_method, bins) { tryCatch( { @@ -161,6 +165,8 @@ process_data <- function(map_data) { return("Error: Unrecognized map_data argument.") } + + verify_data(map_data, data_key_field, data_col, bin_method, bins) }, error = function(err) { diff --git a/man/process_data.Rd b/man/process_data.Rd index 9c1b5c6..7688cef 100644 --- a/man/process_data.Rd +++ b/man/process_data.Rd @@ -4,10 +4,18 @@ \alias{process_data} \title{Process data} \usage{ -process_data(map_data) +process_data(map_data, data_key_field, data_col, bin_method, bins) } \arguments{ -\item{map_data}{(Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object} +\item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} + +\item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} + +\item{data_col}{(Character) - Column name that contains the data object's output variable} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} } \value{ (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed diff --git a/man/verify_data.Rd b/man/verify_data.Rd index dae3504..c6467bf 100644 --- a/man/verify_data.Rd +++ b/man/verify_data.Rd @@ -4,10 +4,18 @@ \alias{verify_data} \title{Verify map data} \usage{ -verify_data(map_data) +verify_data(map_data, data_key_field, data_col, bin_method, bins) } \arguments{ -\item{map_data}{(Data Frame or Character) - Either the full path string to data file (csv) or a data.frame object} +\item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} + +\item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} + +\item{data_col}{(Character) - Column name that contains the data object's output variable} + +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} } \value{ (Character) - Returns a success token or an error string if failed diff --git a/man/verify_map_params.Rd b/man/verify_map_params.Rd new file mode 100644 index 0000000..34c3b59 --- /dev/null +++ b/man/verify_map_params.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{verify_map_params} +\alias{verify_map_params} +\title{Verify map parameters} +\usage{ +verify_map_params(dpi, expand_xy, map_xy_min_max, map_title, map_palette, + map_palette_reverse, map_palette_type, map_width_height_in, + map_legend_title, map_x_label, map_y_label) +} +\arguments{ +\item{dpi}{(Numeric) - Settable DPI for different print/screen formats (default 150)} + +\item{expand_xy}{(c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0))} + +\item{map_xy_min_max}{(c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90))} + +\item{map_title}{(Character) - Title to be displayed on the output map} + +\item{map_palette}{(Character) - Optional variable to manually set the colorscale to a specific palette from RColorbrewer} + +\item{map_palette_reverse}{(Boolean) - Set palette to reverse direction TRUE/FALSE} + +\item{map_width_height_in}{(c(Numeric, Numeric)) - Vector that describes the desired file size of the output image in the form of (width, height) in inches (default c(15, 10))} + +\item{map_legend_title}{(Character) - Text for the legend header} + +\item{map_x_label}{(Character) - Label for x axis (default Lon)} + +\item{map_y_label}{(Character) - Label for y axis (default Lat)} +} +\description{ +Verify map parameters +} From f21fc9a462373d9110efd5b5fff0f7b0f2c2c4f4 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 28 Apr 2020 08:50:11 -0400 Subject: [PATCH 10/42] Filled out verify map_data function --- R/error_checking.R | 41 +++++++++++++++++++++++++++++++++++++++++ R/maps.R | 3 ++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/R/error_checking.R b/R/error_checking.R index 9a6a4d6..cc014e5 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -183,7 +183,48 @@ verify_data <- function(map_data, data_key_field, data_col, bin_method, bins) result <- "Success" + # Verify map_data + if(!is.null(map_data)) + { + if(!class(map_data) %in% c("data.frame", "character")) + { + return("Error: map_data argument must be of type data.frame or a character path to a csv file") + } + # Verify data_key_field + if(!is.null(data_key_field)) + { + if(!class(data_key_field) %in% "character") + return("Error: data_key_field argument must be of type character") + if(!data_key_field %in% colnames(map_data)) + return("Error: data_key_field was not found in the map_data data frame") + } + + # Verify data_col + if(!is.null(data_col)) + { + if(!class(data_col) %in% "character") + return("Error: data_col argument must be of type character") + if(!data_col %in% colnames(map_data)) + return("Error: data_col was not found in the map_data data frame") + } + } + + # Verify bin_method + if(!bin_method %in% c("quantile", "pretty", "equal")) + { + return("Error: bin_method argument must be one of 'quantile', 'pretty', 'equal'") + } + + # Verify bins + if(is.null(bins) || class(bins) != "numeric") + { + return("Error: bins argument must be a positive integer and not NULL") + } + if(bins < 1 || bins > 100) + { + return("Error: bins argument must be a valid integer between 1-100") + } return(result) } diff --git a/R/maps.R b/R/maps.R index 73d4b95..bc9e321 100644 --- a/R/maps.R +++ b/R/maps.R @@ -225,6 +225,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # ------- End shape processing # ------- Data processing + result <- verify_data(map_data, data_key_field, data_col, bin_method, bins) # Verify map_data first and if not Success then return error now @@ -247,12 +248,12 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Merge map and data combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) } - else { combined_df <- as.data.frame(shape_obj) data_col <- shape_data_field } + # ------- End data processing # ------- Map data and options processing From ba3e3168f02ad3a6f906e53e3acd0793f748a090 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 28 Apr 2020 10:01:22 -0400 Subject: [PATCH 11/42] More work on process data and verify data functions --- R/error_checking.R | 47 ++++++++++++++++++++-------------------- R/maps.R | 21 +++--------------- R/spatial_utils.R | 20 ++++++++++------- man/process_data.Rd | 6 +---- man/process_shape.Rd | 10 +++++++++ man/verify_data.Rd | 6 +---- man/verify_map_params.Rd | 10 ++++++--- 7 files changed, 57 insertions(+), 63 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index cc014e5..a57deff 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -101,7 +101,6 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie } - #' Verify raster data #' #' This function runs a check on raster inputs and looks for errors @@ -170,11 +169,9 @@ verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bin #' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV #' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data #' @param data_col (Character) - Column name that contains the data object's output variable -#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") -#' @param bins (Numeric) - Number of bins/segments in which to divide the raster #' @return (Character) - Returns a success token or an error string if failed #' @export -verify_data <- function(map_data, data_key_field, data_col, bin_method, bins) +verify_data <- function(map_data, data_key_field, data_col) { # Future # Does it have nulls? @@ -186,11 +183,6 @@ verify_data <- function(map_data, data_key_field, data_col, bin_method, bins) # Verify map_data if(!is.null(map_data)) { - if(!class(map_data) %in% c("data.frame", "character")) - { - return("Error: map_data argument must be of type data.frame or a character path to a csv file") - } - # Verify data_key_field if(!is.null(data_key_field)) { @@ -208,24 +200,13 @@ verify_data <- function(map_data, data_key_field, data_col, bin_method, bins) if(!data_col %in% colnames(map_data)) return("Error: data_col was not found in the map_data data frame") } - } - # Verify bin_method - if(!bin_method %in% c("quantile", "pretty", "equal")) - { - return("Error: bin_method argument must be one of 'quantile', 'pretty', 'equal'") - } + # Verify shape key = data key - # Verify bins - if(is.null(bins) || class(bins) != "numeric") - { - return("Error: bins argument must be a positive integer and not NULL") - } - if(bins < 1 || bins > 100) - { - return("Error: bins argument must be a valid integer between 1-100") } + + return(result) } @@ -252,6 +233,8 @@ verify_csv <- function(map_data) #' Verify map parameters #' +#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") +#' @param bins (Numeric) - Number of bins/segments in which to divide the raster #' @param dpi (Numeric) - Settable DPI for different print/screen formats (default 150) #' @param expand_xy (c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0)) #' @param map_xy_min_max (c(Numeric, ...)) - Vector that describes the desired extent of the map in the form of (xmin, xmax, ymin, ymax) (default: c(-180, 180, -90, 90)) @@ -262,11 +245,27 @@ verify_csv <- function(map_data) #' @param map_legend_title (Character) - Text for the legend header #' @param map_x_label (Character) - Label for x axis (default Lon) #' @param map_y_label (Character) - Label for y axis (default Lat) -verify_map_params <- function(dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, +verify_map_params <- function(bin_method, bins, dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, map_palette_type, map_width_height_in, map_legend_title, map_x_label, map_y_label) { output <- "Success" + # Verify bin_method + if(!bin_method %in% c("quantile", "pretty", "equal")) + { + return("Error: bin_method argument must be one of 'quantile', 'pretty', 'equal'") + } + + # Verify bins + if(is.null(bins) || class(bins) != "numeric") + { + return("Error: bins argument must be a positive integer and not NULL") + } + if(bins < 1 || bins > 100) + { + return("Error: bins argument must be a valid integer between 1-100") + } + # verify dpi if(!(class(dpi) %in% "numeric") || dpi < 30 || dpi > 300) { diff --git a/R/maps.R b/R/maps.R index bc9e321..2c9e976 100644 --- a/R/maps.R +++ b/R/maps.R @@ -226,19 +226,11 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # ------- Data processing - result <- verify_data(map_data, data_key_field, data_col, bin_method, bins) - # Verify map_data first and if not Success then return error now - if(result != "Success") - { - # Verification failed, return result - return(result) - } - - # Read/process map data object via local processing function if(is.null(shape_data_field)) { - map_data_obj <- process_data(map_data, data_key_field, data_col, bin_method, bins) + # Read/process map data object via local processing function + map_data_obj <- process_data(map_data, data_key_field, data_col) if(class(map_data_obj) == "character") { @@ -258,7 +250,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # ------- Map data and options processing - result <- verify_map_params(dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, + result <- verify_map_params(bin_method, bins, dpi, expand_xy, map_xy_min_max , map_title, map_palette, map_palette_reverse, map_palette_type, map_width_height_in, map_legend_title, map_x_label, map_y_label) if(result != "Success") @@ -334,15 +326,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Process breaks/bins if(!is.null(bin_method) && !is.null(bins)) { - if(bin_method %in% c("quantile", "pretty", "equal")) - { data_breaks <- classIntervals(c(min(as.numeric(combined_df[[data_col]])),as.numeric(combined_df[[data_col]])), n = bins, style = bin_method) combined_df <- mutate(combined_df, value = cut(as.numeric(combined_df[[data_col]]), data_breaks$brks)) - } - else - { - return("Error: bin_method type not in quantile, pretty, or equal") - } } else { diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 0813a06..ac7c17f 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -6,8 +6,13 @@ #' Process shape #' #' @param shape_data (SF, SP, or Character) - Either the full path string to a shape file (with included necessary files) or an SF shape object -#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) +#' @param shape_key_field (Character) - Name of key field in shape object for merging with map_data object +#' @param shape_data_field (Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) +#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param shape_xy_fields (c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON")) +#' @param shape_geom_field (Character) - Specifies field within shape object that contains needed geometry (default "geometry") +#' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) #' @return (SF or Character) - Returns the resulting simplified SF object or an error string if failed #' @export process_shape <- function(shape_data, simplify, shape_label_field, shape_data_field = NULL, shape_key_field = NULL, @@ -125,23 +130,22 @@ process_raster <- function( raster_data , raster_col, raster_band, bin_method, b } - - - #' Process data #' #' @param map_data (Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV #' @param data_key_field (Character) - Name of key field in data_obj for merging with shape_data #' @param data_col (Character) - Column name that contains the data object's output variable -#' @param bin_method (Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty") -#' @param bins (Numeric) - Number of bins/segments in which to divide the raster #' @return (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed #' @export -process_data <- function(map_data, data_key_field, data_col, bin_method, bins) +process_data <- function(map_data, data_key_field, data_col, shape_key_field) { tryCatch( { # Map Data - if given a path to a csv, use that, else expect a data.frame object passed in + if(!class(map_data) %in% c("data.frame", "character")) + { + return("Error: map_data argument must be of type data.frame or a character path to a csv file") + } if(is.null(map_data)) { return("Error: Map data cannot be NULL") @@ -166,7 +170,7 @@ process_data <- function(map_data, data_key_field, data_col, bin_method, bins) return("Error: Unrecognized map_data argument.") } - verify_data(map_data, data_key_field, data_col, bin_method, bins) + verify_data(map_data, data_key_field, data_col) }, error = function(err) { diff --git a/man/process_data.Rd b/man/process_data.Rd index 7688cef..adca368 100644 --- a/man/process_data.Rd +++ b/man/process_data.Rd @@ -4,7 +4,7 @@ \alias{process_data} \title{Process data} \usage{ -process_data(map_data, data_key_field, data_col, bin_method, bins) +process_data(map_data, data_key_field, data_col, shape_key_field) } \arguments{ \item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} @@ -12,10 +12,6 @@ process_data(map_data, data_key_field, data_col, bin_method, bins) \item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} \item{data_col}{(Character) - Column name that contains the data object's output variable} - -\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} - -\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} } \value{ (Data Frame or Character) - Returns the resulting simplified SF object or an error string if failed diff --git a/man/process_shape.Rd b/man/process_shape.Rd index 1a24d7d..d36c6e8 100644 --- a/man/process_shape.Rd +++ b/man/process_shape.Rd @@ -14,6 +14,16 @@ process_shape(shape_data, simplify, shape_label_field, \item{simplify}{(Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE)} \item{shape_label_field}{(Character) - Optional field for plotting data available from the shape attributes/fields (such as country name)} + +\item{shape_data_field}{(Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable} + +\item{shape_key_field}{(Character) - Name of key field in shape object for merging with map_data object} + +\item{shape_xy_fields}{(c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON"))} + +\item{shape_geom_field}{(Character) - Specifies field within shape object that contains needed geometry (default "geometry")} + +\item{shape_label_size_field}{(Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.)} } \value{ (SF or Character) - Returns the resulting simplified SF object or an error string if failed diff --git a/man/verify_data.Rd b/man/verify_data.Rd index c6467bf..e661878 100644 --- a/man/verify_data.Rd +++ b/man/verify_data.Rd @@ -4,7 +4,7 @@ \alias{verify_data} \title{Verify map data} \usage{ -verify_data(map_data, data_key_field, data_col, bin_method, bins) +verify_data(map_data, data_key_field, data_col) } \arguments{ \item{map_data}{(Data Frame or Character) - A data frame that contains the output data to map, or alternatively a full path to a CSV} @@ -12,10 +12,6 @@ verify_data(map_data, data_key_field, data_col, bin_method, bins) \item{data_key_field}{(Character) - Name of key field in data_obj for merging with shape_data} \item{data_col}{(Character) - Column name that contains the data object's output variable} - -\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} - -\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} } \value{ (Character) - Returns a success token or an error string if failed diff --git a/man/verify_map_params.Rd b/man/verify_map_params.Rd index 34c3b59..246b6f5 100644 --- a/man/verify_map_params.Rd +++ b/man/verify_map_params.Rd @@ -4,11 +4,15 @@ \alias{verify_map_params} \title{Verify map parameters} \usage{ -verify_map_params(dpi, expand_xy, map_xy_min_max, map_title, map_palette, - map_palette_reverse, map_palette_type, map_width_height_in, - map_legend_title, map_x_label, map_y_label) +verify_map_params(bin_method, bins, dpi, expand_xy, map_xy_min_max, + map_title, map_palette, map_palette_reverse, map_palette_type, + map_width_height_in, map_legend_title, map_x_label, map_y_label) } \arguments{ +\item{bin_method}{(Character) - Method or function to use to split continuous data into discrete chunks (one of "quantile", "equal", "pretty", "kmeans") (default "pretty")} + +\item{bins}{(Numeric) - Number of bins/segments in which to divide the raster} + \item{dpi}{(Numeric) - Settable DPI for different print/screen formats (default 150)} \item{expand_xy}{(c(Numeric, Numeric)) - Sets expansion amount for the X and Y scale of the map - Vector (expand x, expand y) (default c(0,0))} From 9cca960396217fe5ad5d02050f3192e542f1cec9 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Tue, 28 Apr 2020 11:33:56 -0400 Subject: [PATCH 12/42] Added return_error function, reduced warnings, etc --- NAMESPACE | 1 + R/error_checking.R | 18 +++++++++++++++++- R/maps.R | 31 ++++++++++++++++++------------- R/spatial_utils.R | 8 ++++++-- man/return_error.Rd | 19 +++++++++++++++++++ 5 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 man/return_error.Rd diff --git a/NAMESPACE b/NAMESPACE index ac0e5b0..fcf0a74 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,6 +7,7 @@ export(import_mapdata) export(process_data) export(process_raster) export(process_shape) +export(return_error) export(save_plot) export(simplify_mapdata) export(verify_csv) diff --git a/R/error_checking.R b/R/error_checking.R index a57deff..c36a72e 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -29,7 +29,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie { return("Error: Shape data is NULL") } - else if(class(shape_data) %in% "sf") + else if(suppressWarnings({"sf" %in% class(shape_obj)})) { # Verify raster CRS and assign default if NA if(is.na(crs(shape_data)) || is.null(crs(shape_data))) @@ -328,3 +328,19 @@ verify_map_params <- function(bin_method, bins, dpi, expand_xy, map_xy_min_max , return(output) } + + +#' Return and output errors +#' +#' This function runs a check on csv data inputs and looks for errors +#' @param error (Character) - Specific error string for output +#' @param location (Character) - Location the error was caught +#' @return (Character) - Prints the error to console and also returns it to caller +#' @export +return_error <- function(error, location) +{ + print(paste0("There was an error at - ", location, " - building your map:")) + print(error) + + return(error) +} diff --git a/R/maps.R b/R/maps.R index 2c9e976..b7dc6ae 100644 --- a/R/maps.R +++ b/R/maps.R @@ -54,13 +54,15 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ else { # Verify shape failed, return result - return(result) + return_error(result) + return("Error - see console for output") } # Verify processed object is a shape object. If not, it's an error and return it if(class(shape_obj) == "character") { - return(paste0("Error: There was an error processing the shape object: ", shape_obj)) + return_error(paste0("Error: There was an error processing the shape object: ", shape_obj)) + return("Error - see console for output") } # Create raster @@ -68,7 +70,8 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ if(class(raster_obj) == "character") { - return("Error: Raster argument is not of type RasterLayer") + return_error("Error: Raster argument is not of type RasterLayer") + return("Error - see console for output") } @@ -156,7 +159,8 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ { # error handler picks up error information error <- err - return(error) + return_error(error) + return("Error - see console for output") }) return(output) @@ -216,10 +220,11 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Create shape object via local processing function shape_obj <- process_shape(shape_data, simplify, shape_label_field, shape_data_field, shape_key_field, shape_label_size, shape_xy_fields, shape_geom_field) - if(!class(shape_obj) == "sf") + if(suppressWarnings({!"sf" %in% class(shape_obj)})) { # Verification failed, return result - return(paste0("Error: There was an error processing the shape object: ", shape_obj)) + return_error(paste0("Error: There was an error processing the shape object: ", shape_obj), "Process Shape") + return("Error - see console for output") } # ------- End shape processing @@ -235,7 +240,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi if(class(map_data_obj) == "character") { # Process_data must have caught an error - return(map_data_obj) + return_error(map_data_obj, "Process Data") + return("Error - see console for output") } # Merge map and data combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) @@ -255,7 +261,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi if(result != "Success") { - return(result) + return_error(result, "Verify Map Parameters") + return("Error - see console for output") } # Map output variables @@ -329,10 +336,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi data_breaks <- classIntervals(c(min(as.numeric(combined_df[[data_col]])),as.numeric(combined_df[[data_col]])), n = bins, style = bin_method) combined_df <- mutate(combined_df, value = cut(as.numeric(combined_df[[data_col]]), data_breaks$brks)) } - else - { - return("Error: bin_method and bins cannot be NULL") - } + # ------- End map data and options processing # Build ggplot Map object @@ -356,7 +360,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi error = function(err) { # error handler picks up error information - return(err) + return_error(err, "General") + return("Error - see console for output") }) return(output) diff --git a/R/spatial_utils.R b/R/spatial_utils.R index ac7c17f..5882d90 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -36,7 +36,7 @@ process_shape <- function(shape_data, simplify, shape_label_field, shape_data_fi # Import shape data shape_obj <- gcammaptools::import_mapdata(shape_data) - if(!class(shape_obj) %in% "sf") + if(suppressWarnings({!"sf" %in% class(shape_obj)})) { return(paste0("Error: There was an unknown error processing the shape object: ", shape_obj)) } @@ -170,7 +170,11 @@ process_data <- function(map_data, data_key_field, data_col, shape_key_field) return("Error: Unrecognized map_data argument.") } - verify_data(map_data, data_key_field, data_col) + result <- verify_data(map_data, data_key_field, data_col) + if(result != "Success") + { + return(result) + } }, error = function(err) { diff --git a/man/return_error.Rd b/man/return_error.Rd new file mode 100644 index 0000000..7f53f5e --- /dev/null +++ b/man/return_error.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/error_checking.R +\name{return_error} +\alias{return_error} +\title{Return and output errors} +\usage{ +return_error(error, location) +} +\arguments{ +\item{error}{(Character) - Specific error string for output} + +\item{location}{(Character) - Location the error was caught} +} +\value{ +(Character) - Prints the error to console and also returns it to caller +} +\description{ +This function runs a check on csv data inputs and looks for errors +} From cd355ad2e8321ebfa54ed7fb9ec019fa64993bde Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Wed, 29 Apr 2020 09:37:06 -0400 Subject: [PATCH 13/42] output checking, warnings removed, fixes to some error checking functions --- R/error_checking.R | 45 ++++++++++++++++++++------------------------- R/maps.R | 17 +++++++++++------ R/output.R | 41 +++++++++++++++++++++++------------------ R/spatial_utils.R | 8 ++++---- 4 files changed, 58 insertions(+), 53 deletions(-) diff --git a/R/error_checking.R b/R/error_checking.R index c36a72e..1c00545 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -38,7 +38,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie print("Applying default CRS to shape (shape CRS was NA or NULL)") } } - else if(class(shape_data) %in% "character") + else if("character" %in% class(shape_data)) { if (!file.exists(shape_data)) { @@ -77,7 +77,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie } } - if(!class(shape_label_size) %in% "character" ) + if(!"character" %in% class(shape_label_size)) { return("Error: Shape label size argument must be of type character (e.g. '1')") } @@ -130,11 +130,11 @@ verify_raster <- function(raster_data , raster_col, raster_band, bin_method, bin { return("Error: Raster data is NULL") } - else if(class(raster_data) %in% "RasterLayer") + else if("RasterLayer" %in% class(raster_data)) { raster_obj <- raster_data } - else if(class(raster_data) %in% "character") + else if("character" %in% class(raster_data)) { if (!file.exists(raster_data)) { @@ -186,7 +186,7 @@ verify_data <- function(map_data, data_key_field, data_col) # Verify data_key_field if(!is.null(data_key_field)) { - if(!class(data_key_field) %in% "character") + if(!"character" %in% class(data_key_field)) return("Error: data_key_field argument must be of type character") if(!data_key_field %in% colnames(map_data)) return("Error: data_key_field was not found in the map_data data frame") @@ -195,18 +195,13 @@ verify_data <- function(map_data, data_key_field, data_col) # Verify data_col if(!is.null(data_col)) { - if(!class(data_col) %in% "character") + if(!"character" %in% class(data_col)) return("Error: data_col argument must be of type character") if(!data_col %in% colnames(map_data)) return("Error: data_col was not found in the map_data data frame") } - - # Verify shape key = data key - } - - return(result) } @@ -251,7 +246,7 @@ verify_map_params <- function(bin_method, bins, dpi, expand_xy, map_xy_min_max , output <- "Success" # Verify bin_method - if(!bin_method %in% c("quantile", "pretty", "equal")) + if(is.null(bin_method) || !"character" %in% class(bin_method) || !bin_method %in% c("quantile", "pretty", "equal")) { return("Error: bin_method argument must be one of 'quantile', 'pretty', 'equal'") } @@ -267,63 +262,63 @@ verify_map_params <- function(bin_method, bins, dpi, expand_xy, map_xy_min_max , } # verify dpi - if(!(class(dpi) %in% "numeric") || dpi < 30 || dpi > 300) + if(!"numeric" %in% (class(dpi)) || dpi < 30 || dpi > 300) { return("Error: DPI argument must be a numeric value between 30 and 300") } # Verify expand_xy - if(!(class(expand_xy) %in% c("Vector", "numeric")) || length(expand_xy) != 2) + if(!"numeric" %in% (class(expand_xy)) || length(expand_xy) != 2) { return("Error: expand_xy argument must be a numeric vector of length 2") } # Verify map_xy_min_max - if(!(class(map_xy_min_max) %in% c("Vector", "numeric")) || length(map_xy_min_max) != 4) + if(!"numeric" %in% (class(map_xy_min_max)) || length(map_xy_min_max) != 4) { return("Error: map_xy_min_max argument must be a numeric vector of length 4") } # Verify title - if(!class(map_title) %in% "character" && !is.null(map_title)) + if(!"character" %in% class(map_title) && !is.null(map_title)) { return("Error: map_title must be of class character") } # Verify map_palette - if(!is.null(map_palette) && (!class(map_palette) %in% "character" || !(map_palette %in% row.names(brewer.pal.info)) )) + if(!is.null(map_palette) && (!"character" %in% class(map_palette) || !map_palette %in% row.names(brewer.pal.info)) ) { return("Error: map_palette must be of class character and a valid entry in the RColorBrewer palette (see brewer.pal.info") } # Verify palette_reverse - if(!class(map_palette_reverse) %in% "logical" ) + if(!"logical" %in% class(map_palette_reverse)) { return("Error: map_palette_reverse must be of type logical (TRUE or FALSE)") } # Verify map_width_height_in - if(!(class(map_width_height_in) %in% c("Vector", "numeric")) || length(map_width_height_in) != 2) + if(!"numeric" %in% (class(map_width_height_in)) || length(map_width_height_in) != 2) { return("Error: map_width_height_in argument must be a numeric vector of length 2") } # Verify map_legend_title - if(!class(map_legend_title) %in% "character" && !is.null(map_legend_title)) + if(!"character" %in% class(map_legend_title) && !is.null(map_legend_title)) { - return("Error: map_legend_title must be of class character") + return("Error: map_legend_title must be of class character or NULL") } # Verify map_x_label - if(!class(map_x_label) %in% "character" && !is.null(map_x_label)) + if(!"character" %in% class(map_x_label) && !is.null(map_x_label)) { - return("Error: map_x_label must be of class character") + return("Error: map_x_label must be of class character or NULL") } # Verify map_y_label - if(!class(map_y_label) %in% "character" && !is.null(map_y_label)) + if(!"character" %in% class(map_y_label) && !is.null(map_y_label)) { - return("Error: map_y_label must be of class character") + return("Error: map_y_label must be of class character or NULL") } return(output) diff --git a/R/maps.R b/R/maps.R index b7dc6ae..18ad8e8 100644 --- a/R/maps.R +++ b/R/maps.R @@ -206,13 +206,13 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ #' @export choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size = "1", shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, - map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = NULL, + map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = 8, dpi = 150, output_file = NULL, expand_xy = c(0, 0), map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = NULL, map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") { - output <- "Default error" + output <- "There was an unknown error while processing your map" tryCatch( { @@ -244,11 +244,11 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi return("Error - see console for output") } # Merge map and data - combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field)) + suppressWarnings({combined_df <- left_join(x = shape_obj, y = map_data_obj, by = setNames(data_key_field, shape_key_field))}) } else { - combined_df <- as.data.frame(shape_obj) + suppressWarnings({combined_df <- as.data.frame(shape_obj)}) data_col <- shape_data_field } @@ -333,8 +333,8 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Process breaks/bins if(!is.null(bin_method) && !is.null(bins)) { - data_breaks <- classIntervals(c(min(as.numeric(combined_df[[data_col]])),as.numeric(combined_df[[data_col]])), n = bins, style = bin_method) - combined_df <- mutate(combined_df, value = cut(as.numeric(combined_df[[data_col]]), data_breaks$brks)) + suppressWarnings({data_breaks <- classIntervals(c(min(as.numeric(combined_df[[data_col]])),as.numeric(combined_df[[data_col]])), n = bins, style = bin_method)}) + suppressWarnings({combined_df <- mutate(combined_df, value = cut(as.numeric(combined_df[[data_col]]), data_breaks$brks))}) } # ------- End map data and options processing @@ -355,6 +355,11 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi if(!is.null(output_file)) { result <- gcammaptools::save_plot(output_file, dpi, map_width, map_height) + if(result != "Success") + { + return_error(result, "Output file") + return("Error - see console for output") + } } }, error = function(err) diff --git a/R/output.R b/R/output.R index f730077..f535771 100644 --- a/R/output.R +++ b/R/output.R @@ -16,28 +16,33 @@ #' @export save_plot <- function(output_file, dpi, map_width, map_height) { - output <- "success" + output <- "Success" tryCatch( + { + if(is.null(output_file) || !"character" %in% class(output_file)) { - # Get file type dynamically and save to path - file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) + return("Error: output_file argument must be a valid character path") + } - if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) - { - ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, - width = map_width, height = map_height) - } - else - { - return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") - } - }, - error = function(err) + # Get file type dynamically and save to path + file_type <- substr(x = output_file, start = (nchar(output_file)-2), stop = nchar(output_file)) + + if(file_type %in% c("eps", "ps", "tex", "pdf", "jpeg", "tiff", "png", "bmp", "svg")) + { + ggsave(filename = output_file, device = file_type, dpi = dpi, limitsize = TRUE, + width = map_width, height = map_height) + } + else { - # error handler picks up error information - error <- err - return(error) - }) + return("Error: Unrecognized output file type (must be one of eps, ps, tex, pdf, jpeg, tiff, png, bmp, svg") + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) return(output) } diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 5882d90..5157e49 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -25,7 +25,7 @@ process_shape <- function(shape_data, simplify, shape_label_field, shape_data_fi { return("Error: Shape data is NULL") } - else if(class(shape_data) %in% "character") + else if("character" %in% class(shape_data)) { if (!file.exists(shape_data)) { @@ -150,11 +150,11 @@ process_data <- function(map_data, data_key_field, data_col, shape_key_field) { return("Error: Map data cannot be NULL") } - else if(class(map_data) %in% "data.frame") + else if("data.frame" %in% class(map_data) ) { map_obj <- map_data } - else if(class(map_data) %in% "character") + else if("character" %in% class(map_data)) { if (file.exists(map_data)) { @@ -170,7 +170,7 @@ process_data <- function(map_data, data_key_field, data_col, shape_key_field) return("Error: Unrecognized map_data argument.") } - result <- verify_data(map_data, data_key_field, data_col) + result <- verify_data(map_obj, data_key_field, data_col) if(result != "Success") { return(result) From e09e305da4ebee84c78051762e41312f8c3c07fc Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Wed, 29 Apr 2020 11:04:44 -0400 Subject: [PATCH 14/42] choro push --- NAMESPACE | 1 + R/error_checking.R | 5 ++--- R/maps.R | 2 +- R/spatial_utils.R | 14 ++++++++------ man/choropleth.Rd | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index fcf0a74..161efd7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -27,6 +27,7 @@ importFrom(ggplot2,geom_sf) importFrom(ggplot2,geom_sf_label) importFrom(ggplot2,ggplot) importFrom(ggplot2,ggsave) +importFrom(ggplot2,guides) importFrom(ggplot2,labs) importFrom(ggplot2,scale_fill_brewer) importFrom(ggplot2,scale_fill_distiller) diff --git a/R/error_checking.R b/R/error_checking.R index 1c00545..1d6b653 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -29,7 +29,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie { return("Error: Shape data is NULL") } - else if(suppressWarnings({"sf" %in% class(shape_obj)})) + else if(suppressWarnings({"sf" %in% class(shape_data)})) { # Verify raster CRS and assign default if NA if(is.na(crs(shape_data)) || is.null(crs(shape_data))) @@ -62,7 +62,7 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie if(!is.null(shape_label_field)) { # look for shape data field - if(!shape_label_field %in% shape_obj) + if(!shape_label_field %in% names(shape_data)) { return("Error: Shape label field does not exist in shape object.") } @@ -175,7 +175,6 @@ verify_data <- function(map_data, data_key_field, data_col) { # Future # Does it have nulls? - # Is the field there? # Warning that pops up to the user about null values result <- "Success" diff --git a/R/maps.R b/R/maps.R index 18ad8e8..a6646cb 100644 --- a/R/maps.R +++ b/R/maps.R @@ -29,7 +29,7 @@ #' @importFrom sf st_transform #' @importFrom raster raster as.data.frame compareCRS minValue maxValue nlayers #' @importFrom dplyr mutate -#' @importFrom ggplot2 scale_x_continuous scale_y_continuous scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label +#' @importFrom ggplot2 scale_x_continuous scale_y_continuous scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label guides #' @importFrom ggspatial layer_spatial df_spatial #' @import RColorBrewer #' @export diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 5157e49..3364075 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -141,16 +141,18 @@ process_data <- function(map_data, data_key_field, data_col, shape_key_field) { tryCatch( { + if(is.null(map_data)) + { + return("Error: Map data cannot be NULL") + } + # Map Data - if given a path to a csv, use that, else expect a data.frame object passed in if(!class(map_data) %in% c("data.frame", "character")) { return("Error: map_data argument must be of type data.frame or a character path to a csv file") } - if(is.null(map_data)) - { - return("Error: Map data cannot be NULL") - } - else if("data.frame" %in% class(map_data) ) + + if("data.frame" %in% class(map_data) ) { map_obj <- map_data } @@ -169,7 +171,7 @@ process_data <- function(map_data, data_key_field, data_col, shape_key_field) { return("Error: Unrecognized map_data argument.") } - +1 result <- verify_data(map_obj, data_key_field, data_col) if(result != "Success") { diff --git a/man/choropleth.Rd b/man/choropleth.Rd index 8a3f71f..cf35228 100644 --- a/man/choropleth.Rd +++ b/man/choropleth.Rd @@ -9,7 +9,7 @@ choropleth(shape_data = NULL, shape_key_field = NULL, shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", - bins = NULL, dpi = 150, output_file = NULL, expand_xy = c(0, 0), + bins = 8, dpi = 150, output_file = NULL, expand_xy = c(0, 0), map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = NULL, map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), From 32352c79ab0248255b95c07d60f3dbd7f6e86b92 Mon Sep 17 00:00:00 2001 From: evanoffPNNL <50331146+evanoffPNNL@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:25:12 -0400 Subject: [PATCH 15/42] testing, minor tweaks based on error results, also added map_font_adjust argument (needs tweaking still) --- NAMESPACE | 2 + R/error_checking.R | 4 +- R/maps.R | 25 ++++--- R/spatial_utils.R | 84 +++++++++++------------ data-raw/gen-maps.R | 129 ----------------------------------- data/map.basin235.rda | Bin 54313 -> 0 bytes data/map.basin235.simple.rda | Bin 38033 -> 0 bytes data/map.chn.rda | Bin 372158 -> 0 bytes data/map.countries.rda | Bin 136200 -> 0 bytes data/map.rgn14.rda | Bin 277420 -> 0 bytes data/map.rgn14.simple.rda | Bin 192723 -> 0 bytes data/map.rgn32.rda | Bin 294844 -> 0 bytes data/map.rgn32.simple.rda | Bin 211750 -> 0 bytes data/map.usa.rda | Bin 423797 -> 0 bytes man/choropleth.Rd | 9 ++- man/custom_map.Rd | 8 +-- 16 files changed, 73 insertions(+), 188 deletions(-) delete mode 100644 data-raw/gen-maps.R delete mode 100644 data/map.basin235.rda delete mode 100644 data/map.basin235.simple.rda delete mode 100644 data/map.chn.rda delete mode 100644 data/map.countries.rda delete mode 100644 data/map.rgn14.rda delete mode 100644 data/map.rgn14.simple.rda delete mode 100644 data/map.rgn32.rda delete mode 100644 data/map.rgn32.simple.rda delete mode 100644 data/map.usa.rda diff --git a/NAMESPACE b/NAMESPACE index 161efd7..6896baa 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -29,6 +29,7 @@ importFrom(ggplot2,ggplot) importFrom(ggplot2,ggsave) importFrom(ggplot2,guides) importFrom(ggplot2,labs) +importFrom(ggplot2,rel) importFrom(ggplot2,scale_fill_brewer) importFrom(ggplot2,scale_fill_distiller) importFrom(ggplot2,scale_x_continuous) @@ -37,6 +38,7 @@ importFrom(ggplot2,scale_y_continuous) importFrom(ggplot2,scale_y_discrete) importFrom(ggplot2,theme) importFrom(ggplot2,theme_minimal) +importFrom(ggplot2,theme_update) importFrom(ggspatial,df_spatial) importFrom(ggspatial,layer_spatial) importFrom(raster,as.data.frame) diff --git a/R/error_checking.R b/R/error_checking.R index 1d6b653..1ad4700 100644 --- a/R/error_checking.R +++ b/R/error_checking.R @@ -77,9 +77,9 @@ verify_shape <- function(shape_data, simplify, shape_label_field, shape_data_fie } } - if(!"character" %in% class(shape_label_size)) + if(!"numeric" %in% class(shape_label_size)) { - return("Error: Shape label size argument must be of type character (e.g. '1')") + return("Error: Shape label size argument must be numeric ") } if(!simplify %in% c(TRUE, FALSE, NULL)) diff --git a/R/maps.R b/R/maps.R index a6646cb..64253cd 100644 --- a/R/maps.R +++ b/R/maps.R @@ -33,11 +33,11 @@ #' @importFrom ggspatial layer_spatial df_spatial #' @import RColorBrewer #' @export -custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_size_field = "1", simplify = FALSE, +custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_size = "1", simplify = FALSE, raster_data = NULL, raster_col = NULL, raster_band = 1, convert_zero = FALSE, dpi = 150, output_file = NULL, expand_xy = c(0, 0), map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = "RdYlBu", map_palette_reverse = FALSE, - map_width_height_in = c(15, 10), map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") + map_width_height_in = c(15, 10), map_legend_title = NULL, map_x_label = "Longitude", map_y_label = "Latitude") { error <- "" output <- "Default error" @@ -175,7 +175,7 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ #' @param shape_key_field (Character) - Name of key field in shape object for merging with map_data object #' @param shape_data_field (Character) - Optional field for utilizing a field within the shape data as the map data field. Negates the map_data variable #' @param shape_label_field (Character) - Optional field for plotting data available from the shape attributes/fields (such as country name) -#' @param shape_label_size_field (Character) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) +#' @param shape_label_size (Numric) - Optional field used for computing shape label size dynamically (ie by area or amount etc.) #' @param shape_xy_fields (c(Character, Character)) - Vector that specifies the x and y field names in the shape object (default c("LAT", "LON")) #' @param shape_geom_field (Character) - Specifies field within shape object that contains needed geometry (default "geometry") #' @param simplify (Boolean) - Option to reduce the number/complexity of the polygons in the shape file (default FALSE) @@ -196,25 +196,32 @@ custom_map <- function(shape_data = NULL, shape_label_field = NULL, shape_label_ #' @param map_legend_title (Character) - Text for the legend header #' @param map_x_label (Character) - Label for x axis (default Lon) #' @param map_y_label (Character) - Label for y axis (default Lat) +#' @param map_font_adjust (Numeric) - A number between 0.1 and 10 that scales the map fonts either up or down (0.1 = 90% smaller, 10 = 1000% bigger) #' @return (ggplot2 or Character) - Returns a ggplot object of the resulting map or an error string if failed #' @importFrom sf st_transform st_crs #' @importFrom dplyr mutate left_join -#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal expand_scale scale_fill_brewer aes_string element_text +#' @importFrom ggplot2 scale_x_discrete scale_y_discrete scale_fill_distiller ggplot geom_raster geom_sf coord_sf labs theme geom_sf_label theme_minimal expand_scale scale_fill_brewer aes_string element_text rel theme_update #' @importFrom ggspatial layer_spatial df_spatial #' @importFrom classInt classIntervals #' @import RColorBrewer #' @export -choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size = "1", +choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_field = NULL, shape_label_size = 1, shape_data_field = NULL, shape_xy_fields = c("LON", "LAT"), shape_geom_field = "geometry", simplify = FALSE, map_data = NULL, data_key_field = NULL, data_col = NULL, bin_method = "pretty", bins = 8, dpi = 150, output_file = NULL, expand_xy = c(0, 0), map_xy_min_max = c(-180, 180, -90, 90), map_title = NULL, map_palette = NULL, map_palette_reverse = FALSE, map_palette_type = "seq", map_width_height_in = c(15, 10), - map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat") + map_legend_title = NULL, map_x_label = "Lon", map_y_label = "Lat", map_font_adjust = 1.0) { output <- "There was an unknown error while processing your map" tryCatch( { + # Initial check catches common mistake early, saves processing + if(!is.null(shape_data_field) && !is.null(data_col)) + { + return_error("Error: Both of the shape_data_field and data_col arguments cannot have a value (you may use only one)", "Duplicate arguments") + return("Error - see console for output") + } # ------- Shape processing @@ -323,7 +330,7 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi # Build geometry labels if enabled by user if(!is.null(shape_label_field)) { - map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = shape_label_size)) + map_shape_options <- geom_sf_label(data = shape_obj, aes_string(label = shape_label_field, fill=NULL, size = as.character(shape_label_size))) if(!is.null(shape_label_size)) { map_size_guide_option <- guides(size = FALSE) @@ -348,7 +355,9 @@ choropleth <- function(shape_data = NULL, shape_key_field = NULL, shape_label_fi map_x_scale + map_y_scale + map_shape_options + - theme_minimal() + theme(plot.title = element_text(hjust = 0.5)) + + theme_minimal() + + theme(text = element_text(size=rel(map_font_adjust))) + + theme(plot.title = element_text(hjust = 0.5)) + map_size_guide_option # Save File diff --git a/R/spatial_utils.R b/R/spatial_utils.R index 3364075..3d52a8d 100644 --- a/R/spatial_utils.R +++ b/R/spatial_utils.R @@ -19,58 +19,58 @@ process_shape <- function(shape_data, simplify, shape_label_field, shape_data_fi shape_label_size, shape_xy_fields, shape_geom_field) { tryCatch( + { + # Initial processing of shape object so that a completed shape object can be sent to the error check function + if(is.null(shape_data)) { - # Initial processing of shape object so that a completed shape object can be sent to the error check function - if(is.null(shape_data)) + return("Error: Shape data is NULL") + } + else if("character" %in% class(shape_data)) + { + if (!file.exists(shape_data)) { - return("Error: Shape data is NULL") - } - else if("character" %in% class(shape_data)) - { - if (!file.exists(shape_data)) - { - return("Error: Cannot open shape file or shape file path does not exist ") - } + return("Error: Cannot open shape file or shape file path does not exist ") } + } - # Import shape data - shape_obj <- gcammaptools::import_mapdata(shape_data) + # Import shape data + shape_obj <- gcammaptools::import_mapdata(shape_data) - if(suppressWarnings({!"sf" %in% class(shape_obj)})) - { - return(paste0("Error: There was an unknown error processing the shape object: ", shape_obj)) - } + if(suppressWarnings({!"sf" %in% class(shape_obj)})) + { + return(paste0("Error: There was an unknown error processing the shape object: ", shape_obj)) + } - result <- verify_shape(shape_obj, simplify, shape_label_field, shape_data_field, shape_key_field, shape_label_size, shape_xy_fields, shape_geom_field) + result <- verify_shape(shape_obj, simplify, shape_label_field, shape_data_field, shape_key_field, shape_label_size, shape_xy_fields, shape_geom_field) - if(result != "Success") - { - return(result) - } + if(result != "Success") + { + return(result) + } - # Verify raster CRS and assign default if NA - if(is.na(crs(shape_obj)) || is.null(crs(shape_obj))) - { - sf::st_crs(shape_obj) <- crs(default_projection) - print("Applying default CRS to shape (shape CRS was NA or NULL)") - } + # Verify raster CRS and assign default if NA + if(is.na(crs(shape_obj)) || is.null(crs(shape_obj))) + { + sf::st_crs(shape_obj) <- crs(default_projection) + print("Applying default CRS to shape (shape CRS was NA or NULL)") + } - # Optional argument to simplify polygons via the simplify_mapdata function - if(simplify) - { - shape_obj <- gcammaptools::simplify_mapdata(shape_obj) - } - else - { - return(result) - } - }, - error = function(err) + # Optional argument to simplify polygons via the simplify_mapdata function + if(simplify) { - # error handler picks up error information - error <- err - return(error) - }) + shape_obj <- gcammaptools::simplify_mapdata(shape_obj) + } + else + { + return(result) + } + }, + error = function(err) + { + # error handler picks up error information + error <- err + return(error) + }) return(shape_obj) } diff --git a/data-raw/gen-maps.R b/data-raw/gen-maps.R deleted file mode 100644 index fe5c939..0000000 --- a/data-raw/gen-maps.R +++ /dev/null @@ -1,129 +0,0 @@ -### Run this script in an interactive session and call \code{devtools::use_data} -### on the resulting outputs. It assumes you are at the package top level -### directory. - -library('gcammaptools') -library('magrittr') -library('dplyr') - -# This function generates six map files, represented as sf objects (see -# https://cran.r-project.org/web/packages/sf/). The default maps supported by -# gcammaptools are: -# - rgn14: The outdated GCAM 14-region boundaries -# - rgn32: The current 32 GCAM regions -# - basin235: The 235 water basins, which are soon replacing AEZs -# - chn: The current 32 GCAM regions with China broken down into 30 -# provinces -# - usa: The current 32 GCAM regions with USA broken down into 51 -# regions (50 states and Washington DC) -# - countries: A standard world map containing country administrative borders -# Additionally, simplified versions of rgn14, rgn32, and basin235 are created. -gen.data <- function() { - - ## Both maps of the GCAM regions are built with the column 'region_name', - # which is not necessary for plotting but is used so that gcam32_colors can - # map to it. - map.rgn14 <- system.file("extdata", "rgn14/GCAM_region.geojson", package = "gcammaptools") %>% - import_mapdata() %>% - dplyr::left_join(lut.rgn14, by = "region_id") %>% - dplyr::rename(region_name = region) %>% sf::st_as_sf() - map.rgn32 <- system.file("extdata", "rgn32/reg32_spart.shp", package = "gcammaptools") %>% - import_mapdata() %>% - dplyr::left_join(lut.rgn32, by = "region_id") %>% - dplyr::rename(region_name = region) %>% sf::st_as_sf() - map.rgn14.simple <- simplify_mapdata(map.rgn14) - map.rgn32.simple <- simplify_mapdata(map.rgn32) - - ## The basin235 map is also provided in detailed and simplified forms. - path.basin235 <- "rgnbasin/Global235_CLM_05_dissolve.geojson" - map.basin235 <- system.file("extdata", path.basin235, package = "gcammaptools") %>% - import_mapdata() %>% - rbind(dplyr::rename(map.rgn14[1, ], basin_name = region_name)) # Add Antarctica - map.basin235.simple <- simplify_mapdata(map.basin235) - - ## The original geoJSON for China is 9.7MB, so it is not included. The - # smaller version was produced by simplifying both the Chinese provinces and - # the GCAM regions, but keeping more detail in the provinces: - # - # orig <- import_mapdata('path/to/original/file/GCAM_China.geojson') - # keeps <- c("China", "Central Asia", "Taiwan") - # simpler <- rbind(simplify_mapdata(orig[!orig$Region %in% keeps , ], 2.5, 0.1), - # simplify_mapdata(orig[orig$Region %in% keeps, ], 0, 0.01)) - # sf::st_write(simpler, "GCAM_China.geojson", layer = "simpler", - # driver = "GeoJSON") - # - # The geojson contains excess information, and only the region names and ids - # are kept for the final map. - map.chn <- system.file("extdata", "rgnchn/GCAM_China.geojson", package = "gcammaptools") %>% - import_mapdata() %>% - dplyr::select(region_name, region_id, geometry) - - ## GCAM USA uses the two letter state abbreviations as the state IDs, so the - # usa lookup table is actually of more use here in the building of the map. - # The USA map is placed on top of the 32-region map to produce a final GCAM - # USA compatable map. - # - # One problem with the defualt map data is that the US-Canada border lacks - # resolution. Because of this, many reprojections caused a gap between the - # the two countries. The problem is addressed below by segmentizing the - # polygon that represents mainland Canada such that it contains no segment - # longer than the resolution specified by 'min.seg'. More information about - # segmentization can be found here: - # http://www.georeference.org/doc/segmentization.htm - path.usa <- system.file("extdata", "rgnusa/us_states_50m.shp", package = "gcammaptools") - map.usa <- import_mapdata(path.usa)[ , c('name', 'geometry')] %>% - dplyr::mutate(name = levels(droplevels(name))) %>% - dplyr::left_join(lut.usa, by = c("name" = "region")) %>% - dplyr::rename(region_name = name) %>% - rbind(dplyr::filter(map.rgn32, region_id != 1)) %>% - sf::st_as_sf() - canada.main <- 273 # Index in map for polygon of Canada's mainland - min.seg <- 1 # Minimum segment length in degrees allowed for polygon - sf::st_geometry(map.usa)[[canada.main]] <- sf::st_segmentize(sf::st_geometry(map.usa)[[canada.main]],min.seg) - - ## The world map of countries is included for completeness' sake, and cannot - # be used with GCAM data as it currently is. - path.countries <- system.file("extdata", "rgnworld/ne_110m_admin_0_countries.shp", package = "gcammaptools") - map.countries <- import_mapdata(path.countries)[,c('admin', 'geometry')] - - devtools::use_data(map.rgn14, map.rgn14.simple, map.rgn32, map.rgn32.simple, - map.basin235, map.basin235.simple, map.chn, map.usa, - map.countries, overwrite=TRUE) -} - -gen.internal <- function() { - ## Read the various region lookup tables, drop region lists, and province - # lists 14-region has just a lookup - lut.rgn14 <- read.csv('inst/extdata/rgn14/lookup.txt', strip.white=TRUE, - stringsAsFactors=FALSE) - - ## 32-region has a lookup and a drop - lut.rgn32 <- read.csv('inst/extdata/rgn32/lookup.txt', strip.white=TRUE, - stringsAsFactors=FALSE) - drop.rgn32 <- read.csv('inst/extdata/rgn32/drop-regions.txt', strip.white=TRUE, - stringsAsFactors=FALSE, header=F) - - ## basins have just a lookup table - lut.basin235 <- read.csv('inst/extdata/rgnbasin/lookup.txt', strip.white=TRUE, - stringsAsFactors=FALSE) - - ## GCAM-china has all three - lut.chn <- read.csv('inst/extdata/rgnchn/lookup.txt', strip.white=TRUE, - stringsAsFactors=FALSE) - drop.chn <- read.csv('inst/extdata/rgnchn/drop-regions.txt', strip.white=TRUE, - stringsAsFactors=FALSE, header=F) - prov.chn <- read.csv('inst/extdata/rgnchn/rgn-name-translation.csv', strip.white=TRUE, - stringsAsFactors=FALSE) - - ## GCAM-USA has a lookup table - lut.usa <- read.csv('inst/extdata/rgnusa/lookup.txt', strip.white=TRUE, - stringsAsFactors=FALSE) - - devtools::use_data(lut.rgn14, lut.rgn32, drop.rgn32, lut.basin235, - lut.chn, drop.chn, prov.chn, lut.usa, - internal=TRUE, overwrite=TRUE) -} - - -gen.internal() -gen.data() diff --git a/data/map.basin235.rda b/data/map.basin235.rda deleted file mode 100644 index a6daff879777832afaa99453c0a277e402db738e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54313 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�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 Gw;^Djk_?9c diff --git a/data/map.chn.rda b/data/map.chn.rda deleted file mode 100644 index 64dd77521ab2972dd2c62e6cf6e7507b802678a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372158 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

fNH9gbd3?yuyTMt^a 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

#hjH{O^Gf*3T(je;7)Uor5=AgZ9?Iua|% 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�cZunsz{8l^`&9iq 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 MkV_^#xk;dbA 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� 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 diff --git a/data/map.countries.rda b/data/map.countries.rda deleted file mode 100644 index 8f328af222d90233c9d67b258fbb830d932d9408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136200 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

Nx&iUWkjKMJJP-f75`??|K-KyE?7e%v9#9Z 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

}2N-#y3g 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

a_<(eOj{%QP|!!a{$d}2{H5N0=|+_hnI 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 z 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 z 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