Skip to content
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

Implement conversions from GEOS objects to GeoArrow arrays #202

Merged
merged 11 commits into from
Sep 30, 2023

Conversation

kylebarron
Copy link
Member

@kylebarron kylebarron commented Sep 30, 2023

Notes:

  • I hit really complex lifetime issues with anything more complex than point and linestring, because when iterating over Polygon/MultiPoint/MultiLinestring/Multipolygon components, it would yield ConstGeometry<'a, 'b> with two lifetimes now. It seemed super difficult to get that to mesh with the geometry access traits, so I just reimplemented manual conversions
  • I did a quick benchmark to test with and without bumpalo but didn't see any speed difference. So maybe GEOS is still allocating geometries on the heap before I get access to them in rust? Not sure
  • Quick bench results for buffering 100,000 points:
    • geoarrow-rs: 263.32ms
    • shapely: 208 ms

Closes #110

It would be interesting if the benchmark improves without cloning the CoordSeq of every polygon: georust/geos#137

@kylebarron kylebarron enabled auto-merge (squash) September 30, 2023 21:27
@kylebarron kylebarron merged commit 527e003 into main Sep 30, 2023
6 checks passed
@kylebarron kylebarron deleted the kyle/geos-io-to-geoarrow branch September 30, 2023 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement conversion from GEOS geometries to GeoArrow arrays
1 participant