R/spUnionPoly.R
spUnionPoly.Rd
Generate a unioned sf object with polygons and attributes from two sf polygon objects.
spUnionPoly(
polyv1,
polyv1_dsn = NULL,
polyv2,
polyv2_dsn = NULL,
validate = FALSE,
showext = FALSE,
areacalc = FALSE,
areavar = "ACRES_GIS",
exportsp = FALSE,
savedata_opts = NULL,
...
)
sf R object or String. Polygon data to union. Can be a spatial polygon object, full pathname to a shapefile, or name of a layer within a database.
String. Data source name (dsn; e.g., sqlite or shapefile pathname) of layer to union. The dsn varies by driver. See gdal OGR vector formats (https://www.gdal.org/ogr_formats.html). Optional if polyv1 is sf object.
sf R object or String. Polygon data to union. Can be a spatial polygon object, full pathname to a shapefile, or name of a layer within a database.
String. Data source name (dsn; e.g., sqlite or shapefile pathname) of layer to union. The dsn varies by driver. See gdal OGR vector formats (https://www.gdal.org/ogr_formats.html). Optional if polyv2 is sf object.
Logical. If TRUE, validates polyv and clippolyv before clipping. Uses sf::st_make_valid with default parameters (geos_method='valid_structure', geos_keep_collapsed=FALSE).
Logical. If TRUE, layer extents are displayed in plot window.
Logical. If TRUE, calculate area of unioned polygons and append to attribute table (See details).
String. Name of area variable.
Logical. If TRUE, the spatial unioned object is exported to outfolder (see spExportSpatial for details).
List. See help(savedata_options()) for a list of options. Only used when export = TRUE. If out_layer = NULL, default = 'polyunion'.
For extendibility.
sf object of unioned polygon. If polyv1 and polyv2 have different projections, the projection of returned object will have the same projection as poly1 (See note about on-the-fly projection conversion).
If exportsp=TRUE, the sf object will be written to outfolder (See note).
*If variable = NULL, then it will prompt user for input.
Uses raster function union to merge two polygons and crop, if clip=TRUE. Generates a new ID for each polygon and appends attributes from both polygons.
areacalc
If areacalc = TRUE and the unioned spatial object is not in a
projected coordinate system (i.e., longlat), the object will be reprojected
to the Albers Equal Area projection before area is calculated.
On-the-fly projection conversion
The spTransform (sf) method is used
for on-the-fly map projection conversion and datum transformation using
PROJ.4 arguments. Datum transformation only occurs if the +datum tag is
present in the both the from and to PROJ.4 strings. The +towgs84 tag is used
when no datum transformation is needed. PROJ.4 transformations assume NAD83
and WGS84 are identical unless other transformation parameters are
specified. Be aware, providing inaccurate or incomplete CRS information may
lead to erroneous data shifts when reprojecting. See spTransform help
documentation for more details.
ESRI Shapefile Driver
If exportsp=TRUE:
The st_write (sf) function
is called. If out_fmt="shp", the ESRI Shapefile driver truncates variable
names to 10 characters or less. Variable names are changed before export
using an internal function (trunc10shp). If sf object has more than 1
record, it will be returned but not exported.
if (FALSE) {
# Set up data from `FIESTA` and `raster`
WYbhfn <- system.file("extdata",
"sp_data/WYbighorn_adminbnd.shp",
package = "FIESTA")
WYbh <- spImportSpatial(WYbhfn)
# Generate unioned `sf` object
polyUnion <- spUnionPoly(polyv1 = stunitco[stunitco$STATENM == "Wyoming",],
polyv2 = WYbh,
areacalc = TRUE)
# Plot the result
plot(sf::st_geometry(polyUnion))
}