editAttributes: Edit Feature Attributes

View source: R/editAttributes.R

editAttributesR Documentation

Edit Feature Attributes

Description

Launches a 'shiny' application where you can add and edit spatial geometry and attributes. Geometry is created or edited within the interactive map, while feature attributes can be added to and edited within the editable table.

Starting with a 'data.frame' or an 'sf data.frame', a list of 'sf data.frames' or nothing at all. You can add columns, and rows and geometry for each row. Clicking on a row with geometry you can zoom across the map between features.

When you are done, your edits are saved to an 'sf data.frame' for use in R or to be saved to anyformat you wish via st_write.

The application can dynamically handle: character, numeric, integer, factor and date fields.

When the input data set is an 'sf data.frame' the map automatically zooms to the extent of the 'sf' object.

When the input has no spatial data, you must tell the function where to zoom. The function uses geocode_OSM to identify the coordinates of your area of interest.

Usage

editAttributes(
  dat,
  zoomto = NULL,
  col_add = TRUE,
  reset = TRUE,
  provider = "Esri.WorldImagery",
  testing = FALSE
)

Arguments

dat

input data source, can be a 'data.frame' or an 'sf data.frame', or it can be left empty. When nothing is passed to 'dat' a basic 'data.frame' is generated with 'id' and 'comment' fields.

zoomto

character area of interest. The area is defined using geocode_OSM, which uses OSM Nominatim. The area can be as ambiguous as a country, or as specific as a street address. You can test the area of interest using the application or the example code below.

col_add

boolean option to enable add columns form. Set to false if you don't want to allow a user to modify the data structure.

reset

boolean option to reset attribute input. Set to false if you don't want the attribute input to reset to NA after each added row. Use this option when features share common attributes

provider

A character string indicating the provider tile of choice, e.g. 'Esri.WorldImagery' (default)

Value

sf data.frame

Note

Editing of feature geometries does not work for multi-geometry inputs. For this use case it is advisable to split the data set by geometry type and edit separately

Examples

## Not run: 

# with no input
data_sf <- editAttributes(zoomto = 'germany')

# a data.frame input
dat <- data.frame(name = c('SiteA', 'SiteB'),
                  type = factor(c('park', 'zoo'), levels = c('park', 'factory', 'zoo', 'warehouse')),
                  size = c(35, 45))

data_sf <- editAttributes(dat, zoomto = 'berlin')

# an sf data.frame input
data_sf <- editAttributes(data_sf)

# test zoomto area of interest
zoomto_area <- tmaptools::geocode_OSM('paris')
mapview(st_as_sfc(zoomto_area$bbox))


## End(Not run)

r-spatial/mapedit documentation built on March 29, 2022, 5:42 p.m.