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
Note: this clones the underlying CoordSeq to avoid double free (because CoordSeq handles the object ptr and the CoordSeq is still owned by the geos geometry) if this method’s performance becomes a bottleneck, feel free to open an issue, we could skip this clone with cleaner code.
My use case is to bind GEOS algorithms to the GeoArrow memory layout (an efficient geometry layout for arrays of geometries, see geoarrow.org and my WIP rust implementation at https://github.com/geoarrow/geoarrow-rs). My current plan is to always store geometries before and after each operation in GeoArrow memory, and therefore GEOS objects are totally ephemeral during an operation. So the process goes like
Take an array of e.g. polygons
Iterate over the array, converting each into GEOS objects
Apply a GEOS operation, say, buffering
Construct a new GeoArrow array from the polygon outputs
Therefore the IO to and from GEOS objects is really important to me, because it's overhead for every operation on the array.
One option is to improve this get_coord_seq, removing a clone. The other possibility for me is to have something like into_coord_seq or into_inner. Given that I want to consume the GEOS geometry anyways, and only access its coords, this might be easier to implement?
I'd be willing to attempt a PR!
The text was updated successfully, but these errors were encountered:
From the docstring of
get_coord_seq
:My use case is to bind GEOS algorithms to the GeoArrow memory layout (an efficient geometry layout for arrays of geometries, see geoarrow.org and my WIP rust implementation at https://github.com/geoarrow/geoarrow-rs). My current plan is to always store geometries before and after each operation in GeoArrow memory, and therefore GEOS objects are totally ephemeral during an operation. So the process goes like
Therefore the IO to and from GEOS objects is really important to me, because it's overhead for every operation on the array.
One option is to improve this
get_coord_seq
, removing a clone. The other possibility for me is to have something likeinto_coord_seq
orinto_inner
. Given that I want to consume the GEOS geometry anyways, and only access its coords, this might be easier to implement?I'd be willing to attempt a PR!
The text was updated successfully, but these errors were encountered: