Bind rows (features) of sf objects
Bind columns (variables) of sf objects
# S3 method for sf rbind(..., deparse.level = 1) # S3 method for sf cbind(..., deparse.level = 1, sf_column_name = NULL) st_bind_cols(...)
... | objects to bind; note that for the rbind and cbind methods, all objects have to be of class |
---|---|
deparse.level | integer; see rbind |
sf_column_name | character; specifies active geometry; passed on to st_sf |
cbind
called with multiple sf
objects warns about multiple geometry columns present when the geometry column to use is not specified by using argument sf_column_name
; see also st_sf.
both rbind
and cbind
have non-standard method dispatch (see cbind): the rbind
or cbind
method for sf
objects is only called when all arguments to be binded are of class sf
.
If you need to cbind
e.g. a data.frame
to an sf
, use data.frame directly and use st_sf on its result, or use bind_cols; see examples.
st_bind_cols
is deprecated; use cbind
instead.
crs = st_crs(3857) a = st_sf(a=1, geom = st_sfc(st_point(0:1)), crs = crs) b = st_sf(a=1, geom = st_sfc(st_linestring(matrix(1:4,2))), crs = crs) c = st_sf(a=4, geom = st_sfc(st_multilinestring(list(matrix(1:4,2)))), crs = crs) rbind(a,b,c)#> Simple feature collection with 3 features and 1 field #> geometry type: GEOMETRY #> dimension: XY #> bbox: xmin: 0 ymin: 1 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a geom #> 1 1 POINT (0 1) #> 2 1 LINESTRING (1 3, 2 4) #> 3 4 MULTILINESTRING ((1 3, 2 4))#> Simple feature collection with 2 features and 1 field #> geometry type: GEOMETRY #> dimension: XY #> bbox: xmin: 0 ymin: 1 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a geom #> 1 1 POINT (0 1) #> 2 1 LINESTRING (1 3, 2 4)#> Simple feature collection with 2 features and 1 field #> geometry type: GEOMETRY #> dimension: XY #> bbox: xmin: 0 ymin: 1 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a geom #> 1 1 POINT (0 1) #> 2 1 LINESTRING (1 3, 2 4)#> Simple feature collection with 2 features and 1 field #> geometry type: GEOMETRY #> dimension: XY #> bbox: xmin: 1 ymin: 3 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a geom #> 1 1 LINESTRING (1 3, 2 4) #> 2 4 MULTILINESTRING ((1 3, 2 4))#> Simple feature collection with 1 feature and 3 fields #> Active geometry column: geom #> geometry type: POINT #> dimension: XY #> bbox: xmin: 0 ymin: 1 xmax: 0 ymax: 1 #> CRS: EPSG:3857 #> a a.1 a.2 geom geom.1 geom.2 #> 1 1 1 4 POINT (0 1) LINESTRING (1 3, 2 4) MULTILINESTRING ((1 3, 2 4))#>#> #>#>#> #>#>#> #>#> Simple feature collection with 1 feature and 2 fields #> Active geometry column: geom #> geometry type: POINT #> dimension: XY #> bbox: xmin: 0 ymin: 1 xmax: 0 ymax: 1 #> CRS: EPSG:3857 #> a geom a1 geom1 #> 1 1 POINT (0 1) 1 LINESTRING (1 3, 2 4)c = st_sf(a=4, geomc = st_sfc(st_multilinestring(list(matrix(1:4,2)))), crs = crs) cbind(a,b,c, sf_column_name = "geomc")#> Simple feature collection with 1 feature and 3 fields #> Active geometry column: geomc #> geometry type: MULTILINESTRING #> dimension: XY #> bbox: xmin: 1 ymin: 3 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a a.1 a.2 geom geom.1 geomc #> 1 1 1 4 POINT (0 1) LINESTRING (1 3, 2 4) MULTILINESTRING ((1 3, 2 4))#> Simple feature collection with 1 feature and 2 fields #> geometry type: MULTILINESTRING #> dimension: XY #> bbox: xmin: 1 ymin: 3 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a x geomc #> 1 4 3 MULTILINESTRING ((1 3, 2 4))#> Simple feature collection with 1 feature and 2 fields #> geometry type: MULTILINESTRING #> dimension: XY #> bbox: xmin: 1 ymin: 3 xmax: 2 ymax: 4 #> CRS: EPSG:3857 #> a geomc x #> 1 4 MULTILINESTRING ((1 3, 2 4)) 3