Dear PostGIS Developers and Users, First of all, thank you for the development of the new ST_CoverageClean function in PostGIS 3.6.0. It’s a fantastic addition that has already helped a lot in my work with polygonal coverages. I really appreciate the effort that went into making this tool available. While testing the function, I’ve encountered some behaviors that I’d like to better understand, particularly regarding the snappingDistance and gapMaximumWidth parameters.
>From the documentation, I understand that: 1. snappingDistance controls vertex snapping, with -1 applying an automatic distance, and 0.0 disabling snapping. 2. gapMaximumWidth closes gaps smaller than the specified tolerance. However, during testing with various combinations (e.g., snappingDistance set to -1, 0.0, 1, 2 and gapMaximumWidth set to 0, 1, 2), I noticed: 1. Even when snappingDistance is explicitly set to 0.0, small sliver vertices still appear to be snapped or altered when gapMaximumWidth is greater than 0. 2. Slivers that are thinner than the gapMaximumWidth are removed, even when they are not actual gaps or overlaps. This behavior seems counterintuitive, as I expected no snapping to occur with snappingDistance = 0.0. Could this be due to internal gap cleaning logic that also affects vertex positions? Or is there an implicit snapping step tied to gapMaximumWidth? I’d be grateful for any insights into: 1. How do these two parameters interact? 2. Best practices or recommended workflows for cleaning polygonal coverages with minimal geometry distortion. 3. Any known edge cases or limitations when using ST_CoverageClean. 4. Whether gapMaximumWidth also triggers geometry simplification or sliver removal beyond gap closing. Thanks in advance for your help and for the continued development of PostGIS. Best regards, Man Ho Fan