What is the current state of GEOS binding in Rust?

I would like to try to rewrite a little app I wrote using PyQt5 and Shapely, the C binding of GEOS for python, with React,Tauri and geos, the C binding for Rust, as an exercise. The app checks for intersection and crossing between a few thousand lines and a polyline. Is this currently possible with geos?

(Good grief -- when I saw the subject I for a split second thought you were referring to GEOS and I almost spontaneously died from coolness overload).

Whenever you're wondering what the state of a crate is, there are a few first steps you should take:

  • Look at the crate's page on crates.io to see if there are any comments about the project's status.
  • Check the project repository (how old the repo is, and how recent the most recent commits are), and check the issues to see if issues are being worked on.
  • Browse the crate's documentation to get a feel for whether the things you expect to be there are there.

From a quick look at the geos crate, it seems to have a pretty long history and be maintained by people who have a genuine interest in it, but from a very surface-level inspection it looks like the preferred crate is to use geo, which the geos crate has methods to go to/from.

To me it looks like the chances are pretty good that whatever functionality you used in the Python binding will be available in the Rust crate. Give it a try and see. :slight_smile:

1 Like