Skip to content

Integrate GEOS into GeoPolars under a optional feature-flag #167

@phayes

Description

@phayes

A proposal to integrate GEOS into GeoPolars

  1. Stick to WKB short term and move to GeoArrow when it's ready. No stored GEOS objects.
  2. Talk to GeoArrow folks about "once in memory is cheap to convert to geospatial libraries (e.g. GEOS)" and implement whatever is needed to make this efficient transformation.
  3. Always convert to and from GEOS for doing operations. Make this explicit in the documentation and always have GEOS flag turned off by default.
  4. As we have time, replace GEOS functions with their rust equivalent.
  5. Remove GEOS when all functions have been ported to pure-rust.

Open Questions:

  1. Linking. It would be nice if we could statically link GEOS. But there are licensing issues to resolve on this.
    A. GEOS is LGPL-licensed
    B. https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic

  2. Thread safety. It would be nice to include rayon support, but may not be possible for GEOS geometries depending on if they are thread-safe or not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions