[SCM] PostGIS branch master updated. 3.7.0beta1-25-g6111c98a9
git at osgeo.org
git at osgeo.org
Sat Jul 25 06:04:01 PDT 2026
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 6111c98a95a0799cf0e318247d8630c2acb00863 (commit)
via 6d60ba525742023afc0fdbdaedd79f03f82e1fd4 (commit)
from e44cfd9ac84eb4df25b6ca0faf155cbae4a11682 (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 6111c98a95a0799cf0e318247d8630c2acb00863
Merge: e44cfd9ac 6d60ba525
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date: Sat Jul 25 06:04:00 2026 -0700
Merge pull request 'Stabilize example tests across dependency versions' (!506) from Komzpa/postgis:fix/berrie64-exampletest-portability into master
Reviewed-on: https://gitea.osgeo.org/postgis/postgis/pulls/506
commit 6d60ba525742023afc0fdbdaedd79f03f82e1fd4
Author: Darafei Praliaskouski <me at komzpa.net>
Date: Sat Jul 25 16:13:51 2026 +0400
docs: stabilize examples across dependency versions
diff --git a/doc/reference_measure.xml b/doc/reference_measure.xml
index 5b858bdbc..e7a72fc93 100644
--- a/doc/reference_measure.xml
+++ b/doc/reference_measure.xml
@@ -1668,15 +1668,18 @@ SELECT ST_3DMaxDistance(
<screen role="visual-primary text-primary">845.227713366825</screen>
<para>Return perimeter in meters and feet for Polygon and MultiPolygon. Note this is geography (WGS 84 long lat)</para>
- <programlisting language="sql">SELECT ST_Perimeter(geog) As per_meters, ST_Perimeter(geog)/0.3048 As per_ft
+ <programlisting language="sql">SELECT round(ST_Perimeter(geog)::numeric, 8) As per_meters,
+ round((ST_Perimeter(geog)/0.3048)::numeric, 8) As per_ft
FROM ST_GeogFromText('POLYGON((-71.1776848522251 42.3902896512902,-71.1776843766326 42.3903829478009,
-71.1775844305465 42.3903826677917,-71.1775825927231 42.3902893647987,-71.1776848522251 42.3902896512902))') As geog;</programlisting>
-<screen role="visual-primary text-primary"> per_meters | per_ft
------------------+------------------
-37.37904625414049 | 122.63466618812497</screen>
+<screen role="visual-primary text-primary"> per_meters | per_ft
+-------------+--------------
+ 37.37904625 | 122.63466619</screen>
<para>This example uses a MultiPolygon.</para>
<programlisting language="sql">
-SELECT ST_Perimeter(geog) As per_meters, ST_Perimeter(geog, false) As per_sphere_meters, ST_Perimeter(geog)/0.3048 As per_ft
+SELECT round(ST_Perimeter(geog)::numeric, 8) As per_meters,
+ round(ST_Perimeter(geog, false)::numeric, 8) As per_sphere_meters,
+ round((ST_Perimeter(geog)/0.3048)::numeric, 8) As per_ft
FROM ST_GeogFromText('MULTIPOLYGON(((-71.1044543107478 42.340674480411,-71.1044542869917 42.3406744369506,
-71.1044553562977 42.340673886454,-71.1044543107478 42.340674480411)),
((-71.1044543107478 42.340674480411,-71.1044860600303 42.3407237015564,-71.1045215770124 42.3407653385914,
@@ -1685,9 +1688,9 @@ FROM ST_GeogFromText('MULTIPOLYGON(((-71.1044543107478 42.340674480411,-71.10445
-71.1048878050242 42.3410084812078,-71.1044020965803 42.3414730072048,
-71.1039672113619 42.3412202916693,-71.1037740497748 42.3410666421308,
-71.1044280218456 42.3406894151355,-71.1044543107478 42.340674480411)))') As geog;</programlisting>
-<screen role="visual-primary text-primary"> per_meters | per_sphere_meters | per_ft
-------------------+-------------------+------------------
- 257.634283683311 | 257.412311446337 | 845.256836231335
+<screen role="visual-primary text-primary"> per_meters | per_sphere_meters | per_ft
+--------------+-------------------+--------------
+ 257.63428368 | 257.41231145 | 845.25683623
</screen>
</refsection>
<refsection>
diff --git a/doc/reference_processing.xml b/doc/reference_processing.xml
index 9460b62ef..450b22060 100644
--- a/doc/reference_processing.xml
+++ b/doc/reference_processing.xml
@@ -1375,7 +1375,7 @@ TRUE);</programlisting>
<title>Examples</title>
<para>Maximum inscribed circle of a polygon. Center, nearest point, radius,
circle, and radius line are returned.</para>
-<programlisting>WITH mic AS (
+<programlisting role="requires-geos-3.12">WITH mic AS (
SELECT * FROM ST_MaximumInscribedCircle(
'POLYGON ((40 180,110 160,180 180,180 120,140 90,160 40,80 10,70 40,20 50,40 180),
(60 140,50 90,90 140,60 140))')
@@ -1394,7 +1394,7 @@ circle | POLYGON((142 76,141 68,139 59,135 51,129 44,122 39,114 35,106 32,9
radius_line | LINESTRING(97 76,62 105)</screen>
<para>Maximum inscribed circle of a MultiLineString.</para>
-<programlisting>WITH mic AS (
+<programlisting role="requires-geos-3.12">WITH mic AS (
SELECT * FROM ST_MaximumInscribedCircle(
'MULTILINESTRING((100 40,10 150),(10 160,100 150),(190 150,80 40))')
)
@@ -1458,7 +1458,7 @@ radius_line | LINESTRING(94 110,63 85)</screen>
<title>Examples</title>
<para>Largest empty circle within a set of lines.</para>
-<programlisting language="sql">WITH obstacles(geom) AS (VALUES ('MULTILINESTRING (
+<programlisting language="sql" role="requires-geos-3.12">WITH obstacles(geom) AS (VALUES ('MULTILINESTRING (
(10 100,60 180,130 150,190 160),
(20 50,70 70,90 20,110 40),
(160 30,100 100,180 100))'::geometry)),
@@ -1482,7 +1482,7 @@ circle | POLYGON((101 108,100 101,98 93,94 87,89 81,83 76,77 72,69 70,62 69
<para>Largest empty circle within a set of points, constrained to lie in a polygon.
The constraint polygon boundary is included both as an obstacle and as the constraint for the circle center.</para>
-<programlisting language="sql">WITH inputs(points, boundary) AS (VALUES (
+<programlisting language="sql" role="requires-geos-3.12">WITH inputs(points, boundary) AS (VALUES (
'MULTIPOINT ((70 50),(60 130),(130 150),(80 90))'::geometry,
'POLYGON ((90 190,10 100,60 10,190 40,120 100,190 180,90 190))'::geometry
)),
@@ -1660,7 +1660,7 @@ ST_Point(20, 80)), 8
SELECT ST_OrientedEnvelope(ST_Collect('LINESTRING(55 75,125 150)',
ST_Point(20, 80))
) As wktenv;</programlisting>
-<screen role="visual-primary text-primary">POLYGON((20 80,125 150,138.0769230769241 130.38461538461573,33.07692307692291 60.384615384615195,20 80))</screen>
+<screen role="visual-primary text-primary geometry-output-precision-11">POLYGON((20 80,125 150,138.0769230769241 130.38461538461573,33.07692307692291 60.384615384615195,20 80))</screen>
</refsection>
@@ -2277,7 +2277,7 @@ MULTILINESTRING((76 175,101 150),(126 125,126 156.25)))</screen>
<refsection>
<title>Examples</title>
<para>A circle simplified with a medium tolerance becomes an octagon, and with a large tolerance disappears.</para>
- <programlisting>SELECT ST_NPoints(geom) AS np_before,
+ <programlisting role="requires-geos-3.12">SELECT ST_NPoints(geom) AS np_before,
ST_NPoints(ST_Simplify(geom, 0.1)) AS np01_notbadcircle,
ST_NPoints(ST_Simplify(geom, 0.5)) AS np05_notquitecircle,
ST_NPoints(ST_Simplify(geom, 1)) AS np1_octagon,
@@ -2450,7 +2450,7 @@ FROM (SELECT ST_Buffer('POINT(1 3)', 10, 12) AS geom) AS t;</programlisting>
<screen role="visual-primary text-primary">POLYGON((161 165,173 156,186 144,190 137,185 131,174 124,166 119,166 79,158 57,68 32,40 31,25 34,17 41,14 46,11 57,56 91,33 97,23 100,22 107,28 131,80 135,73 145,85 157,99 162,122 170,161 165))</screen>
<para>Inner hull of a Polygon.</para>
- <programlisting>SELECT ST_SimplifyPolygonHull(
+ <programlisting role="requires-geos-3.12">SELECT ST_SimplifyPolygonHull(
'POLYGON ((131 158,136 163,161 165,173 156,179 148,169 140,186 144,190 137,185 131,174 128,174 124,166 119,158 121,158 115,165 107,161 97,166 88,166 79,158 57,145 57,112 53,111 47,93 43,90 48,88 40,80 39,68 32,51 33,40 31,39 34,49 38,34 38,25 34,28 39,36 40,44 46,24 41,17 41,14 46,19 50,33 54,21 55,13 52,11 57,22 60,34 59,41 68,75 72,62 77,56 70,46 72,31 69,46 76,52 82,47 84,56 90,66 90,64 94,56 91,33 97,36 100,23 100,22 107,29 106,31 112,46 116,36 118,28 131,53 132,59 127,62 131,76 130,80 135,89 137,87 143,73 145,80 150,88 150,85 157,99 162,116 158,115 165,123 165,122 170,134 164,131 158))'::geometry,
0.3, false
);</programlisting>
diff --git a/doc/reference_sfcgal.xml b/doc/reference_sfcgal.xml
index 7c57f1a0e..7d11d2af0 100644
--- a/doc/reference_sfcgal.xml
+++ b/doc/reference_sfcgal.xml
@@ -1667,7 +1667,7 @@ FROM data;</programlisting>
<para><xref linkend="ST_DelaunayTriangles"/> applied to the same input.
Triangle edges cross polygon boundaries.</para>
- <programlisting language="sql">SELECT
+ <programlisting language="sql" role="requires-geos-3.12">SELECT
ST_DelaunayTriangles(
ST_Union(
'POLYGON((175 150,20 40,50 60,125 100,175 150))'::geometry,
diff --git a/utils/test_postgis_exampletest.py b/utils/test_postgis_exampletest.py
index b1ba7ec65..49cc76324 100644
--- a/utils/test_postgis_exampletest.py
+++ b/utils/test_postgis_exampletest.py
@@ -452,6 +452,28 @@ SELECT 'POINT(1 2)', $$LINESTRING(0 0,1 1)$$,
self.assertEqual((2, 3, 0), requirements["sfcgal"])
self.assertEqual((6, 0, 0), requirements["cgal"])
+ def test_explicit_capability_requirement_overrides_inferred_minimum(self):
+ xml = """<book xmlns="http://docbook.org/ns/docbook">
+ <refentry xml:id="capability"><refsection>
+ <programlisting role="requires-geos-3.12">SELECT ST_LargestEmptyCircle(
+ 'MULTIPOINT((0 0),(1 1))'::geometry
+ );</programlisting>
+ <screen>dummy</screen>
+ </refsection></refentry>
+</book>"""
+ with tempfile.NamedTemporaryFile("w", suffix=".xml", encoding="utf-8") as source:
+ source.write(xml)
+ source.flush()
+ example = ExampleTester(source.name).examples()[0]
+
+ self.assertEqual(
+ {"geos": (3, 12)},
+ {
+ requirement["name"]: requirement["minimum"]
+ for requirement in example["requirements"]
+ },
+ )
+
def test_cg_3dbuffer_requires_sfcgal_2_0(self):
tester = ExampleTester.__new__(ExampleTester)
-----------------------------------------------------------------------
Summary of changes:
doc/reference_measure.xml | 19 +++++++++++--------
doc/reference_processing.xml | 14 +++++++-------
doc/reference_sfcgal.xml | 2 +-
utils/test_postgis_exampletest.py | 22 ++++++++++++++++++++++
4 files changed, 41 insertions(+), 16 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list