[SCM] PostGIS branch master updated. 3.6.0rc2-135-gc33c1a582
git at osgeo.org
git at osgeo.org
Tue Oct 14 21:45:56 PDT 2025
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".
The branch, master has been updated
via c33c1a582e5b468bd54e249b2f54d9ade37bd9e8 (commit)
from 5dc95f1bc3047b048128616d4543b603b8bbdca7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c33c1a582e5b468bd54e249b2f54d9ade37bd9e8
Author: Martin Davis <mtnclimb at gmail.com>
Date: Tue Oct 14 19:57:46 2025 -0700
Improve doc for ST_CoverageClean
diff --git a/doc/reference_coverage.xml b/doc/reference_coverage.xml
index a98c58427..5906b40a4 100644
--- a/doc/reference_coverage.xml
+++ b/doc/reference_coverage.xml
@@ -116,6 +116,95 @@ SELECT true = ALL (
</refentry>
+ <refentry xml:id="ST_CoverageClean">
+ <refnamediv>
+ <refname>ST_CoverageClean</refname>
+
+ <refpurpose>Computes a clean (edge matched, non-overlapping, gap-cleared) polygonal coverage, given a non-clean input.</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>geometry <function>ST_CoverageClean</function></funcdef>
+ <paramdef><type>geometry winset</type>
+ <parameter>geom</parameter></paramdef>
+ <paramdef choice="opt"><type>float8 </type>
+ <parameter>gapMaximumWidth = 0</parameter></paramdef>
+ <paramdef choice="opt"><type>float8 </type>
+ <parameter>snappingDistance = -1</parameter></paramdef>
+ <paramdef choice="opt"><type>text </type>
+ <parameter>overlapMergeStrategy = 'MERGE_LONGEST_BORDER'</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>A window function which adjusts the edges of a polygonal dataset to ensure that none of the polygons overlap, narrow gaps are removed, and shared edges are identically noded.
+ The result is a clean coverage that will pass validation by <xref linkend="ST_CoverageInvalidEdges"/>
+ and can be input to coverage processing functions.
+ </para>
+ <para><parameter>gapMaximumWidth</parameter> controls the cleaning of gaps between polygons. Gaps with width less than this distance are merged into an adjacent polygon.</para>
+ <para><parameter>snappingDistance</parameter> controls snapping of close vertices and edges. The default setting (-1) use an automatic snapping distance based on the input. Set to 0.0 to turn off snapping.</para>
+ <para><parameter>overlapMergeStrategy</parameter> specifies how overlapping areas are merged into an adjacent polygon:</para>
+
+ <itemizedlist>
+ <listitem><para>
+ <code>MERGE_LONGEST_BORDER</code> - merges into polygon with longest common border
+ </para></listitem>
+ <listitem><para>
+ <code>MERGE_MAX_AREA</code> - merges into polygon with maximum area
+ </para></listitem>
+ <listitem><para>
+ <code>MERGE_MIN_AREA</code> - merges into polygon with minimum area
+ </para></listitem>
+ <listitem><para>
+ <code>MERGE_MIN_INDEX</code> - merges into polygon with smallest input index (defined by order of input polygons)
+ </para></listitem>
+ </itemizedlist>
+
+ <para role="availability" conformance="3.6.0">Availability: 3.6.0 - requires GEOS >= 3.14.0</para>
+ </refsection>
+
+ <refsection>
+ <title>Examples</title>
+
+ <programlisting>-- Populate demo table
+CREATE TABLE example AS SELECT * FROM (VALUES
+ (1, 'POLYGON ((10 190, 30 160, 40 110, 100 70, 120 10, 10 10, 10 190))'::geometry),
+ (2, 'POLYGON ((100 190, 10 190, 30 160, 40 110, 50 80, 74 110.5, 100 130, 140 120, 140 160, 100 190))'::geometry),
+ (3, 'POLYGON ((140 190, 190 190, 190 80, 140 80, 140 190))'::geometry),
+ (4, 'POLYGON ((180 40, 120 10, 100 70, 140 80, 190 80, 180 40))'::geometry)
+) AS v(id, geom);
+
+-- Prove it is a dirty coverage
+SELECT ST_AsText(ST_CoverageInvalidEdges(geom) OVER ())
+ FROM example;
+
+-- Clean the coverage
+CREATE TABLE example_clean AS
+ SELECT id, ST_CoverageClean(geom) OVER () AS GEOM
+ FROM example;
+
+-- Prove it is a clean coverage
+SELECT ST_AsText(ST_CoverageInvalidEdges(geom) OVER ())
+ FROM example_clean;
+ </programlisting>
+ </refsection>
+
+ <refsection>
+ <title>See Also</title>
+ <para>
+ <xref linkend="ST_CoverageInvalidEdges"/>,
+ <xref linkend="ST_CoverageUnion"/>,
+ <xref linkend="ST_CoverageSimplify"/>,
+ <xref linkend="ST_MaximumInscribedCircle"/>
+ </para>
+ </refsection>
+
+ </refentry>
<refentry xml:id="ST_CoverageSimplify">
<refnamediv>
@@ -312,82 +401,4 @@ MULTIPOLYGON (((10 150, 80 190, 110 150, 140 80, 120 10, 10 10, 10 150), (50 60,
</refentry>
-
-
-
- <refentry xml:id="ST_CoverageClean">
- <refnamediv>
- <refname>ST_CoverageClean</refname>
-
- <refpurpose>Computes a clean (edge matched, non-overlapping, gap-cleared) polygonal coverage, given a non-clean input.</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <funcsynopsis>
- <funcprototype>
- <funcdef>geometry <function>ST_CoverageClean</function></funcdef>
- <paramdef><type>geometry winset</type>
- <parameter>geom</parameter></paramdef>
- <paramdef choice="opt"><type>float8 </type>
- <parameter>gapMaximumWidth = 0</parameter></paramdef>
- <paramdef choice="opt"><type>float8 </type>
- <parameter>snappingDistance = -1</parameter></paramdef>
- <paramdef choice="opt"><type>text </type>
- <parameter>overlapMergeStrategy = 'MERGE_LONGEST_BORDER'</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- </refsynopsisdiv>
-
- <refsection>
- <title>Description</title>
-
- <para>A window function which alters the edges of a polygonal coverage to ensure that none of the polygons overlap, that small gaps are snapped away, and that all shared edges are exactly identical. The result is a clean coverage that will pass validation tests like <xref linkend="ST_CoverageInvalidEdges"/></para>
- <para>The <parameter>gapMaximumWidth</parameter> controls the cleaning of gaps between polygons. Gaps smaller than this tolerance will be closed.</para>
- <para>The <parameter>snappingDistance</parameter> controls the node snapping step, when nearby vertices are snapped together. The default setting (-1) applies an automatic snapping distance based on an analysis of the input. Set to 0.0 to turn off all snapping.</para>
- <para>The <parameter>overlapMergeStrategy</parameter> controls the algorithm used to determine which neighboring polygons to merge overlapping areas into.</para>
- <para><code>MERGE_LONGEST_BORDER</code> chooses polygon with longest common border</para>
- <para><code>MERGE_MAX_AREA</code> chooses polygon with maximum area</para>
- <para><code>MERGE_MIN_AREA</code> chooses polygon with minimum area</para>
- <para><code>MERGE_MIN_INDEX</code> chooses polygon with smallest input index</para>
-
- <para role="availability" conformance="3.6.0">Availability: 3.6.0 - requires GEOS >= 3.14.0</para>
- </refsection>
-
- <refsection>
- <title>Examples</title>
-
- <programlisting>-- Populate demo table
-CREATE TABLE example AS SELECT * FROM (VALUES
- (1, 'POLYGON ((10 190, 30 160, 40 110, 100 70, 120 10, 10 10, 10 190))'::geometry),
- (2, 'POLYGON ((100 190, 10 190, 30 160, 40 110, 50 80, 74 110.5, 100 130, 140 120, 140 160, 100 190))'::geometry),
- (3, 'POLYGON ((140 190, 190 190, 190 80, 140 80, 140 190))'::geometry),
- (4, 'POLYGON ((180 40, 120 10, 100 70, 140 80, 190 80, 180 40))'::geometry)
-) AS v(id, geom);
-
--- Prove it is a dirty coverage
-SELECT ST_AsText(ST_CoverageInvalidEdges(geom) OVER ())
- FROM example;
-
--- Clean the coverage
-CREATE TABLE example_clean AS
- SELECT id, ST_CoverageClean(geom) OVER () AS GEOM
- FROM example;
-
--- Prove it is a clean coverage
-SELECT ST_AsText(ST_CoverageInvalidEdges(geom) OVER ())
- FROM example_clean;
- </programlisting>
- </refsection>
-
- <refsection>
- <title>See Also</title>
- <para>
- <xref linkend="ST_CoverageInvalidEdges"/>,
- <xref linkend="ST_Union"/>
- <xref linkend="ST_CoverageSimplify"/>
- </para>
- </refsection>
-
- </refentry>
-
</section>
-----------------------------------------------------------------------
Summary of changes:
doc/reference_coverage.xml | 167 ++++++++++++++++++++++++---------------------
1 file changed, 89 insertions(+), 78 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list