-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add C++ Column API and Python API for pairwise_linestring_intersection
#862
Add C++ Column API and Python API for pairwise_linestring_intersection
#862
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. This probably could have been two PRs (C++ and Python). Please update the copyright in all added/changed files to 2023.
cpp/include/cuspatial/experimental/ranges/multilinestring_range.cuh
Outdated
Show resolved
Hide resolved
…into feature/linestring_intersection
…into feature/linestring_intersection
…into feature/linestring_intersection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. A few small comments.
cpp/include/cuspatial/experimental/ranges/multilinestring_range.cuh
Outdated
Show resolved
Hide resolved
cpp/include/cuspatial/experimental/ranges/multilinestring_range.cuh
Outdated
Show resolved
Hide resolved
cpp/include/cuspatial/experimental/ranges/multilinestring_range.cuh
Outdated
Show resolved
Hide resolved
Co-authored-by: Mark Harris <mharris@nvidia.com>
…into feature/linestring_intersection
Although CI is passing, @thomcom finds a memory error when running all the tests locally which I can also repro. Holding until I figure out what's going on. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just following up that I get a critical bad_access
error when I run this will the full suite of tests. It is clearly not happening with CI but it happens on @isVoid and my local machines so he's looking into it.
…ion (#945) This PR fixes a bug mentioned by @thomcom at #862 (review). When computing the lookup id for each group to find the number of geometry removed in previous groups, the previous computation is flawed and resulted in OB access. Besides, this PR also adds `CUDA_TRY(cudaGetLastError())` in several kernel calls in the intersection code path. This PR also refined the documentation for `remove_if` and related helper function. Authors: - Michael Wang (https://github.com/isVoid) Approvers: - H. Thomson Comer (https://github.com/thomcom) - Mark Harris (https://github.com/harrism) URL: #945
/merge |
Description
This PR adds column/python API for
pairwise_linestring_intersection
. Closes #648This PR is also the first attempt of #261 , establishing
geometry_column_view
that inheritscudf::column
and adds additional information to identify the underlying nested levels. Note that it cannot directly inherit fromcudf::lists::list_column_view
, because a point array isn't aList<T>
array.Also note that the type codes defined in libcuspatial and cuspatial-python may be different, so there is a type code mapping after computing the result from libcuspaital.
Finally, since
List<Union>
is currently unsupported in libcudf, the python API returns the geometries in two parts:offset + GeoColumn
.Checklist