You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cuSpatial C++ algorithms that operate on polygons have different expectations of polygon layout. For example, some expect the number of vertices to be 3 * num_rings, some 4 * num_rings, and some 4 * num_polygons (which is a bug).
If we are implementing the GeoArrow specification, we need to rigorously enforce the well-defined portions of that specification. Note that we should not introspect device-side data, but we can validate data / offset array size consistency.
We should carefully and consistency use CUSPATIAL_EXPECTS in our implementations and test our expectations consistently. We should also document the format we expect. We should provide utilities for testing polygon expectations and use them across all algorithms that take polygon data.
Where it makes sense, all of the above can be applied to other geometry types as well.
Fixes#962. Discussion: #972.
Adds a new C++ macro to validate polygon offset array sizes. Updates all C++ APIs that accepts polygons to use this macro for consistent validation and requirements. All C++ functions that accept polygon data should accept and enforce GeoArrow offset format ("N + 1 offsets").
Updates C++ tests to correctly pass offsets.
Updates Python implementation to no longer slice off final offsets.
Authors:
- Mark Harris (https://github.com/harrism)
Approvers:
- Robert Maynard (https://github.com/robertmaynard)
- H. Thomson Comer (https://github.com/thomcom)
- Michael Wang (https://github.com/isVoid)
URL: #973
trxcllnt
pushed a commit
to trxcllnt/cuspatial
that referenced
this issue
Mar 15, 2023
…dsai#973)
Fixesrapidsai#962. Discussion: rapidsai#972.
Adds a new C++ macro to validate polygon offset array sizes. Updates all C++ APIs that accepts polygons to use this macro for consistent validation and requirements. All C++ functions that accept polygon data should accept and enforce GeoArrow offset format ("N + 1 offsets").
Updates C++ tests to correctly pass offsets.
Updates Python implementation to no longer slice off final offsets.
Authors:
- Mark Harris (https://github.com/harrism)
Approvers:
- Robert Maynard (https://github.com/robertmaynard)
- H. Thomson Comer (https://github.com/thomcom)
- Michael Wang (https://github.com/isVoid)
URL: rapidsai#973
Version
23.02
On which installation method(s) does this occur?
Rapids-Compose
Describe the issue
cuSpatial C++ algorithms that operate on polygons have different expectations of polygon layout. For example, some expect the number of vertices to be 3 * num_rings, some 4 * num_rings, and some 4 * num_polygons (which is a bug).
If we are implementing the GeoArrow specification, we need to rigorously enforce the well-defined portions of that specification. Note that we should not introspect device-side data, but we can validate data / offset array size consistency.
We should carefully and consistency use
CUSPATIAL_EXPECTS
in our implementations and test our expectations consistently. We should also document the format we expect. We should provide utilities for testing polygon expectations and use them across all algorithms that take polygon data.Where it makes sense, all of the above can be applied to other geometry types as well.
Other/Misc.
See also geoarrow/geoarrow#35
The text was updated successfully, but these errors were encountered: