The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.
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.
Health stats visible at Monitor.