[PostGIS] #5786: Side-location conflict: new edge starts in face 42 and ends in face 10

PostGIS trac at osgeo.org
Fri Oct 4 03:06:45 PDT 2024


#5786: Side-location conflict: new edge starts in face 42 and ends in face 10
--------------------------------+---------------------------
  Reporter:  Lars Aksel Opsahl  |      Owner:  strk
      Type:  defect             |     Status:  new
  Priority:  medium             |  Milestone:  PostGIS 3.5.1
 Component:  topology           |    Version:  master
Resolution:                     |   Keywords:  robustness
--------------------------------+---------------------------
Comment (by strk):

 PostGIS, SFCGAL and GEOS all agree about the fact that the ring formed by
 the snapped edges changes orientation:
 {{{
 #
 # Before snap
 #

 # A = LINESTRING(11.812075769533624 59.77938755222866,11.811862389533625
 59.77938237222866)
 A=010200000002000000BA0A3065C89F2740A5DDA7F8C2E34D4075CC576DAC9F274087E633CDC2E34D40
 # B = LINESTRING(11.811862389533625 59.77938237222866,11.811969079533624
 59.77938496222866,11.812075769533624 59.77938755222866)
 B=01020000000300000075CC576DAC9F274087E633CDC2E34D4097EB4369BA9F274016E2EDE2C2E34D40BA0A3065C89F2740A5DDA7F8C2E34D40

 #
 # PAB = POLYGON((11.812075769533624 59.77938755222866,11.811862389533625
 59.77938237222866,11.811969079533624 59.77938496222866,11.812075769533624
 59.77938755222866))
 # CW according to CG_Orientation and ST_IsPolygonCW and GEOS
 !Orientation::isCCW
 #
 PAB=01030000000100000004000000BA0A3065C89F2740A5DDA7F8C2E34D4075CC576DAC9F274087E633CDC2E34D4097EB4369BA9F274016E2EDE2C2E34D40BA0A3065C89F2740A5DDA7F8C2E34D40


 #
 # After snap
 #
 # A1 = LINESTRING(11.812029186127067 59.7793864213727,11.811862389533625
 59.77938237222866)
 A1=01020000000200000062A01B4AC29F2740015F2BEFC2E34D4075CC576DAC9F274087E633CDC2E34D40
 # B1 = LINESTRING(11.811862389533625 59.77938237222866,11.811969079533624
 59.77938496222866,11.812029186127067 59.7793864213727)
 B1=01020000000300000075CC576DAC9F274087E633CDC2E34D4097EB4369BA9F274016E2EDE2C2E34D4062A01B4AC29F2740015F2BEFC2E34D40

 #
 # PA1B1 = POLYGON((11.812029186127067 59.7793864213727,11.811862389533625
 59.77938237222866,11.811969079533624 59.77938496222866,11.812029186127067
 59.7793864213727))
 # CCW according to CG_Orientation and ST_IsPolygonCCW and GEOS
 Orientation::isCCW
 #
 PA1B1=0103000000010000000400000062A01B4AC29F2740015F2BEFC2E34D4075CC576DAC9F274087E633CDC2E34D4097EB4369BA9F274016E2EDE2C2E34D4062A01B4AC29F2740015F2BEFC2E34D40
 }}}

 I don't understand how this is possible
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5786#comment:17>
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