geos-wasm icon indicating copy to clipboard operation
geos-wasm copied to clipboard

Awesome :-)

Open neocarto opened this issue 1 year ago • 6 comments

Awesome. Do you plan to make it available in Observable? Actually, we absolutely need that! In any case, i'm available for testing.

neocarto avatar Jun 29 '23 08:06 neocarto

Hi @neocarto 😊

Good call about Observable, I just published a notebook that can be forked/or imported: https://observablehq.com/@chrispahm/hello-geos-wasm

What are you planning to use it for? Are there certain GEOS functions that you need?

chrispahm avatar Jun 29 '23 19:06 chrispahm

Hi :-) In R, the spatial ecosystem is based on geos, gdal and proj4. I think we need to be able to do the same in the javascript. So I think that geos is essential and that we should gradually move towards a complete port. In the context of Observable notebooks, I don't think the weight of the lib is a problem.

Unfortunately, I don't have the skills to do this job. I'll try to get started, but first I'll have to understand what you've done.

See also https://observablehq.com/@neocartocnrs/geos-wasm

neocarto avatar Jun 30 '23 07:06 neocarto

Hey @neocarto,

I just updated the package to include all GEOS functions. As a result of the discussion in #5 this library now just exposes the low-level C-API without any high-level wrapper functions (unlike e.g. shapely or turf).

After reading the blog post from @kylebarron, and also seeing his demo of GeoRust + GeoArrow I'm also sold on his vision of using the Arrow format and GeoRust in the future! So most certainly I won't be putting too much effort into a potential "Shapely.js", and instead wait for geoarrow-rs to mature 😊 I'd also like to contribute but I don't know Rust so there's that...

Anyways, this repo felt like unfinished business, so I thought at least I'd need to bring it to a state where it can be used if desired. That work is mostly finished now, and I've updated the Observable notebook, as well as the API documentation accordingly. There's also a number of test cases that mostly show how the individual functions can be used.

chrispahm avatar Jul 26 '23 11:07 chrispahm

I'd also like to contribute but I don't know Rust so there's that...

I'm happy to provide tips and point you to easy first PRs if Rust is something you want to learn!

kylebarron avatar Jul 27 '23 03:07 kylebarron

Yes would definitely be interested in that!

chrispahm avatar Jul 27 '23 11:07 chrispahm

I made stubs at https://github.com/kylebarron/geoarrow-rs/issues/104 and https://github.com/kylebarron/geoarrow-rs/issues/105, where we can discuss good first issues. I haven't given much thought yet to what are some simpler tasks that are good for intro to rust folks

kylebarron avatar Jul 27 '23 14:07 kylebarron