-
Notifications
You must be signed in to change notification settings - Fork 156
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
Remove GeoArrow glue code replacing gpu storage with cudf.Series and host storage with pyarrow #585
Remove GeoArrow glue code replacing gpu storage with cudf.Series and host storage with pyarrow #585
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
All comments are handle. In the last push I added |
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!
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.
lgtm!
I think it also closes #592 ? |
So is this ready to merge? Good work @thomcom and thanks! |
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.
LGTM
@gpucibot merge |
Similarly to rapidsai/cuspatial#585, this PR updates the `geopandas` version specifier to ensure compatibility with the rest of RAPIDS.
Similarly to rapidsai/cuspatial#585, this PR updates the `geopandas` version specifier to ensure compatibility with the rest of RAPIDS. Authors: - AJ Schmidt (https://github.com/ajschmidt8) Approvers: - Jordan Jacobelli (https://github.com/Ethyling) URL: #390
This PR introduces 3 documents for developer guides. The overall goal for these docs is to provide a place to centralize best practices and provide guidance to developers of all levels to bootstrap development for cuspatial. This PR deprecates internals.md. The design of geocolumn has improved dramatically since #585 , rendering many of the description obsolete. Further, examples of geoarrow and detail description of geoarrow should be hosted in [geoarrow specification](https://github.com/geopandas/geo-arrow-spec). `library_design.md` replaces `internal.md`. `CONTRIBUTING.md` is deprecated and only leaves a pointer to `contributing_guide.md`. The contents are highly identical to the overall RAPIDS contribution guide: https://docs.rapids.ai/contributing. This link is included in the contributing guide and is thus removed to maintain a single source of truth. Authors: - Michael Wang (https://github.com/isVoid) Approvers: - Paul Taylor (https://github.com/trxcllnt) - H. Thomson Comer (https://github.com/thomcom) - Mark Harris (https://github.com/harrism) URL: #625
This PR: Closes #575, #584, #588, #591, and #592.
This PR removes all the old
GeoArrowBuffers
logic that was implementing GeoArrow from scratch.Now, new geometry objects are first parsed into a
pyarrow
DenseUnion
, then copied to the GPU asListSeries
. ADenseUnion/Like
classGeoSeries
implements theinput_types
andunion_offsets
for indexing into the four separateListSeries
.When host indexing, the
ListColumns
andtypes
andoffsets
are copied into a pyarrowDenseUnion
that is used for accessing the host side coordinates. At present indexing always copies to host.This deletes three times as many loc as it creates and trims down the GeoArrow code to nearly the minimum. It is ready for review.
The next issue will describe the next four tasks that I or @isVoid will implement:
data
arguments types that can be made to theGeoSeries
constructor.x = cuspatial.from_arrow(dense_union); dense_union = x.to_arrow()
__getitem__
method needs to be optimized for zero-copy and memory-direct buffer transfers. Presently it always copies the data into new Shapely objects for serialization.This closes the original issue #575. I'll create another issue to validate that the new format is correct and notify/compare it with the existing error report and geopandas team.
@trxcllnt @exactlyallan @isVoid @harrism