[SCM] PostGIS branch stable-3.5 updated. 3.5.3-20-g4ca710549

git at osgeo.org git at osgeo.org
Tue Jun 17 08:38:26 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, stable-3.5 has been updated
       via  4ca710549d93933ff07d5fc5833abb7842f80cd2 (commit)
       via  d15a2bdaf8c24bb0c7ce40957df559eec7536164 (commit)
       via  c3e4a53d906a723f9ce89b06611341ea52321746 (commit)
      from  0967ea906a7632b8a763216e159b015df0e6cccb (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 4ca710549d93933ff07d5fc5833abb7842f80cd2
Author: Regina Obe <lr at pcorp.us>
Date:   Mon Jun 16 17:47:15 2025 -0400

    Make extrude straight skeleton test version agnostic

diff --git a/sfcgal/regress/extrudestraigthskeleton.sql b/sfcgal/regress/extrudestraigthskeleton.sql
index bc16f0e61..11d12dbf4 100644
--- a/sfcgal/regress/extrudestraigthskeleton.sql
+++ b/sfcgal/regress/extrudestraigthskeleton.sql
@@ -1,4 +1,43 @@
 SELECT 'Extrude roof', ST_AsText(CG_ExtrudeStraightSkeleton('POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))', 2.0));
-SELECT 'Extrude building and roof', ST_AsText(CG_ExtrudeStraightSkeleton('POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))', 3.0, 2.0));
+WITH
+  version_info AS (
+    -- The result depends on the SFCGAL Version.
+    -- Prior to version 2.2, it contained extra patches.
+    SELECT
+      string_to_array(postgis_sfcgal_version (), '.')::INT[] AS sfcgal_version_array
+  ),
+  skeleton AS (
+    SELECT
+      ST_NumPatches (
+        CG_ExtrudeStraightSkeleton (
+          'POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))',
+          3.0,
+          2.0
+        )
+      ) AS num_patches
+  ),
+  check_patches AS (
+    SELECT
+      sfcgal_version_array,
+      num_patches,
+      (
+        (
+          sfcgal_version_array <= ARRAY[2, 1, 0]
+          AND num_patches = 49
+        )
+        OR (
+          sfcgal_version_array > ARRAY[2, 1, 0]
+          AND num_patches = 39
+        )
+      ) AS test_result
+    FROM
+      skeleton,
+      version_info
+  )
+SELECT
+  'Extrude building and roof',
+  test_result
+FROM
+  check_patches;
 SELECT 'Empty building and roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1, 20.1));
 SELECT 'Empty roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1));
diff --git a/sfcgal/regress/extrudestraigthskeleton_expected b/sfcgal/regress/extrudestraigthskeleton_expected
index 9234a7cb8..8a8ac4ddc 100644
--- a/sfcgal/regress/extrudestraigthskeleton_expected
+++ b/sfcgal/regress/extrudestraigthskeleton_expected
@@ -1,4 +1,4 @@
 Extrude roof|POLYHEDRALSURFACE Z (((4 5 0,5 5 0,4 4 0,4 5 0)),((2 1 0,5 0 0,0 0 0,2 1 0)),((5 5 0,5 0 0,4 4 0,5 5 0)),((2 1 0,0 0 0,1 1 0,2 1 0)),((1 2 0,1 1 0,0 0 0,1 2 0)),((0 4 0,2 2 0,1 2 0,0 4 0)),((0 4 0,1 2 0,0 0 0,0 4 0)),((4 4 0,5 0 0,2 2 0,4 4 0)),((4 4 0,2 2 0,0 4 0,4 4 0)),((2 2 0,5 0 0,2 1 0,2 2 0)),((0.5 2.5 0.5,0 0 0,0.5 0.5 0.5,0.5 2.5 0.5)),((1 3 1,0 4 0,0.5 2.5 0.5,1 3 1)),((0.5 2.5 0.5,0 4 0,0 0 0,0.5 2.5 0.5)),((2.5 0.5 0.5,5 0 0,3.5 1.5 1.5,2.5 0.5 0.5)),((0 0 0,5 0 0,2.5 0.5 0.5,0 0 0)),((0.5 0.5 0.5,0 0 0,2.5 0.5 0.5,0.5 0.5 0.5)),((4.5 3.5 0.5,5 5 0,4.5 4.5 0.5,4.5 3.5 0.5)),((3.5 2.5 1.5,3.5 1.5 1.5,4.5 3.5 0.5,3.5 2.5 1.5)),((4.5 3.5 0.5,5 0 0,5 5 0,4.5 3.5 0.5)),((3.5 1.5 1.5,5 0 0,4.5 3.5 0.5,3.5 1.5 1.5)),((5 5 0,4 5 0,4.5 4.5 0.5,5 5 0)),((4.5 4.5 0.5,4 4 0,4.5 3.5 0.5,4.5 4.5 0.5)),((4.5 4.5 0.5,4 5 0,4 4 0,4.5 4.5 0.5)),((3 3 1,0 4 0,1 3 1,3 3 1)),((3.5 2.5 1.5,4.5 3.5 0.5,3 3 1,3.5 2.5 1.5)),((3 3 1,4 4 0,0 4 0,3 3 1)),((4.5 3.5 0.5,4 4 0,3 3 1,4.5 3
 .5 0.5)),((2 1 0,1 1 0,0.5 0.5 0.5,2 1 0)),((2.5 0.5 0.5,2 1 0,0.5 0.5 0.5,2.5 0.5 0.5)),((1 1 0,1 2 0,0.5 2.5 0.5,1 1 0)),((0.5 0.5 0.5,1 1 0,0.5 2.5 0.5,0.5 0.5 0.5)),((1 3 1,2 2 0,3 3 1,1 3 1)),((0.5 2.5 0.5,1 2 0,1 3 1,0.5 2.5 0.5)),((1 3 1,1 2 0,2 2 0,1 3 1)),((2 2 0,2 1 0,2.5 0.5 0.5,2 2 0)),((3.5 2.5 1.5,3 3 1,3.5 1.5 1.5,3.5 2.5 1.5)),((3.5 1.5 1.5,2 2 0,2.5 0.5 0.5,3.5 1.5 1.5)),((3 3 1,2 2 0,3.5 1.5 1.5,3 3 1)))
-Extrude building and roof|POLYHEDRALSURFACE Z (((0 0 0,0 4 0,4 4 0,4 5 0,5 5 0,5 0 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((0 0 0,0 0 2,0 4 2,0 4 0,0 0 0)),((0 4 0,0 4 2,4 4 2,4 4 0,0 4 0)),((4 4 0,4 4 2,4 5 2,4 5 0,4 4 0)),((4 5 0,4 5 2,5 5 2,5 5 0,4 5 0)),((5 5 0,5 5 2,5 0 2,5 0 0,5 5 0)),((5 0 0,5 0 2,0 0 2,0 0 0,5 0 0)),((1 1 0,1 1 2,2 1 2,2 1 0,1 1 0)),((2 1 0,2 1 2,2 2 2,2 2 0,2 1 0)),((2 2 0,2 2 2,1 2 2,1 2 0,2 2 0)),((1 2 0,1 2 2,1 1 2,1 1 0,1 2 0)),((4 5 2,5 5 2,4 4 2,4 5 2)),((2 1 2,5 0 2,0 0 2,2 1 2)),((5 5 2,5 0 2,4 4 2,5 5 2)),((2 1 2,0 0 2,1 1 2,2 1 2)),((1 2 2,1 1 2,0 0 2,1 2 2)),((0 4 2,2 2 2,1 2 2,0 4 2)),((0 4 2,1 2 2,0 0 2,0 4 2)),((4 4 2,5 0 2,2 2 2,4 4 2)),((4 4 2,2 2 2,0 4 2,4 4 2)),((2 2 2,5 0 2,2 1 2,2 2 2)),((0.5 2.5 2.5,0 0 2,0.5 0.5 2.5,0.5 2.5 2.5)),((1 3 3,0 4 2,0.5 2.5 2.5,1 3 3)),((0.5 2.5 2.5,0 4 2,0 0 2,0.5 2.5 2.5)),((2.5 0.5 2.5,5 0 2,3.5 1.5 3.5,2.5 0.5 2.5)),((0 0 2,5 0 2,2.5 0.5 2.5,0 0 2)),((0.5 0.5 2.5,0 0 2,2.5 0.5 2.5,0.5 0.5 2.5)),((4.5 
 3.5 2.5,5 5 2,4.5 4.5 2.5,4.5 3.5 2.5)),((3.5 2.5 3.5,3.5 1.5 3.5,4.5 3.5 2.5,3.5 2.5 3.5)),((4.5 3.5 2.5,5 0 2,5 5 2,4.5 3.5 2.5)),((3.5 1.5 3.5,5 0 2,4.5 3.5 2.5,3.5 1.5 3.5)),((5 5 2,4 5 2,4.5 4.5 2.5,5 5 2)),((4.5 4.5 2.5,4 4 2,4.5 3.5 2.5,4.5 4.5 2.5)),((4.5 4.5 2.5,4 5 2,4 4 2,4.5 4.5 2.5)),((3 3 3,0 4 2,1 3 3,3 3 3)),((3.5 2.5 3.5,4.5 3.5 2.5,3 3 3,3.5 2.5 3.5)),((3 3 3,4 4 2,0 4 2,3 3 3)),((4.5 3.5 2.5,4 4 2,3 3 3,4.5 3.5 2.5)),((2 1 2,1 1 2,0.5 0.5 2.5,2 1 2)),((2.5 0.5 2.5,2 1 2,0.5 0.5 2.5,2.5 0.5 2.5)),((1 1 2,1 2 2,0.5 2.5 2.5,1 1 2)),((0.5 0.5 2.5,1 1 2,0.5 2.5 2.5,0.5 0.5 2.5)),((1 3 3,2 2 2,3 3 3,1 3 3)),((0.5 2.5 2.5,1 2 2,1 3 3,0.5 2.5 2.5)),((1 3 3,1 2 2,2 2 2,1 3 3)),((2 2 2,2 1 2,2.5 0.5 2.5,2 2 2)),((3.5 2.5 3.5,3 3 3,3.5 1.5 3.5,3.5 2.5 3.5)),((3.5 1.5 3.5,2 2 2,2.5 0.5 2.5,3.5 1.5 3.5)),((3 3 3,2 2 2,3.5 1.5 3.5,3 3 3)))
+Extrude building and roof|t
 Empty building and roof|POLYHEDRALSURFACE EMPTY
 Empty roof|POLYHEDRALSURFACE EMPTY

commit d15a2bdaf8c24bb0c7ce40957df559eec7536164
Author: Regina Obe <lr at pcorp.us>
Date:   Mon Jun 16 17:25:04 2025 -0400

    Add garden test, and use stable branch for pg17

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2c22795eb..7c042da6d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,7 +17,7 @@ jobs:
       matrix:
         ci:
         # Use the last stable releases to run more tests
-        - { tag: pg17-geosmain-gdal39-proj94, mode: coverage }
+        - { tag: pg17-geos313-gdal39-proj94, mode: coverage }
         - { tag: pg16-geos312-gdal37-proj921, mode: coverage }
         - { tag: pg15-geos311-gdal35-proj90, mode: coverage }
         - { tag: pg15-clang-geos311-gdal35-proj90, mode: usan_clang }
@@ -30,6 +30,7 @@ jobs:
         - { tag: pg13-clang-geos39-gdal31-proj71, mode: usan_clang }
         # Run tests with different dependency combinations
         - { tag: latest, mode: tests }
+        - { tag: pg17-geos313-gdal39-proj94, mode: garden }
         - { tag: pg13-geos38-gdal31-proj71, mode: tests }
         - { tag: pg12-geos38-gdal30-proj611, mode: tests }
 
diff --git a/sfcgal/regress/extrudestraigthskeleton_expected b/sfcgal/regress/extrudestraigthskeleton_expected
index dab998cef..9234a7cb8 100644
--- a/sfcgal/regress/extrudestraigthskeleton_expected
+++ b/sfcgal/regress/extrudestraigthskeleton_expected
@@ -1,4 +1,4 @@
 Extrude roof|POLYHEDRALSURFACE Z (((4 5 0,5 5 0,4 4 0,4 5 0)),((2 1 0,5 0 0,0 0 0,2 1 0)),((5 5 0,5 0 0,4 4 0,5 5 0)),((2 1 0,0 0 0,1 1 0,2 1 0)),((1 2 0,1 1 0,0 0 0,1 2 0)),((0 4 0,2 2 0,1 2 0,0 4 0)),((0 4 0,1 2 0,0 0 0,0 4 0)),((4 4 0,5 0 0,2 2 0,4 4 0)),((4 4 0,2 2 0,0 4 0,4 4 0)),((2 2 0,5 0 0,2 1 0,2 2 0)),((0.5 2.5 0.5,0 0 0,0.5 0.5 0.5,0.5 2.5 0.5)),((1 3 1,0 4 0,0.5 2.5 0.5,1 3 1)),((0.5 2.5 0.5,0 4 0,0 0 0,0.5 2.5 0.5)),((2.5 0.5 0.5,5 0 0,3.5 1.5 1.5,2.5 0.5 0.5)),((0 0 0,5 0 0,2.5 0.5 0.5,0 0 0)),((0.5 0.5 0.5,0 0 0,2.5 0.5 0.5,0.5 0.5 0.5)),((4.5 3.5 0.5,5 5 0,4.5 4.5 0.5,4.5 3.5 0.5)),((3.5 2.5 1.5,3.5 1.5 1.5,4.5 3.5 0.5,3.5 2.5 1.5)),((4.5 3.5 0.5,5 0 0,5 5 0,4.5 3.5 0.5)),((3.5 1.5 1.5,5 0 0,4.5 3.5 0.5,3.5 1.5 1.5)),((5 5 0,4 5 0,4.5 4.5 0.5,5 5 0)),((4.5 4.5 0.5,4 4 0,4.5 3.5 0.5,4.5 4.5 0.5)),((4.5 4.5 0.5,4 5 0,4 4 0,4.5 4.5 0.5)),((3 3 1,0 4 0,1 3 1,3 3 1)),((3.5 2.5 1.5,4.5 3.5 0.5,3 3 1,3.5 2.5 1.5)),((3 3 1,4 4 0,0 4 0,3 3 1)),((4.5 3.5 0.5,4 4 0,3 3 1,4.5 3
 .5 0.5)),((2 1 0,1 1 0,0.5 0.5 0.5,2 1 0)),((2.5 0.5 0.5,2 1 0,0.5 0.5 0.5,2.5 0.5 0.5)),((1 1 0,1 2 0,0.5 2.5 0.5,1 1 0)),((0.5 0.5 0.5,1 1 0,0.5 2.5 0.5,0.5 0.5 0.5)),((1 3 1,2 2 0,3 3 1,1 3 1)),((0.5 2.5 0.5,1 2 0,1 3 1,0.5 2.5 0.5)),((1 3 1,1 2 0,2 2 0,1 3 1)),((2 2 0,2 1 0,2.5 0.5 0.5,2 2 0)),((3.5 2.5 1.5,3 3 1,3.5 1.5 1.5,3.5 2.5 1.5)),((3.5 1.5 1.5,2 2 0,2.5 0.5 0.5,3.5 1.5 1.5)),((3 3 1,2 2 0,3.5 1.5 1.5,3 3 1)))
 Extrude building and roof|POLYHEDRALSURFACE Z (((0 0 0,0 4 0,4 4 0,4 5 0,5 5 0,5 0 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((0 0 0,0 0 2,0 4 2,0 4 0,0 0 0)),((0 4 0,0 4 2,4 4 2,4 4 0,0 4 0)),((4 4 0,4 4 2,4 5 2,4 5 0,4 4 0)),((4 5 0,4 5 2,5 5 2,5 5 0,4 5 0)),((5 5 0,5 5 2,5 0 2,5 0 0,5 5 0)),((5 0 0,5 0 2,0 0 2,0 0 0,5 0 0)),((1 1 0,1 1 2,2 1 2,2 1 0,1 1 0)),((2 1 0,2 1 2,2 2 2,2 2 0,2 1 0)),((2 2 0,2 2 2,1 2 2,1 2 0,2 2 0)),((1 2 0,1 2 2,1 1 2,1 1 0,1 2 0)),((4 5 2,5 5 2,4 4 2,4 5 2)),((2 1 2,5 0 2,0 0 2,2 1 2)),((5 5 2,5 0 2,4 4 2,5 5 2)),((2 1 2,0 0 2,1 1 2,2 1 2)),((1 2 2,1 1 2,0 0 2,1 2 2)),((0 4 2,2 2 2,1 2 2,0 4 2)),((0 4 2,1 2 2,0 0 2,0 4 2)),((4 4 2,5 0 2,2 2 2,4 4 2)),((4 4 2,2 2 2,0 4 2,4 4 2)),((2 2 2,5 0 2,2 1 2,2 2 2)),((0.5 2.5 2.5,0 0 2,0.5 0.5 2.5,0.5 2.5 2.5)),((1 3 3,0 4 2,0.5 2.5 2.5,1 3 3)),((0.5 2.5 2.5,0 4 2,0 0 2,0.5 2.5 2.5)),((2.5 0.5 2.5,5 0 2,3.5 1.5 3.5,2.5 0.5 2.5)),((0 0 2,5 0 2,2.5 0.5 2.5,0 0 2)),((0.5 0.5 2.5,0 0 2,2.5 0.5 2.5,0.5 0.5 2.5)),((4.5 
 3.5 2.5,5 5 2,4.5 4.5 2.5,4.5 3.5 2.5)),((3.5 2.5 3.5,3.5 1.5 3.5,4.5 3.5 2.5,3.5 2.5 3.5)),((4.5 3.5 2.5,5 0 2,5 5 2,4.5 3.5 2.5)),((3.5 1.5 3.5,5 0 2,4.5 3.5 2.5,3.5 1.5 3.5)),((5 5 2,4 5 2,4.5 4.5 2.5,5 5 2)),((4.5 4.5 2.5,4 4 2,4.5 3.5 2.5,4.5 4.5 2.5)),((4.5 4.5 2.5,4 5 2,4 4 2,4.5 4.5 2.5)),((3 3 3,0 4 2,1 3 3,3 3 3)),((3.5 2.5 3.5,4.5 3.5 2.5,3 3 3,3.5 2.5 3.5)),((3 3 3,4 4 2,0 4 2,3 3 3)),((4.5 3.5 2.5,4 4 2,3 3 3,4.5 3.5 2.5)),((2 1 2,1 1 2,0.5 0.5 2.5,2 1 2)),((2.5 0.5 2.5,2 1 2,0.5 0.5 2.5,2.5 0.5 2.5)),((1 1 2,1 2 2,0.5 2.5 2.5,1 1 2)),((0.5 0.5 2.5,1 1 2,0.5 2.5 2.5,0.5 0.5 2.5)),((1 3 3,2 2 2,3 3 3,1 3 3)),((0.5 2.5 2.5,1 2 2,1 3 3,0.5 2.5 2.5)),((1 3 3,1 2 2,2 2 2,1 3 3)),((2 2 2,2 1 2,2.5 0.5 2.5,2 2 2)),((3.5 2.5 3.5,3 3 3,3.5 1.5 3.5,3.5 2.5 3.5)),((3.5 1.5 3.5,2 2 2,2.5 0.5 2.5,3.5 1.5 3.5)),((3 3 3,2 2 2,3.5 1.5 3.5,3 3 3)))
 Empty building and roof|POLYHEDRALSURFACE EMPTY
-Empty roof|POLYHEDRALSURFACE EMPTY
\ No newline at end of file
+Empty roof|POLYHEDRALSURFACE EMPTY

commit c3e4a53d906a723f9ce89b06611341ea52321746
Author: Regina Obe <lr at pcorp.us>
Date:   Mon Jun 16 17:19:34 2025 -0400

    Fix for CG_ExtrudeStraightSkeleton closes #5923 for PostGIS 3.5.4

diff --git a/NEWS b/NEWS
index 468fcf76c..5e40ae47d 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ PostgreSQL 12-18 required. GEOS 3.8+ required. Proj 6.1+ required.
 - #5905, Crash on deeply nested geometries (Paul Ramsey)
 - #5909, ST_ValueCount crashes on empty table (Paul Ramsey)
 - #5917, ST_Relate becomes unresponsive (Paul Ramsey)
+- #5923, CG_ExtrudeStraightSkeleton crashes on empty polygon (Loïc Bartoletti)
 
 
 PostGIS 3.5.3
diff --git a/sfcgal/lwgeom_sfcgal.c b/sfcgal/lwgeom_sfcgal.c
index c091acadb..b59ec5b10 100644
--- a/sfcgal/lwgeom_sfcgal.c
+++ b/sfcgal/lwgeom_sfcgal.c
@@ -1136,6 +1136,17 @@ sfcgal_extrudestraightskeleton(PG_FUNCTION_ARGS)
 
 	input = PG_GETARG_GSERIALIZED_P(0);
 	srid = gserialized_get_srid(input);
+#if POSTGIS_SFCGAL_VERSION < 20200
+	if (gserialized_is_empty(input))
+	{
+		result = sfcgal_polyhedral_surface_create();
+		output = SFCGALGeometry2POSTGIS(result, 0, srid);
+		sfcgal_geometry_delete(result);
+
+		PG_FREE_IF_COPY(input, 0);
+		PG_RETURN_POINTER(output);
+	}
+#endif
 	geom = POSTGIS2SFCGALGeometry(input);
 	PG_FREE_IF_COPY(input, 0);
 
diff --git a/sfcgal/regress/extrudestraigthskeleton.sql b/sfcgal/regress/extrudestraigthskeleton.sql
index c0b8df3c1..bc16f0e61 100644
--- a/sfcgal/regress/extrudestraigthskeleton.sql
+++ b/sfcgal/regress/extrudestraigthskeleton.sql
@@ -1,2 +1,4 @@
 SELECT 'Extrude roof', ST_AsText(CG_ExtrudeStraightSkeleton('POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))', 2.0));
 SELECT 'Extrude building and roof', ST_AsText(CG_ExtrudeStraightSkeleton('POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))', 3.0, 2.0));
+SELECT 'Empty building and roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1, 20.1));
+SELECT 'Empty roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1));
diff --git a/sfcgal/regress/extrudestraigthskeleton_expected b/sfcgal/regress/extrudestraigthskeleton_expected
index 0b3805b35..dab998cef 100644
--- a/sfcgal/regress/extrudestraigthskeleton_expected
+++ b/sfcgal/regress/extrudestraigthskeleton_expected
@@ -1,2 +1,4 @@
 Extrude roof|POLYHEDRALSURFACE Z (((4 5 0,5 5 0,4 4 0,4 5 0)),((2 1 0,5 0 0,0 0 0,2 1 0)),((5 5 0,5 0 0,4 4 0,5 5 0)),((2 1 0,0 0 0,1 1 0,2 1 0)),((1 2 0,1 1 0,0 0 0,1 2 0)),((0 4 0,2 2 0,1 2 0,0 4 0)),((0 4 0,1 2 0,0 0 0,0 4 0)),((4 4 0,5 0 0,2 2 0,4 4 0)),((4 4 0,2 2 0,0 4 0,4 4 0)),((2 2 0,5 0 0,2 1 0,2 2 0)),((0.5 2.5 0.5,0 0 0,0.5 0.5 0.5,0.5 2.5 0.5)),((1 3 1,0 4 0,0.5 2.5 0.5,1 3 1)),((0.5 2.5 0.5,0 4 0,0 0 0,0.5 2.5 0.5)),((2.5 0.5 0.5,5 0 0,3.5 1.5 1.5,2.5 0.5 0.5)),((0 0 0,5 0 0,2.5 0.5 0.5,0 0 0)),((0.5 0.5 0.5,0 0 0,2.5 0.5 0.5,0.5 0.5 0.5)),((4.5 3.5 0.5,5 5 0,4.5 4.5 0.5,4.5 3.5 0.5)),((3.5 2.5 1.5,3.5 1.5 1.5,4.5 3.5 0.5,3.5 2.5 1.5)),((4.5 3.5 0.5,5 0 0,5 5 0,4.5 3.5 0.5)),((3.5 1.5 1.5,5 0 0,4.5 3.5 0.5,3.5 1.5 1.5)),((5 5 0,4 5 0,4.5 4.5 0.5,5 5 0)),((4.5 4.5 0.5,4 4 0,4.5 3.5 0.5,4.5 4.5 0.5)),((4.5 4.5 0.5,4 5 0,4 4 0,4.5 4.5 0.5)),((3 3 1,0 4 0,1 3 1,3 3 1)),((3.5 2.5 1.5,4.5 3.5 0.5,3 3 1,3.5 2.5 1.5)),((3 3 1,4 4 0,0 4 0,3 3 1)),((4.5 3.5 0.5,4 4 0,3 3 1,4.5 3
 .5 0.5)),((2 1 0,1 1 0,0.5 0.5 0.5,2 1 0)),((2.5 0.5 0.5,2 1 0,0.5 0.5 0.5,2.5 0.5 0.5)),((1 1 0,1 2 0,0.5 2.5 0.5,1 1 0)),((0.5 0.5 0.5,1 1 0,0.5 2.5 0.5,0.5 0.5 0.5)),((1 3 1,2 2 0,3 3 1,1 3 1)),((0.5 2.5 0.5,1 2 0,1 3 1,0.5 2.5 0.5)),((1 3 1,1 2 0,2 2 0,1 3 1)),((2 2 0,2 1 0,2.5 0.5 0.5,2 2 0)),((3.5 2.5 1.5,3 3 1,3.5 1.5 1.5,3.5 2.5 1.5)),((3.5 1.5 1.5,2 2 0,2.5 0.5 0.5,3.5 1.5 1.5)),((3 3 1,2 2 0,3.5 1.5 1.5,3 3 1)))
 Extrude building and roof|POLYHEDRALSURFACE Z (((0 0 0,0 4 0,4 4 0,4 5 0,5 5 0,5 0 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((0 0 0,0 0 2,0 4 2,0 4 0,0 0 0)),((0 4 0,0 4 2,4 4 2,4 4 0,0 4 0)),((4 4 0,4 4 2,4 5 2,4 5 0,4 4 0)),((4 5 0,4 5 2,5 5 2,5 5 0,4 5 0)),((5 5 0,5 5 2,5 0 2,5 0 0,5 5 0)),((5 0 0,5 0 2,0 0 2,0 0 0,5 0 0)),((1 1 0,1 1 2,2 1 2,2 1 0,1 1 0)),((2 1 0,2 1 2,2 2 2,2 2 0,2 1 0)),((2 2 0,2 2 2,1 2 2,1 2 0,2 2 0)),((1 2 0,1 2 2,1 1 2,1 1 0,1 2 0)),((4 5 2,5 5 2,4 4 2,4 5 2)),((2 1 2,5 0 2,0 0 2,2 1 2)),((5 5 2,5 0 2,4 4 2,5 5 2)),((2 1 2,0 0 2,1 1 2,2 1 2)),((1 2 2,1 1 2,0 0 2,1 2 2)),((0 4 2,2 2 2,1 2 2,0 4 2)),((0 4 2,1 2 2,0 0 2,0 4 2)),((4 4 2,5 0 2,2 2 2,4 4 2)),((4 4 2,2 2 2,0 4 2,4 4 2)),((2 2 2,5 0 2,2 1 2,2 2 2)),((0.5 2.5 2.5,0 0 2,0.5 0.5 2.5,0.5 2.5 2.5)),((1 3 3,0 4 2,0.5 2.5 2.5,1 3 3)),((0.5 2.5 2.5,0 4 2,0 0 2,0.5 2.5 2.5)),((2.5 0.5 2.5,5 0 2,3.5 1.5 3.5,2.5 0.5 2.5)),((0 0 2,5 0 2,2.5 0.5 2.5,0 0 2)),((0.5 0.5 2.5,0 0 2,2.5 0.5 2.5,0.5 0.5 2.5)),((4.5 
 3.5 2.5,5 5 2,4.5 4.5 2.5,4.5 3.5 2.5)),((3.5 2.5 3.5,3.5 1.5 3.5,4.5 3.5 2.5,3.5 2.5 3.5)),((4.5 3.5 2.5,5 0 2,5 5 2,4.5 3.5 2.5)),((3.5 1.5 3.5,5 0 2,4.5 3.5 2.5,3.5 1.5 3.5)),((5 5 2,4 5 2,4.5 4.5 2.5,5 5 2)),((4.5 4.5 2.5,4 4 2,4.5 3.5 2.5,4.5 4.5 2.5)),((4.5 4.5 2.5,4 5 2,4 4 2,4.5 4.5 2.5)),((3 3 3,0 4 2,1 3 3,3 3 3)),((3.5 2.5 3.5,4.5 3.5 2.5,3 3 3,3.5 2.5 3.5)),((3 3 3,4 4 2,0 4 2,3 3 3)),((4.5 3.5 2.5,4 4 2,3 3 3,4.5 3.5 2.5)),((2 1 2,1 1 2,0.5 0.5 2.5,2 1 2)),((2.5 0.5 2.5,2 1 2,0.5 0.5 2.5,2.5 0.5 2.5)),((1 1 2,1 2 2,0.5 2.5 2.5,1 1 2)),((0.5 0.5 2.5,1 1 2,0.5 2.5 2.5,0.5 0.5 2.5)),((1 3 3,2 2 2,3 3 3,1 3 3)),((0.5 2.5 2.5,1 2 2,1 3 3,0.5 2.5 2.5)),((1 3 3,1 2 2,2 2 2,1 3 3)),((2 2 2,2 1 2,2.5 0.5 2.5,2 2 2)),((3.5 2.5 3.5,3 3 3,3.5 1.5 3.5,3.5 2.5 3.5)),((3.5 1.5 3.5,2 2 2,2.5 0.5 2.5,3.5 1.5 3.5)),((3 3 3,2 2 2,3.5 1.5 3.5,3 3 3)))
+Empty building and roof|POLYHEDRALSURFACE EMPTY
+Empty roof|POLYHEDRALSURFACE EMPTY
\ No newline at end of file

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/ci.yml                        |  3 +-
 NEWS                                            |  1 +
 sfcgal/lwgeom_sfcgal.c                          | 11 +++++++
 sfcgal/regress/extrudestraigthskeleton.sql      | 43 ++++++++++++++++++++++++-
 sfcgal/regress/extrudestraigthskeleton_expected |  4 ++-
 5 files changed, 59 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list