Skip to content

Releases: rapidsai/cuspatial

v23.08.00

09 Aug 20:40
d8a31ee
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Simplify point-in-polygon header only APIs (#1192) @isVoid

🐛 Bug Fixes

  • Update nightly wheel tests for cuproj (#1250) @raydouglass
  • Update GeoDataFrame to Use the Structured GatherMap Class (#1219) @isVoid
  • Add streams to allocate_like call (#1218) @isVoid
  • Add CUDA major to cuspatial's build/string (#1211) @jakirkham
  • Fix overflowing in intersection_intermediates.remove_if (#1209) @isVoid
  • Sort the mergeable segments before computing merged segments (#1207) @isVoid
  • Fix a small typo in pairwise_linestring_distance (#1199) @isVoid
  • Improve Polygon.contains(LineString) predicate logic. (#1186) @thomcom
  • Use grid_stride_range in kernel loops (#1178) @harrism
  • Better support for binary predicates with large inputs. (#1166) @thomcom

📖 Documentation

  • cuProj Python and C++ Documentation (#1237) @harrism
  • cuSpatial 23.08 README updates (#1232) @jarmak-nv
  • Add author credit to zipcode counting notebook, fix cudf string processing argument (#1201) @isVoid
  • Remove osmnx dependency and use a small local dataset (#1195) @isVoid

🚀 New Features

🛠️ Improvements

v23.06.00

07 Jun 18:19
7b3284a
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Reorganize cuSpatial headers (#1097) @harrism
  • Update minimum Python version to Python 3.9 (#1089) @shwina
  • Move experimental headers into main include/cuspatial directory (#1081) @harrism
  • Improve Hausdorff Many Column Performance (#916) @isVoid

🐛 Bug Fixes

  • Fix scatter bug due to overlapping range in pairwise_linestring_intersection (#1152) @isVoid
  • Pin cuml dependency in notebook testing environment to nightlies (#1110) @isVoid
  • Fix a bug in point-in-polygon kernel: if the point is collinear with an edge, result is asserted false (#1108) @isVoid
  • Fix a bug in segment intersection primitive where two collinear segment touch at endpoints is miscomputed as a degenerate segment (#1093) @isVoid
  • Update CMAKE_CUDA_ARCHITECTURE to use new value (#1070) @isVoid
  • Bug fix in pairwise_linestring_intersection (#1069) @isVoid

📖 Documentation

  • Add documentation for pairwise_linestring_polygon_distance, pairwise_polygon_distance (#1145) @isVoid
  • Make User Guide appear in Docs page header (#1133) @jarmak-nv
  • Add Hausdorff Clustering Notebooks (#922) @isVoid

🚀 New Features

🛠️ Improvements

v23.04.00

12 Apr 21:33
6958dcb
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Consistently validate polygon inputs for GeoArrow offset format (#973) @harrism
  • Remove cubic spline interpolation (#959) @harrism
  • Refactors API to accept GeoSeries input for projection and trajectory functions (#955) @isVoid
  • Refactors filtering.py, indexing.py to Accept GeoSeries (#938) @isVoid
  • Refactors bounding.py to accept GeoSeries Input (#934) @isVoid
  • Remove shapefile reader, conda GDAL dependency, move cmake gdal dependency to cpp tests only (#932) @harrism
  • Refactor directed_hausdorff_distance and haversine_distance into GeoSeries Interface (#924) @isVoid

🐛 Bug Fixes

  • Bug Fix: point-in-multipolygon reduction using the wrong key-compare functor (#1043) @isVoid
  • Fix quotes in backticks in Developer Guide (#1034) @harrism
  • Attempt to Fix Broken C++ Build After cudftestutil is Made a Shared Lib (#996) @isVoid
  • Consistently validate polygon inputs for GeoArrow offset format (#973) @harrism
  • Fix OB bug in linestring_intersection_intermediates.remove_if Function (#945) @isVoid
  • Fix broken point_indices methods in PolygonGeoColumnAccessor (#907) @isVoid
  • Fix multiple bugs in user guide (#906) @isVoid
  • _from_point_xy improvements (#905) @isVoid
  • Add valid_count and has_nulls to GeoColumn (#894) @thomcom

📖 Documentation

🚀 New Features

  • Add segment Iterators, test multi*_range and miscellaneous lazy iterator additions (#1026) @isVoid
  • Add Header Only API for Linestring-Polygon Distance (#1011) @isVoid
  • Add geometry_generator factory for programmatic generation of geometry arrays (#998) @isVoid
  • Add python API pairwise_point_polygon_distance (#988) @isVoid
  • Add column API for pairwise_point_polygon_distance (#984) @isVoid
  • Add Header-Only point_polygon_distance, add non-owning polygon objects (#976) @isVoid
  • Remove cubic spline interpolation (#959) @harrism
  • Remove shapefile reader, conda GDAL dependency, move cmake gdal dependency to cpp tests only (#932) @harrism
  • Add from_linestrings_xy and from_polygons_xy (#928) @thomcom
  • Implement geom_equals and binary predicates that depend only on it. (#926) @thomcom
  • Add apply_boolean_mask Feature (#918) @isVoid
  • Add C++ Column API and Python API for pairwise_linestring_intersection (#862) @isVoid

🛠️ Improvements

v23.02.00

09 Feb 19:19
6fe3841
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Deprecate shapefile reader (#872) @harrism
  • Remove deprecated min_size parameter from quadtree_on_points (#843) @harrism
  • Remove deprecated lonlat_to_cartesian functions (#842) @harrism

🐛 Bug Fixes

  • pre-commit: Update isort version to 5.12.0 (#877) @wence-
  • Use vector equivalence macros consistently in header-only API tests. (#873) @harrism
  • Fix: Sort Intersection Result by Keys in intersection_with_duplicate Test (#857) @isVoid
  • Add reset_index to GeoSeries and GeoDataFrame (#856) @thomcom
  • Update memory_usage with tweaked sizes (#855) @thomcom
  • Fix a bug preventing align from working with a basic slice. (#850) @thomcom
  • Fix failed automerge Branch 23.02 merge 22.12 (#811) @harrism

📖 Documentation

🚀 New Features

  • Deprecate shapefile reader (#872) @harrism
  • Add Header Only API pairwise_linestring_intersection (#852) @isVoid
  • Adds remove_if Function to linestring_intersection_intermediates (#851) @isVoid
  • Add find_point_on_segment internal API (#819) @isVoid
  • Add find_and_combine_segment internal API (#818) @isVoid
  • Add pairwise_linestring_intersection_with_duplicates API (#813) @isVoid

🛠️ Improvements

v22.12.00

12 Dec 18:23
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Update quadtree spatial join docstrings (#797) @trxcllnt
  • Rename lonlat_to_cartesian to sinusoidal_projection (#794) @harrism
  • Consolidate bounding box code (#793) @harrism
  • Globally replace "polyline" with "linestring" (#788) @harrism
  • Refactor of pairwise_linestring_distance to use multilinestring_range, adds support to multilinestring distance (#755) @isVoid
  • Introduce multilinestring_range structure, simplifies point-linestring distance API (#747) @isVoid
  • Add python bindings for (multi)point-(multi)point distance (#734) @isVoid
  • Introduce multipoint_range interface; Refactors point_distance API to support multipoint to multipoint distance. (#731) @isVoid

🐛 Bug Fixes

  • Add Floating Point Equality Tests to Build List (#812) @isVoid
  • Fix a Bug in Segment Intersection Primitive (#808) @isVoid
  • Don't use CMake 3.25.0 as it has a FindCUDAToolkit show stopping bug (#805) @robertmaynard
  • Fix style checks. (#791) @bdice
  • Force using old fmt in nvbench. (#783) @isVoid
  • Fix issue with .loc returning values out of order. (#782) @thomcom
  • address issue with vector equivalent utility (#777) @isVoid

📖 Documentation

  • Add symlink to users.ipynb for notebooks CI (#790) @thomcom
  • Fix failed automerge (branch 22.12 merge 22.10) (#740) @harrism

🚀 New Features

  • Add find_duplicate_points Internal API (#815) @isVoid
  • Add Internal Function intersection_count_upper_bound (#795) @isVoid
  • Support Multilinestring in column API and python Bindings for pairwise_linestring_distance (#786) @isVoid
  • Introduce Segment Intersection Primitive (#778) @isVoid
  • Introduce ULP Based Floating Point Equality Test to Device Function (#773) @isVoid
  • Augment Cuspatial Test Utility to Allow User Specified Abs Error (#752) @isVoid
  • Create pairwise_point_in_polygon to be used by pairwise GeoSeries (#750) @thomcom
  • Replacing markdown issue templates with yml forms (#748) @jarmak-nv
  • Introduce multilinestring_range structure, simplifies point-linestring distance API (#747) @isVoid
  • Add python bindings for (multi)point-(multi)point distance (#734) @isVoid
  • Introduce multipoint_range interface; Refactors point_distance API to support multipoint to multipoint distance. (#731) @isVoid

🛠️ Improvements

v22.10.00

12 Oct 17:59
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Remove lonlat_2d and cartesian_2d types (#662) @harrism
  • Add Multi-Geometry support to point_linestring_distance and build python bindings (#660) @isVoid
  • Decouple interpolate functions from trajectory (#645) @isVoid

🐛 Bug Fixes

  • Fix error in users.ipynb (#726) @thomcom
  • unwrap_pyoptcol is missing except keyword that causes exceptions ignored, fixes function bug (#719) @isVoid
  • Fix all unexecutable code examples I can find. (#693) @thomcom
  • Add Union-style indexing to .points, .multipoints, .lines, and .polygons GeoSeries accessors (#685) @thomcom
  • Rewrite copy_type_metadata to reuse the inherited method and handle geocolumns specifically. (#684) @isVoid
  • Fix GeoDataframe slicing issue by adding _slice_ method. (#680) @thomcom
  • Fix and tidy coordinate_transform_test (#671) @harrism
  • linestring_distance Header Only API Returns Past-the-End iterator (#670) @isVoid

📖 Documentation

🚀 New Features

  • Initialize a GeoDataFrame with dict. (#712) @thomcom
  • Vectorized Load, refactors type_utils.hpp into iterator_factory.cuh (#692) @isVoid
  • Accept None and python list in GeoSeries constructor (#686) @isVoid
  • Python API for point-linestring nearest points (#681) @isVoid
  • cuSpatial Python User Guide (#666) @thomcom
  • Add Multi-Geometry support to point_linestring_distance and build python bindings (#660) @isVoid
  • Add C++ API for point_linestring_nearest_points (#658) @isVoid
  • Auto-add new Issues and PRs to cuspatial's project (#618) @jarmak-nv
  • Integrate GeoSeries with read_polygon_shapefile (#609) @thomcom
  • Memory_usage method for GeoSeries/GeoDataFrame and GeoDataFrame refactor. (#604) @thomcom
  • Add Point Linestring Distance (#573) @isVoid

🛠️ Improvements

  • Update to the latest version 3 of GDAL. (#675) @thomcom
  • Expand expect_vector_equivalent to handle std::vector of vec_2d<T> and move traits out of detail (#669) @harrism
  • Statically link all CUDA toolkit libraries (#665) @trxcllnt
  • Remove lonlat_2d and cartesian_2d types (#662) @harrism
  • Rename Test Folders to Align with Module Names (#661) @isVoid
  • Move GeoSeries GeoDataframe into core package and hide column implementation in internal _column package (#657) @isVoid
  • Refactor spatial related functions under spatial package (#656) @isVoid
  • Add Missing Thrust Headers for Thrust 1.17 (#655) @isVoid
  • Decouple interpolate functions from trajectory (#645) @isVoid
  • Add header only cuspatial::quadtree_on_points (#639) @trxcllnt
  • Header-only refactoring of derive_trajectories (#628) @harrism
  • Add python benchmarks. (#600) @thomcom
  • Fix compile error in distance benchmark (#596) @trxcllnt

v22.08.00

17 Aug 18:54
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Pairwise Point to Point Distance; Rename Folder distances to distance (#558) @isVoid

🐛 Bug Fixes

📖 Documentation

🚀 New Features

  • Add NVBench and linestring distance benchmark (#577) @isVoid
  • Pairwise Point to Point Distance; Rename Folder distances to distance (#558) @isVoid

🛠️ Improvements

  • Bump gdal version (#623) @ajschmidt8
  • Build benchmarks in CI (#597) @vyasr
  • Add benchmark for points_in_spatial_window (#595) @harrism
  • Update isort to version 5.10.1 (#589) @vyasr
  • Header-only Refactor of point_in_polygon (#587) @isVoid
  • Remove GeoArrow glue code replacing gpu storage with cudf.Series and host storage with pyarrow (#585) @thomcom
  • Create pygeoarrow and use it for cuSpatial feature storage and i/o (#583) @thomcom
  • Header-only refactoring of points_in_spatial_window (#579) @harrism
  • Update Python version support. (#574) @bdice
  • Combine device_atomics (#561) @isVoid
  • Relocate Utility Files (#560) @isVoid
  • Fuse transform and copy_if operations in quadtree_point_in_polygon (#559) @trxcllnt
  • Remove itstimestamp and types.hpp (#554) @isVoid
  • Change build.sh to find C++ library by default and avoid shadowing CMAKE_ARGS (#543) @vyasr
  • Add missing Thrust includes (#539) @bdice
  • Refactor Hausdorff distance to header-only API (#538) @harrism

v22.06.00

07 Jun 18:53
Compare
Choose a tag to compare

🐛 Bug Fixes

📖 Documentation

🚀 New Features

  • Refactor linestring_distance to header only API (#526) @isVoid
  • Python Bindings for Pairwise Linestring Distance (#521) @isVoid
  • Refactor lonlat_to_cartesian to header-only API (#514) @harrism
  • C++ pairwise linestring distance (#510) @isVoid

🛠️ Improvements

  • Fix library directory for installation (#537) @vyasr
  • Fix conda recipes (#532) @Ethyling
  • Fix various issues with CMake exports (#527) @vyasr
  • Build cuspatial with scikit-build (#524) @vyasr
  • Update Documentation with Pydata Sphinx Theme, and more (#523) @isVoid
  • Use conda to build python packages during GPU tests (#517) @Ethyling
  • Replace CUDA_TRY with CUSPATIAL_CUDA_TRY (#516) @isVoid
  • Use rapids-cmake for builds (#515) @vyasr
  • Update black to 22.3.0, update usage of libcudf macros, and remove direct column indexing (#511) @charlesbluca
  • Enable building static libs (#506) @trxcllnt
  • Add clang-format to pre-commit hook (#505) @isVoid
  • Add libcuspatial-tests package (#499) @Ethyling
  • Use conda compilers (#495) @Ethyling
  • Build packages using mambabuild (#486) @Ethyling
  • Refactor haversine_distance to a header-only API (#477) @harrism

v22.04.00

06 Apr 17:10
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Swap NumericalColumn.values_host for now removed to_array (#485) @vyasr

📖 Documentation

  • Improve point_in_polygon documentation regarding poly_ring_offsets (#497) @harrism
  • Fix documentation of return type of quadtree_point_in_polygon (#490) @harrism

🛠️ Improvements

v22.02.00

02 Feb 20:28
Compare
Choose a tag to compare

🐛 Bug Fixes

🛠️ Improvements

  • Prepare upload scripts for Python 3.7 removal (#479) @Ethyling
  • Fix test_pip_bitmap_column_to_binary_array test (#472) @Ethyling
  • Fix imports tests syntax (#471) @Ethyling
  • Remove IncludeCategories from .clang-format (#470) @codereport
  • Fix Forward-Merge Conflicts in #464 (#466) @ajschmidt8