These functions return the non-coordinate information of a geometry and/or vector. They do not parse an entire geometry/vector and are intended to be very fast even for large vectors.

wk_meta(handleable, ...)

# S3 method for default
wk_meta(handleable, ...)

wk_vector_meta(handleable, ...)

# S3 method for default
wk_vector_meta(handleable, ...)

wk_meta_handler()

wk_vector_meta_handler()

wk_geometry_type_label(geometry_type)

wk_geometry_type(geometry_type_label)

## Arguments

handleable A geometry vector (e.g., wkb(), wkt(), xy(), rct(), or sf::st_sfc()) for which wk_handle() is defined. Passed to the wk_handle() method. An integer code for the geometry type. These integers follow the WKB specification (e.g., 1 for point, 7 for geometrycollection). A character vector of (lowercase) geometry type labels as would be found in WKT (e.g., point, geometrycollection).

## Value

A data.frame with columns:

• geometry_type: An integer identifying the geometry type. A value of 0 indicates that the types of geometry in the vector are not known without parsing the entire vector.

• size: For points and linestrings, the number of coordinates; for polygons, the number of rings; for collections, the number of child geometries. A value of zero indicates an EMPTY geometry. A value of NA means this value is unknown without parsing the entire geometry.

• has_z: TRUE if coordinates contain a Z value. A value of NA means this value is unknown without parsing the entire vector.

• has_m: TRUE if coordinates contain an M value. A value of NA means this value is unknown without parsing the entire vector.

• srid: An integer identifying a CRS or NA if this value was not provided.

• precision: A grid size or 0.0 if a grid size was not provided. Note that coordinate values may not have been rounded; the grid size only refers to the level of detail with which they should be interpreted.

## Examples

wk_vector_meta(as_wkt("LINESTRING (0 0, 1 1)"))
#>   geometry_type size has_z has_m
#> 1             0    1    NA    NAwk_meta(as_wkt("LINESTRING (0 0, 1 1)"))
#>   geometry_type size has_z has_m srid precision
#> 1             2   NA FALSE FALSE   NA         0wk_meta(as_wkb("LINESTRING (0 0, 1 1)"))
#>   geometry_type size has_z has_m srid precision
#> 1             2    2 FALSE FALSE   NA         0
wk_geometry_type_label(1:7)
#> [1] "point"              "linestring"         "polygon"
#> [4] "multipoint"         "multilinestring"    "multipolygon"
#> [7] "geometrycollection"wk_geometry_type(c("point", "geometrycollection"))
#> [1] 1 7