Skip to contents

This function runs standard unit tests on sf object parameters for functions. If the suggested sf package is not installed, it will only test that x is an object of class sf. The remaining checks for geometry column name, geometry type, crs, and whether or not a geographic coordinate system is acceptable all require that the sf package is installed.

Usage

dis_sf(x, valid_geometry_name = NULL, valid_geometry_type = NULL,
    valid_crs = NULL, valid_longlat = NULL, null_valid = TRUE, param = NULL,
    call = NULL, fact_check = "global")

Arguments

x

Required object; a parameter argument to test.

valid_geometry_name

Optional character scalar; required name for the geometry column. If NULL (default), any name is permissible. If a character string is included (i.e. "geometry", the typical name of a geometry column), the sf object must have a geometry column whose name matches the argument. This test requires that sf is installed.

valid_geometry_type

Optional character scalar; required geometry type(s) for x. The most common are "POINT", "LINESTRING", and "POLYGON" as well as the "MULTI" versions of each ("MULTIPOINT", "MULTILINESTRING", and "MULTIPOLYGON").

Other valid geometry types are "GEOMETRY" and "GEOMETRYCOLLECTION", which is used for "geometry collections." However, you should note that geometry collections will cause errors with some spatial data operations.

Less common geometry types include "CIRCULARSTRING", "COMPOUNDCURVE", "CURVEPOLYGON", "MULTICURVE", "MULTISURFACE", "CURVE", "SURFACE", "POLYHEDRALSURFACE", "TIN", and "TRIANGLE".

If multiple values are given, x can be any one of those values. If NULL (default), this test is skipped. This test requires that sf is installed.

valid_crs

Optional character scalar; the required CRS value that x must use. If multiple values are given, x can be any one of those values. If NULL (default), this test is skipped. This test requires that sf is installed.

valid_longlat

Optional logical scalar; if TRUE, x must use a geographic coordinate system. If FALSE, x must use a projected coordinate system. If NULL (default), this test is skipped. This test requires that sf is installed.

null_valid

Required logical scalar; whether the parameter can be NULL. If FALSE, the function will throw an error if x is NULL. Default is TRUE.

param

Optional character scalar; the parameter name. If NULL (default), the function will attempt to determine the parameter name from the calling environment. If nesting functions, it is recommended to provide the parameter name to ensure the correct parameter is referenced using rlang::caller_arg().

call

Optional environment; the environment in which the function was called. If NULL (default), the function will attempt to determine the calling environment. If nesting functions, it is recommended to provide the calling environment to ensure the correct environment is referenced using rlang::caller_env().

fact_check

Required character scalar; whether to override fact checking environment setting. If "global" (default), dis_character will follow the global setting. If "always", dis_character will ignore any global setting and will always check x. This argument is primarily intended for Shiny developers who wish to use disputeR in modules. See the vignette on vignette("developing", package = "disputeR") for details on how to use this function.

Details

See the vignette on vignette("developing", package = "disputeR") for details about internal validation of arguments for this function.

Examples

# create example function that uses dis_sf()
example <- function(x){

  ## check inputs with disputeR
  dis_not_missing(.f = rlang::is_missing(x))
  dis_sf(x)

  ## return output
  return(x)

}

# test example function
# example(x = sf)