-
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
[FEA] linestring-linestring intersection (pairwise) #648
Comments
This issue has been labeled |
Can you confirm? |
Based on the recent meeting I believe the answer is yes. |
Linestring intersections can return not only points, but also linestrings. This happens when two linestrings overlaps. Based on this, the return result of intersecting two linestrings could be not just points, but also linestrings. Another challenge is that linestring can have multiple intersections per pair. We can use a geometry collection to store the result, e.g. To sum up, the result for each row can have at most one
|
Oooh, that's confusing... Perhaps we can encapsulate it somehow. |
This is probably why GeoPandas and Shapely just return the objects that are in the intersection, right? We don't want users to have to reconstruct their dataset from indices and etc, maybe we can reorganize the data on the way back to become a new set of union_offsets and union_types that represent the intersection using the original input data? |
Intersection primitive may create new data that does not belong to original input data. I was thinking of using union column type to encapsulate the intersecting-point/overlapping-linestrings. At best it can encapsulate the mixed geometry types (thereby eliminating the need of using two separate column for point and linestring). Subsequently, the union column style can help reduce the number indices columns by half. |
…on` (#862) This PR adds column/python API for `pairwise_linestring_intersection`. Closes #648 This PR is also the first attempt of #261 , establishing `geometry_column_view` that inherits `cudf::column` and adds additional information to identify the underlying nested levels. Note that it cannot directly inherit from `cudf::lists::list_column_view`, because a point array isn't a `List<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`. Authors: - Michael Wang (https://github.com/isVoid) Approvers: - H. Thomson Comer (https://github.com/thomcom) - Mark Harris (https://github.com/harrism) URL: #862
Is your feature request related to a problem? Please describe.
A function to return, for each specified pair of linestrings, the point at which they intersect. We may also need the segment index within each linestring of the intersection.
#648 (comment)
The text was updated successfully, but these errors were encountered: