[SCM] PostGIS branch stable-3.5 updated. 3.5.0-9-g319935310

git at osgeo.org git at osgeo.org
Thu Oct 10 08:19:36 PDT 2024


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  31993531006d95721bed3328d0d511e9d91f102e (commit)
      from  77eddb114e21ec0b7eba2b5caa496d7e864ef247 (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 31993531006d95721bed3328d0d511e9d91f102e
Author: Sandro Santilli <strk at kbt.io>
Date:   Wed Oct 9 10:49:21 2024 +0200

    Fix more debug formats, add more TODO comments

diff --git a/liblwgeom/topo/lwgeom_topo.c b/liblwgeom/topo/lwgeom_topo.c
index 38721c222..bfdcf137e 100644
--- a/liblwgeom/topo/lwgeom_topo.c
+++ b/liblwgeom/topo/lwgeom_topo.c
@@ -984,7 +984,7 @@ _lwt_EdgeSplit( LWT_TOPOLOGY* topo, LWT_ELEMID edge, LWPOINT* pt, int skipISOChe
   LWDEBUGG(2, lwline_as_lwgeom(oldedge[0]->geom), "Edge to be split");
   if ( ! *oldedge )
   {
-    LWDEBUGF(1, "lwt_be_getEdgeById returned NULL and set i=%d", i);
+    LWDEBUGF(1, "lwt_be_getEdgeById returned NULL and set i=%lu", i);
     if (i == UINT64_MAX)
     {
       PGTOPO_BE_ERROR();
@@ -1563,7 +1563,7 @@ _lwt_FindAdjacentEdges( LWT_TOPOLOGY* topo, LWT_ELEMID node, edgeend *data,
     return 0;
   }
 
-  LWDEBUGF(1, "getEdgeByNode returned %d edges, minaz=%g, maxaz=%g",
+  LWDEBUGF(1, "getEdgeByNode returned %lu edges, minaz=%g, maxaz=%g",
               numedges, minaz, maxaz);
 
   /* For each incident edge-end (1 or 2): */
@@ -1829,7 +1829,7 @@ _lwt_MakeRingShell(LWT_TOPOLOGY *topo, LWT_ELEMID *signed_edge_ids, uint64_t num
   for ( i=0; i<num_signed_edge_ids; ++i )
   {
     LWT_ELEMID eid = signed_edge_ids[i];
-    LWDEBUGF(2, "Edge %d in ring is edge %" LWTFMT_ELEMID, i, eid);
+    LWDEBUGF(2, "Edge %lu in ring is edge %" LWTFMT_ELEMID, i, eid);
     LWT_ISO_EDGE *edge = NULL;
     POINTARRAY *epa;
     for ( j=0; j<numedges; ++j )
@@ -1918,7 +1918,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
     PGTOPO_BE_ERROR();
     return -2;
   }
-  LWDEBUGF(1, "getRingEdges returned %d edges", num_signed_edge_ids);
+  LWDEBUGF(1, "getRingEdges returned %lu edges", num_signed_edge_ids);
 
   /* You can't get to the other side of an edge forming a ring */
   for (i=0; i<num_signed_edge_ids; ++i) {
@@ -2085,7 +2085,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
     PGTOPO_BE_ERROR();
     return -2;
   }
-  LWDEBUGF(1, "_lwt_AddFaceSplit: lwt_be_getEdgeByFace(%d) returned %d edges", face, numfaceedges);
+  LWDEBUGF(1, "_lwt_AddFaceSplit: lwt_be_getEdgeByFace(%" LWTFMT_ELEMID ") returned %lu edges", face, numfaceedges);
 
   if ( numfaceedges )
   {
@@ -2109,7 +2109,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
         if ( seid == e->edge_id )
         {
           /* IDEA: remove entry from signed_edge_ids, to speed next loop ? */
-          LWDEBUGF(1, "Edge %d is a known forward edge of the new ring", e->edge_id);
+          LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " is a known forward edge of the new ring", e->edge_id);
           forward_edges[forward_edges_count].edge_id = e->edge_id;
           forward_edges[forward_edges_count++].face_left = newface.face_id;
           found++;
@@ -2118,7 +2118,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
         else if ( -seid == e->edge_id )
         {
           /* IDEA: remove entry from signed_edge_ids, to speed next loop ? */
-          LWDEBUGF(1, "Edge %d is a known backward edge of the new ring", e->edge_id);
+          LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " is a known backward edge of the new ring", e->edge_id);
           backward_edges[backward_edges_count].edge_id = e->edge_id;
           backward_edges[backward_edges_count++].face_right = newface.face_id;
           found++;
@@ -2126,7 +2126,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
         }
       }
       if ( found ) continue;
-      LWDEBUGF(1, "Edge %d is not a known edge of the new ring", e->edge_id);
+      LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " is not a known edge of the new ring", e->edge_id);
 
       /* Check if the edge is now binding a different face */
 
@@ -2145,7 +2145,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
        *       shellbox to do it here */
       contains = ptarray_contains_point(pa, &ep);
 
-      LWDEBUGF(1, "Edge %d first point %s new ring",
+      LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " first point %s new ring",
           e->edge_id, (contains == LW_INSIDE ? "inside" :
            contains == LW_OUTSIDE ? "outside" : "on boundary of"));
 
@@ -2154,7 +2154,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       {
         if ( contains != LW_OUTSIDE )
         {
-          LWDEBUGF(1, "Edge %d not outside of the new ring, not updating it",
+          LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " not outside of the new ring, not updating it",
                       e->edge_id);
           continue;
         }
@@ -2163,7 +2163,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       {
         if ( contains != LW_INSIDE )
         {
-          LWDEBUGF(1, "Edge %d not inside the new ring, not updating it",
+          LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " not inside the new ring, not updating it",
                       e->edge_id);
           continue;
         }
@@ -2172,7 +2172,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       /* (2.3) push to forward_edges if left_face = oface */
       if ( e->face_left == face )
       {
-        LWDEBUGF(1, "Edge %d has new face on the left side", e->edge_id);
+        LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " has new face on the left side", e->edge_id);
         forward_edges[forward_edges_count].edge_id = e->edge_id;
         forward_edges[forward_edges_count++].face_left = newface.face_id;
       }
@@ -2180,7 +2180,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       /* (2.4) push to backward_edges if right_face = oface */
       if ( e->face_right == face )
       {
-        LWDEBUGF(1, "Edge %d has new face on the right side", e->edge_id);
+        LWDEBUGF(1, "Edge %" LWTFMT_ELEMID " has new face on the right side", e->edge_id);
         backward_edges[backward_edges_count].edge_id = e->edge_id;
         backward_edges[backward_edges_count++].face_right = newface.face_id;
       }
@@ -2253,14 +2253,14 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       LWT_ISO_NODE *n = &(nodes[i]);
       const POINT2D *pt = getPoint2d_cp(n->geom->point, 0);
       int contains = ptarray_contains_point(pa, pt) == LW_INSIDE;
-      LWDEBUGF(1, "Node %d is %scontained in new ring, newface is %s",
+      LWDEBUGF(1, "Node %" LWTFMT_ELEMID " is %scontained in new ring, newface is %s",
                   n->node_id, contains ? "" : "not ",
                   newface_outside ? "outside" : "inside" );
       if ( newface_outside )
       {
         if ( contains )
         {
-          LWDEBUGF(1, "Node %d contained in an hole of the new face",
+          LWDEBUGF(1, "Node %" LWTFMT_ELEMID " contained in an hole of the new face",
                       n->node_id);
           continue;
         }
@@ -2269,7 +2269,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       {
         if ( ! contains )
         {
-          LWDEBUGF(1, "Node %d not contained in the face shell",
+          LWDEBUGF(1, "Node %" LWTFMT_ELEMID " not contained in the face shell",
                       n->node_id);
           continue;
         }
@@ -2277,7 +2277,7 @@ _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,
       updated_nodes[nodes_to_update].node_id = n->node_id;
       updated_nodes[nodes_to_update++].containing_face =
                                        newface.face_id;
-      LWDEBUGF(1, "Node %d will be updated", n->node_id);
+      LWDEBUGF(1, "Node %" LWTFMT_ELEMID " will be updated", n->node_id);
     }
     _lwt_release_nodes(nodes, numisonodes);
     if ( nodes_to_update )
@@ -2324,8 +2324,8 @@ _lwt_AddEdge( LWT_TOPOLOGY* topo,
   uint64_t num_nodes;
   LWT_ISO_NODE *endpoints;
   uint64_t i;
-  int prev_left;
-  int prev_right;
+  LWT_ELEMID prev_left;
+  LWT_ELEMID prev_right;
   LWT_ISO_EDGE seledge;
   LWT_ISO_EDGE updedge;
 
@@ -2429,7 +2429,8 @@ _lwt_AddEdge( LWT_TOPOLOGY* topo,
       }
     }
 
-    LWDEBUGF(1, "Node %d, with geom %p (looking for %d and %d)",
+    LWDEBUGF(1, "Node %" LWTFMT_ELEMID ", with geom %p (looking for %"
+             LWTFMT_ELEMID " and %" LWTFMT_ELEMID ")",
              node->node_id, node->geom, start_node, end_node);
     if ( node->node_id == start_node ) {
       start_node_geom = node->geom;
@@ -2874,7 +2875,7 @@ lwt_GetFaceGeometry(LWT_TOPOLOGY* topo, LWT_ELEMID faceid)
     PGTOPO_BE_ERROR();
     return NULL;
   }
-  LWDEBUGF(1, "lwt_GetFaceGeometry: lwt_be_getEdgeByFace returned %d edges", numfaceedges);
+  LWDEBUGF(1, "lwt_GetFaceGeometry: lwt_be_getEdgeByFace returned %lu edges", numfaceedges);
 
   if ( numfaceedges == 0 )
   {
@@ -3122,7 +3123,7 @@ lwt_GetFaceEdges(LWT_TOPOLOGY* topo, LWT_ELEMID face_id, LWT_ELEMID **out )
     return -1;
   }
   if ( ! numfaceedges ) return 0; /* no edges in output */
-  LWDEBUGF(1, "lwt_GetFaceEdges: lwt_be_getEdgeByFace returned %d edges", numfaceedges);
+  LWDEBUGF(1, "lwt_GetFaceEdges: lwt_be_getEdgeByFace returned %lu edges", numfaceedges);
 
   /* order edges by occurrence in face */
 
@@ -3283,7 +3284,7 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
   if ( ! oldedge )
   {
     LWDEBUGF(1, "lwt_ChangeEdgeGeom: "
-                "lwt_be_getEdgeById returned NULL and set i=%d", i);
+                "lwt_be_getEdgeById returned NULL and set i=%lu", i);
     if (i == UINT64_MAX)
     {
       PGTOPO_BE_ERROR();
@@ -3400,7 +3401,7 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
   uint64_t numnodes;
   nodes = lwt_be_getNodeWithinBox2D(topo, &mbox, &numnodes,
                                           LWT_COL_NODE_ALL, 0);
-  LWDEBUGF(1, "lwt_be_getNodeWithinBox2D returned %d nodes", numnodes);
+  LWDEBUGF(1, "lwt_be_getNodeWithinBox2D returned %lu nodes", numnodes);
   if (numnodes == UINT64_MAX)
   {
     _lwt_release_edges(oldedge, 1);
@@ -3483,7 +3484,7 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
       PGTOPO_BE_ERROR();
       return -1;
     }
-    LWDEBUGF(1, "getRingEdges returned %d edges", num_signed_edge_ids);
+    LWDEBUGF(1, "getRingEdges returned %lu edges", num_signed_edge_ids);
 
     shell = _lwt_MakeRingShell(topo, signed_edge_ids, num_signed_edge_ids);
     if ( ! shell ) {
@@ -3587,7 +3588,7 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
       PGTOPO_BE_ERROR();
       return -1;
     }
-    LWDEBUGF(1, "getRingEdges returned %d edges", num_signed_edge_ids);
+    LWDEBUGF(1, "getRingEdges returned %lu edges", num_signed_edge_ids);
 
     shell = _lwt_MakeRingShell(topo, signed_edge_ids, num_signed_edge_ids);
     if ( ! shell ) {
@@ -3668,7 +3669,7 @@ lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE *geom)
       /* ownership transferred to faces[] */
       faces[facestoupdate++].mbr = updatedBox;
     }
-    LWDEBUGF(1, "%d faces to update", facestoupdate);
+    LWDEBUGF(1, "%lu faces to update", facestoupdate);
     if ( facestoupdate )
     {
       uint64_t updatedFaces = lwt_be_updateFacesById(topo, &(faces[0]), facestoupdate);
@@ -4005,7 +4006,7 @@ _lwt_RemEdge( LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, int modFace )
   edge = lwt_be_getEdgeById(topo, &edge_id, &i, LWT_COL_EDGE_ALL);
   if (!edge)
   {
-    LWDEBUGF(1, "lwt_be_getEdgeById returned NULL and set i=%d", i);
+    LWDEBUGF(1, "lwt_be_getEdgeById returned NULL and set i=%lu", i);
     if (i == UINT64_MAX)
     {
       PGTOPO_BE_ERROR();
@@ -4119,7 +4120,7 @@ _lwt_RemEdge( LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, int modFace )
       return -1;
     }
   }
-  LWDEBUGF(1, "releasing %d updateable edges in %p", nedges, upd_edge);
+  LWDEBUGF(1, "releasing %lu updateable edges in %p", nedges, upd_edge);
   lwfree(upd_edge);
 
   /* Id of face that will take up all the space previously
@@ -5229,7 +5230,7 @@ _lwt_SnapEdgeToExistingNode(
   }
   LWT_NODE_EDGES *splitNodeEdges = lwt_nodeEdges_loadFromDB(topo, node->node_id, LWT_COL_EDGE_ALL);
   if ( ! splitNodeEdges ) {
-    lwerror("No edges found in DB to be incident to split node first node");
+    lwerror("No edges found in DB to be incident to split node");
     return -1;
   }
 
@@ -5384,6 +5385,8 @@ _lwt_SnapEdgeToExistingNode(
   if ( ( replacedBy[0] != 0 && replacedBy[1] == 0 ) ||
        ( replacedBy[1] != 0 && replacedBy[0] == 0 ) )
   {
+    /* One side of the snapped edge collapsed to an existing edge */
+
     LWT_ISO_EDGE *existingEdge;
     edgeend *splitNodeEdgeEndInfo;
     LWLINE *newSplitEdgeLine;
@@ -5407,6 +5410,7 @@ _lwt_SnapEdgeToExistingNode(
     }
 
     /* TODO: check that newSplitEdgeLine part does not crosses any other edge ? */
+    /* TODO: check that newSplitEdgeLine retains its position in the edge end star (see ticket #5786) */
 
     LWDEBUGF(1, "Existing edge %"
         LWTFMT_ELEMID " (post-modEdgeSplit) next_right:%"

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

Summary of changes:
 liblwgeom/topo/lwgeom_topo.c | 64 +++++++++++++++++++++++---------------------
 1 file changed, 34 insertions(+), 30 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list