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
Is your feature request related to a problem? Please describe.
In #575, I'm correcting an error with my GeoArrow implementation. The specification in pyarrow for polygons and linestrings is
Because I implemented arrow from scratch in #300, and in a spasm of reasoning, I forgot to use the prefix-scan method for indexing the above types.
The first step in correcting it, given where I am with pyarrow now, is to change the input of our GeoArrow types to use arrow directly.
Describe the solution you'd like
cuspatial/io/geopandas_adapter.py implements the arrow spec when reading from GeoSeries objects in a GeoPandas dataframe.
_load_geometry_offsets computes the sizes and prefix sum/scan buffers for each of the four arrow lists and allocates memory for them.
_read_geometries iterates over the geometries again, copying individual coordinates and offsets into the correct position in each buffer.
Instead, specify the GeoArrow format types as per above in geoarrow.py, then use those formats and densely packed tuple buffers from GeoSeries[i].__geo_interface__['coordinates'] to create the geoarrowbuffers.py objects.
This will break unit tests for LineStrings and MultiLineStrings, which have been implemented incorrectly, leading to the original Issue #575 which will have another PR to fix them.
The text was updated successfully, but these errors were encountered:
…583)
This closes#582.
This PR removes the input based on an iterative Shapely reader and `cudf` buffers. Now the input is stored directly in a pyarrow `UnionArray`. The next PR will remove most of the interior functionality that is not necessary.
Authors:
- H. Thomson Comer (https://github.com/thomcom)
Approvers:
- Michael Wang (https://github.com/isVoid)
URL: #583
Is your feature request related to a problem? Please describe.
In #575, I'm correcting an error with my GeoArrow implementation. The specification in
pyarrow
for polygons and linestrings isBecause I implemented
arrow
from scratch in #300, and in a spasm of reasoning, I forgot to use the prefix-scan method for indexing the above types.The first step in correcting it, given where I am with
pyarrow
now, is to change the input of our GeoArrow types to use arrow directly.Describe the solution you'd like
cuspatial/io/geopandas_adapter.py
implements the arrow spec when reading fromGeoSeries
objects in aGeoPandas
dataframe._load_geometry_offsets
computes the sizes and prefix sum/scan buffers for each of the fourarrow
lists and allocates memory for them._read_geometries
iterates over the geometries again, copying individual coordinates and offsets into the correct position in each buffer.Instead, specify the
GeoArrow
format types as per above ingeoarrow.py
, then use those formats and densely packed tuple buffers fromGeoSeries[i].__geo_interface__['coordinates']
to create thegeoarrowbuffers.py
objects.This will break unit tests for LineStrings and MultiLineStrings, which have been implemented incorrectly, leading to the original Issue #575 which will have another PR to fix them.
The text was updated successfully, but these errors were encountered: