[PostGIS] #6129: Missing area with topology.ST_GetFaceGeometry('arstat_2026_overlay_02_348',101383), but alle edges seems to be prensent
PostGIS
trac at osgeo.org
Sat Sep 12 02:53:28 PDT 2026
#6129: Missing area with
topology.ST_GetFaceGeometry('arstat_2026_overlay_02_348',101383), but alle
edges seems to be prensent
--------------------------------+---------------------------
Reporter: Lars Aksel Opsahl | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.6.5
Component: topology | Version: 3.6.x
Resolution: | Keywords:
--------------------------------+---------------------------
Comment (by strk):
The outer ring is composed by 367 edges, connected by 367 nodes each of
degree 2 (every connecting node has no other edge than the 2 edges forming
the ring):
{{{
with node_edges as ( select start_node nod, edge_id from t6129.edge union
all select end_node, edge_id from t6129.edge ) select nod,
array_agg(edge_id) from node_edges where edge_id in ( select edge_id from
t6129_outer_ring_edges ) group by nod;
}}}
This is what I'd call "fully noded".
The total number of vertices for those 367 edges is 1543, when linemerged
we get a single line with 1177 vertices, which matches 1543-367+1:
{{{
strk at strk=# select sum(st_npoints(geom))-count(geom)+1 from
t6129_outer_ring_edges;
?column?
----------
1177
(1 row)
strk at strk=# select st_npoints(ST_LineMerge(ST_Collect(geom))) from
t6129_outer_ring_edges ;
st_npoints
------------
1177
(1 row)
}}}
So all seems fine.
Where's the catch ? The LineMerge output is NOT simple !
{{{
strk at strk=# select ST_IsSimple(ST_LineMerge(ST_Collect(geom))) from
t6129_outer_ring_edges ;
st_issimple
-------------
f
(1 row)
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6129#comment:13>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list