ST_CoverageClean() - adding initial support#683
Conversation
ea09e61 to
3311421
Compare
|
Hello! Thanks for the PR! This is currently failing because the VCPKG baseline DuckDB's CI build system uses doesn't include the latest GEOS version. I'll see if we can have a look at bumping it soon at which point this PR should be able to pass CI. |
|
Hello! Ahhhh that makes sense - I was struggling to figure out what was going wrong where, thanks for signposting it :) Is there anything I can do on that side that means less work for you? For accepting an additional 4th parameter, I've just realised that I could call Thanks again! |
|
Hi @tbbuck and @Maxxen, I've been a huge fan of your work until now. These DuckDB capabilities have allowed the teams I work with to move from PostGIS to DuckDB for many of our big data ETL pipelines, and DuckDB-WASM is making it possible for us to build very use-case specific web apps that broaden the accessibility of geospatial processing to more less-technical audiences across the world. One of the tools I've been trying to port from PostGIS to DuckDB-WASM lately is a topology modification tool: https://em.fieldmaps.io/ (https://github.com/fieldmaps/edge-matcher). It does really complex data transformations, but it absolutely depends on clean input topology to work. I've been struggling to help make topology cleaning more accessible to people I know who only use ArcGIS and QGIS. Being able to use |
|
We've bumped our vcpkg version so this should be able to make it in for next release. I'll try to have a look at getting this merged soon. |
|
Merged in #810 |
Hi there! I hope you've been keeping well since I last dropped a PR on you out of the blue :) Amazing work on the recent Spatial updates lately btw, I've been constantly blown away by the table join join performance we now have at our fingertips thanks to you :-D
This PR implements 3 functions for the
CoverageCleanfunctionality recently added toGEOS:GEOMETRY ST_CoverageClean (geoms GEOMETRY[], snapDistance DOUBLE, maxWidth DOUBLE)GEOMETRY ST_CoverageClean (geoms GEOMETRY[], snapDistance DOUBLE)GEOMETRY ST_CoverageClean (geoms GEOMETRY[])Somewhat bizarrely, I've been unable to replicate the CoverageCleanerTest.cpp tests from libgeos with either this of extension or the
geosoptool. The extension code does align with output fromgeosopthough.Future nice-to-haves:
OverlapMergeStrategy: I couldn't work out how to implement a 4-parameter function call in the same style as the other GEOS functions. I also got a bit concerned about unintended consequences of using enums from other packages.vcpkg.json- feels like a nasty bodge job.ST_CoverageClean_Agg()versions of the above.I'm very happy to work on any or all of the above with you btw, if you can share any guidance with me I'm all ears on making this function fly.
Thanks again!