These are simpler versions of the main functions sf_point()
,
sf_multipoint()
, sf_linestring()
, sf_multilinestring()
, sf_polygon()
,
and sf_multipolygon()
for input data frame or matrix that contains columns
appropriately of 'x', 'y', 'z', 'm', ' multipolygon_id', polygon_id',
'multilinestring_id', 'linestring_id', 'multipoint_id'.
This puts the onus of the naming and identification of entities onto the
input data set, rather than when calling the creator function. This has pros
and cons, so is not necessarily always 'simpler'. Please choose the
appropriate constructor for the context you have. For examples a data frame
from the real world with columns 'lon', 'lat', 'line' will be best used with
sf_linestring(df, x = "lon", y = "lat", linestring_id = "line")
whereas a heavy user of sfheaders might always create a data frame with 'x',
'y', 'linestring_id' precisely because they are expecting to call
sf_line(df)
and no further work is required. These are very different
contexts and both equally valid.
Some columns are mandatory, such as 'x' and 'y' (always), while others depend
on the output type where each column for that type is mandatory. The 'z'
and/or 'm' values are included for 'XYZ', 'XYM', or 'XYZM' geometry types if
and as they are present.
In summary these helpers:
do not require arguments declaring column names.
use assumed default column names, with no variation or absence allowed for
a given type.
use z
, and/or m
if present.
use close = FALSE
and keep = FALSE
same as proper constructors.
unlike sf_point()
sf_pt()
does not accept a flat vector for a single
point.
require a matrix or data frame with complete column names.
None of the helpers allow partial name matching for column names.