CoverageClean in CAPI
Paul Ramsey
pramsey at cleverelephant.ca
Thu May 29 12:07:12 PDT 2025
We appear to have talked about this before…
https://github.com/libgeos/geos/pull/866
> On May 29, 2025, at 11:36 AM, Paul Ramsey <pramsey at cleverelephant.ca> wrote:
>
> I am wondering the geometry argument for coverage cleaning… my current white board API looks like this
>
>
> typedef struct {
> double snappingDistance;
> int overlapMergeStrategy;
> double gapMaximumWidth
> } GEOSCoverageCleanParams;
>
>
> GEOSCoverageCleanerParams*
> GEOSCoverageCleanParams_create();
>
> void
> GEOSCoverageCleanParams_destroy(
> GEOSCoverageCleanerParams* params);
>
> int
> GEOSCoverageCleanParams_setSnappingDistance(
> GEOSCoverageCleanerParams* params,
> double snappingDistance);
>
> int
> GEOSCoverageCleanParams_setGapMaximumWidth(
> GEOSCoverageCleanerParams* params,
> double gapMaximumWidth);
>
> int
> GEOSCoverageCleanParams_setOverlapMergeStrategy(
> GEOSCoverageCleanerParams* params,
> int overlapMergeStrategy);
>
> GEOSGeometry **
> GEOSCoverageCleanWithParams(
> GEOSCoverageCleanerParams* params,
> GEOSGeometry** cov,
> int covSize);
>
> GEOSGeometry **
> GEOSCoverageClean(
> GEOSGeometry ** cov,
> int covSize);
>
> But I just noticed that the API for coverage simplification is this:
>
> extern GEOSGeometry GEOS_DLL * GEOSCoverageSimplifyVW(
> const GEOSGeometry* input,
> double tolerance,
> int preserveBoundary);
>
> So using a collection on input and output. There’s a little extra overhead in marshalling it together but not a lot. One aspect of coverage cleaning is that polygons could entirely disappear… right now they’d come out as nulls in the geometry list, but I guess we could return them as empties? I feel like maybe we already talked this over for the simplification API.
>
> P
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20250529/c7c97db8/attachment.htm>
More information about the geos-devel
mailing list