The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
STRICT_R_HEADERS=1
(#222).wk_crs()
and wk_set_crs()
methods for
bbox
(#213)wkb()
vectors (#196, #204).xy(NA, NA)
is now read as a null feature instead of
POINT EMPTY. This preserves the invariant that null features can also be
identified using is.na()
(#205).xy(NaN, NaN)
is now read as POINT EMPTY and
is.na(xy(NaN, NaN))
now returns FALSE
. This
means that both EMPTY and null points can roundtrip through
xy()
(#205).wk_meta()
now contains a new column
is_empty
, which is TRUE
for any feature that
contains at least one non-empty coordinate. This allows more efficient
detection of features with zero coordinates (#197, #199).sfc_writer()
to correctly attach the
classes
attribute to sfc output with mixed geometry types
(#195).sfc_writer()
now has an argument
promote_multi
to write any input as the MULTI variant. This
makes it more likely that an input vector will be read as a single
geometry type (#198).wk_collection_filter()
now correctly increments the
part_id
when calling the child handler (@brownag, #194).wkb_to_hex()
(@anthonynorth, #183).vctrs::vec_proxy_equal()
for
wkb()
vctrs (@anthonynorth, #183).sfc_writer()
, which had returned NULL for some
inputs (e.g., via wk_collection()
) (@anthonynorth, #182, #186).wk_clockwise()
and
wk_counterclockwise()
to re-wind polygon rings (@anthonynorth,
#188).wk_coords<-()
for
in-place modification of coordinates (@mdsumner, #187).wk_trans_explicit()
migrated from crs2crs
(@mdsumner,
#187).as.data.frame.default()
,
which no longer occurs in r-devel (#166).validate_wk_wkt()
now errors for an object that does
not inherit from ‘wk_wkt’ (#123, #146).wk_crs_projjson()
to get a JSON representation of
a CRS object. To make lookup possible based on shortcut-style CRS
objects (e.g., "EPSG:4326"
or 4326
), added
data objects wk_proj_crs_view
and
wk_proj_crs_json
that contain cached versions of rendered
PROJJSON based on the latest PROJ version (#147).wk_crs_proj_definition()
method for
wk_crs_inherit()
(#136, #147).sfc_writer()
for all wk
classes, making conversions faster and fixing at least one issue with
conversion of NA geometries to sf (#135).wk_plot()
now plots NULL
/NA
geometries and mixed geometry types more reliably (#142, #143,
#149).POINT Z EMPTY
) (#141, #150).wk_polygon()
doubled some points when
the input contained closed rings (#134, #151).wk_count()
exposed uninitialized values
for empty input (#139, #153).xy_writer()
now opportunistically avoids allocating
vectors for Z or M values unless they are actually needed (#131,
#154).wk_example()
to access them and set various properties
(#155).-Wstrict-prototypes
(#157, #158).wk_chunk_map_feature()
in favour of using
chunking strategies directly (#132, #159).wk_coords()
for xy()
objects
(#138, #160).rct_xmin()
, rct_xmax()
,
rct_ymin()
, rct_ymax()
,
rct_width()
, rct_height()
,
crc_center()
, crc_x()
, crc_y()
,
crc_r()
, xy_x()
, xy_y()
,
xy_z()
, and xy_m()
(#144, #161).rct_intersects()
,
rct_contains()
, and rct_intersection()
(#161).wk_affine_rescale()
to apply the translate and
scale operations in the correct order (#94).wk_handle_slice()
and
wk_chunk_map_feature()
to support a chunk + apply workflow
when working with large vectors (#101, #107).wk_crs_proj_definition()
generic for foreign
CRS objects (#110, #112).wk_crs_longlat()
helper to help promote
authority-compliant CRS choices (#112).wk_is_geodesic()
, wk_set_geodesic()
,
and argument geodesic
in wkt()
and
wkb()
as a flag for objects whose edges must be
interpolated along a spherical/ellipsoidal trajectory (#112).sf::st_geometry()
and sf::st_sfc()
methods for wk geometry vectors for better integration with sf (#113,
#114).is.na()
and
validate_wk_wkb()
when called on a very long
wkb()
vector (#117).validate_wk_wkb()
and
validate_wk_wkt()
, which failed for most valid objects
(#119).wk_envelope()
and
wk_envelope_handler()
to compute feature-wise bounding
boxes (#120, #122).as_xy()
for nested data frames and geodesic objects
(#126, #128).wkb_problems()
,
wkt_problems()
, wkb_format()
, and
wkt_format()
(#129).wk_plot()
is now an S3 generic (#130).crc()
objects are now correctly exported as polygons
with a closed loop (#66, #70).wk_vertices()
and wk_coords()
to
extract individual coordinate values from geometries with optional
identifying information. For advanced users, the
wk_vertex_filter()
can be used as part of a pipeline to
export coordinates as point geometries to another handler (#69,
#71).wk_flatten()
to extract geometries from
collections. For advanced users, the wk_flatten_filter()
can be used as part of a pipeline (#75, #78).options("max.print")
is now respected by all vector
classes (#72, #74).wk_polygon()
, wk_linestring()
, and
wk_collection()
to construct polygons, lines, and
collections. For advanced users, wk_polygon_filter()
,
wk_linestring_filter()
, and
wk_collection_filter()
can be used as part of a pipeline
(#77, #84).wk_trans_affine()
and wk_trans_set()
transforms are also built using this
feature. These are run using the new wk_transform()
function and power the new wk_set_z()
,
wk_set_m()
, wk_drop_z()
,
wk_drop_m()
, functions (#87, #88, #89).wksxp()
in favour of improved
sf::st_sfc()
support (#21).attr(, "crs")
, and check
that operations that involve more than one vector have compatable CRS
objects as determined by wk_crs_equal()
.wk_handle()
,
wk_translate()
, and wk_writer()
(#37).sf::st_sfc()
objects and implemented R-level generics for sfc, sfg, sf, and bbox
objects (#28, #29, #38, #45).crc()
vector class to represent circles
(#40).wk_bbox()
)
(#42).wk_meta()
, wk_vector_meta()
, and
wk_count()
to inspect properties of vectors (#53).wkutils::plot.wk_wksxp()
, which no
longer exists.xy()
, xyz()
, xym()
and
xyzm()
classes to efficiently store point geometries.rct()
vector class to efficiently store
two-dimensional rectangles.wkt()
, wkb()
and wksxp()
.NEWS.md
file to track changes to the
package.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.