Learn R Programming

rmapshaper (version 0.4.4)

ms_filter_fields: Delete fields in the attribute table

Description

Removes all fields except those listed in the fields parameter

Usage

ms_filter_fields(input, fields, sys = FALSE)

Arguments

input

spatial object to filter fields on. One of:

  • geo_json or character points, lines, or polygons;

  • geo_list points, lines, or polygons;

  • SpatialPolygonsDataFrame, SpatialLinesDataFrame, SpatialPointsDataFrame;

  • sf object

fields

character vector of fields to retain.

sys

Should the system mapshaper be used instead of the bundled mapshaper? Gives better performance on large files. Requires the mapshaper node package to be installed and on the PATH.

Value

object with only specified attributes retained, in the same class as the input

Examples

Run this code
# NOT RUN {
library(geojsonio)
library(sp)

poly <- structure("{\"type\":\"FeatureCollection\",
                  \"features\":[{\"type\":\"Feature\",
                  \"properties\":{\"a\": 1, \"b\":2, \"c\": 3},
                  \"geometry\":{\"type\":\"Polygon\",
                  \"coordinates\":[[[102,2],[102,4],[104,4],[104,2],[102,2]]]}}]}",
                  class = c("json", "geo_json"))
poly <- geojson_sp(poly)
poly@data

# Filter (keep) fields a and b, drop c
out <- ms_filter_fields(poly, c("a", "b"))
out@data

# }

Run the code above in your browser using DataLab