selectFeatures function

Interactively Select Map Features

Interactively Select Map Features

selectFeatures(x, ...) ## S3 method for class 'sf' selectFeatures( x = NULL, mode = c("click", "draw"), op = sf::st_intersects, map = NULL, index = FALSE, viewer = shiny::paneViewer(), label = NULL, title = "Select features", ... ) ## S3 method for class 'Spatial' selectFeatures(x, ...)

Arguments

  • x: features to select
  • ...: other arguments
  • mode: one of "click" or "draw".
  • op: the geometric binary predicate to use for the selection. Can be any of geos_binary_pred. In the spatial operation the drawn features will be evaluated as x and the supplied feature as y. Ignored if mode = "click".
  • map: a background leaflet or mapview map to be used for editing. If NULL a blank mapview canvas will be provided.
  • index: logical with index=TRUE indicating return the index of selected features rather than the actual selected features
  • viewer: function for the viewer. See Shiny viewer. NOTE: when using browserViewer(browser = getOption("browser")) to open the app in the default browser, the browser window will automatically close when closing the app (by pressing "done" or "cancel") in most browsers. Firefox is an exception. See Details for instructions on how to enable this behaviour in Firefox.
  • label: character vector or formula for the content that will appear in label/tooltip.
  • title: string to customize the title of the UI window. The default is "Select features".

Details

When setting viewer = browserViewer(browser = getOption("browser")) and the systems default browser is Firefox, the browser window will likely not automatically close when the app is closed (by pressing "done" or "cancel"). To enable automatic closing of tabs/windows in Firefox try the following:

  • input "about:config " to your firefox address bar and hit enter
  • make sure your "dom.allow_scripts_to_close_windows" is true

Examples

## Not run: library(mapedit) library(mapview) lf <- mapview() # draw some polygons that we will select later drawing <- lf %>% editMap() # little easier now with sf mapview(drawing$finished) # especially easy with selectFeatures selectFeatures(drawing$finished) # use @bhaskarvk USA Albers with leaflet code # https://bhaskarvk.github.io/leaflet/examples/proj4Leaflet.html #devtools::install_github("hrbrmstr/albersusa") library(albersusa) library(sf) library(leaflet) library(mapedit) spdf <- usa_sf() pal <- colorNumeric( palette = "Blues", domain = spdf$pop_2014 ) bounds <- c(-125, 24 ,-75, 45) (lf <- leaflet( options= leafletOptions( worldCopyJump = FALSE, crs=leafletCRS( crsClass="L.Proj.CRS", code='EPSG:2163', proj4def=paste0( '+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 ', '+b=6370997 +units=m +no_defs' ), resolutions = c(65536, 32768, 16384, 8192, 4096, 2048,1024, 512, 256, 128) ) ) ) %>% fitBounds(bounds[1], bounds[2], bounds[3], bounds[4]) %>% setMaxBounds(bounds[1], bounds[2], bounds[3], bounds[4]) %>% mapview::addFeatures( data=spdf, weight = 1, color = "#000000", # adding group necessary for identification layerId = ~iso_3166_2, fillColor=~pal(pop_2014), fillOpacity=0.7, label=~stringr::str_c(name,' ', format(pop_2014, big.mark=",")), labelOptions= labelOptions(direction = 'auto') ) ) # test out selectMap with albers example selectMap( lf, styleFalse = list(weight = 1), styleTrue = list(weight = 4) ) ## End(Not run)
  • Maintainer: Tim Appelhans
  • License: MIT + file LICENSE
  • Last published: 2020-02-02