Releases: Cidree/duckspatial
duckspatial 0.9.0
MAJOR CHANGES
-
connargument defaults now toNULL. This parameter is not mandatory anymore in spatial operations, and it will be handled internally. The argument has been moved afterx,y, and function-mandatory arguments (#9). -
ddbs_write_vector()allows to create a temporary view with the argumenttemp = TRUE, which is much faster than creating a table (#14). -
ddbs_read_vector()uses internal optimizations withgeoarrowmaking it much faster (#15). -
The spatial functions allow now to have either an
sfor a DuckDB table as input (x) and/or output (name = NULLorname != NULL) (#19). -
The
crsandcrs_columnarguments are deprecated and will be removed induckspatialv1.0.0. This change aligns with planned native CRS support in DuckDB, scheduled for v1.5.0 (expected February 2025) (#7).
NEW FEATURES
-
Affine functions:
ddbs_rotate(),ddbs_rotate_3d(),ddbs_shift(),ddbs_flip(),ddbs_scale(), andddbs_shear()(#37). -
ddbs_boundary(): returns the boundary of geometries (#17). -
ddbs_concave_hull(): new function to create the concave hull enclosing a geometry (#23). -
ddbs_convex_hull(): new function to create the convex hull enclosing a geometry (#23). -
ddbs_create_conn(): new convenient function to create a DuckDB connection with spatial extension installed and loaded. -
ddbs_drivers(): get list of GDAL drivers and file formats supported by DuckDB spatial extension. -
ddbs_join(): new function to perform spatial join operations (#6). -
ddbs_length(): adds a new column with the length of the geometries (#17). -
ddbs_area(): adds a new column with the area of the geometries (#17). -
ddbs_distance(): calculates the distance between two geometries (#34). -
ddbs_is_valid(): adds a new logical column asserting the simplicity of the geometries (#17). -
ddbs_is_valid(): adds a new logical column asserting the validity of the geometries (#17). -
ddbs_make_valid(): makes the geometries valid (#17). -
ddbs_simplify(): makes the geometries simple (#17). -
ddbs_bbox(): calculates the bounding box (#25). -
ddbs_envelope(): returns the envelope of the geometries (#36). -
ddbs_union(): union of geometries (#36). -
ddbs_combine(): combines geometries into a multi-geometry (#36). -
ddbs_quadkey(): calculates quadkey tiles from point geometries (#52). -
ddbs_exterior_ring(): returns the exterior ring (shell) of a polygon geometry (#45). -
ddbs_make_polygon(): create a POLYGON from a LINESTRING shell (#46). -
ddbs_predicate(): spatial predicates between two geometries (#28). -
ddbs_intersects(),ddbs_crosses(),ddbs_touches(), ...: shortcuts for e.g.:ddbs_predicate(predicate = "intersects")(#28). -
ddbs_transform(): transforms from one coordinates reference system to another (#43). -
ddbs_as_text(): converts geometries to well-known text (WKT) format (#47). -
ddbs_as_wkb(): converts geometries to well-known binary (WKB) format (#48). -
ddbs_generate_points(): generates random points within the bounding box ofx(#54). -
Spatial predicates: spatial predicates are all included in a function called
ddbs_predicate(), where the user can specify the spatial predicate. Another option, it's to use the spatial predicate function, such asddbs_intersects(),ddbs_crosses(),ddbs_touches(), etc.
MINOR CHANGES
-
All functions now have a parameter
quietthat allows users to suppress messages (#3). -
Spatial operations now don't fail when a column has a dot (#33).
-
Added some vignettes (#42).
-
ddbs_filter(): usesintersectsforST_Intersectsinstead ofintersection. -
ddbs_filter(): doesn't return duplicated observations when the same geometry fulfills the spatial predicate in more than one geometries ofy(#50).
Version 0.2.0
allow to write tables same name, different schema #2
Initial release 0.1.0
cran note: return value for non-exported funs