[PostGIS] #6095: add fixVertexSegmentPairsBelowDistance
PostGIS
trac at osgeo.org
Sun Jul 12 01:03:49 PDT 2026
#6095: add fixVertexSegmentPairsBelowDistance
--------------------------------+-----------------------------
Reporter: Lars Aksel Opsahl | Owner: strk
Type: enhancement | Status: new
Priority: medium | Milestone: PostGIS Fund Me
Component: topology | Version:
Resolution: | Keywords:
--------------------------------+-----------------------------
Comment (by Lars Aksel Opsahl):
Here is a simple test where a node is added, followed by a LineString
whose distance from the node is 3.858010415042921e-16. The topology was
created with a tolerance of 1e-7. I would have expected AddLineString to
return two edges, but in this example it does not.
{{{
SELECT topology.CreateTopology('test_topo', 4258,1e-7);
SELECT topology.AddNode(
'test_topo',
'0101000020A2100000777C04140DD7164009093C79AE774D40');
SELECT topology.TopoGeo_AddLineString(
'test_topo',
'0102000020A2100000AA000000784C7A3210DA1640A69DBE3CED774D40D561A39C0EDA164029F7B90FED774D4064A2F70107DA16401AF67A74EC774D40B4E65F96FED916407A873EBFEB774D4035D7FB0AFBD9164076F2A96AEB774D40593813CEE5D91640BA52EC6FE9774D40B9E7E37DD9D916403BBF2B2CE8774D40E35C6E10D7D91640F663B0EAE7774D402D32E880D2D9164071B0A56FE7774D40D6DDE5D2D1D916400BE3A34AE7774D400E4AFCCFD1D91640ACA24C2DE7774D40778F8E4FD2D91640A5B92311E7774D403C969997D3D9164045FF72F0E6774D40750A79FED4D916406E37E5DDE6774D402F58EFE1D1D916404559D78AE6774D40DA2AF8E1C3D91640B36B040EE5774D40094A75DBC1D916401C5BEDD5E4774D404D0A2EECA4D916405FF94EF3E4774D40A1349E3067D91640B463BD24E1774D40AC79FFE91ED91640BE052EFFDC774D405440AC6A07D91640233B2CB6DB774D4031A4656AF5D8164027EC1490DD774D40FCBFCD9AFCD81640B4EB6FB7DE774D40EC22792032D91640158F8BF9E0774D40D151E59033D91640EBBDF4B7E1774D400E8C24AE2DD916401568F638E3774D408ECB7FED10D91640D621CADEE3774D4095FBFB0DF4D81640A72448C7E3774D403C86B05490D81640951B1533E1774D40A352C8DD8BD81640FF7A7AD6E0774D408F1CA4A48CD816402C08772FDD774D40BE7A520BC5D8164006DC7ED5D7774D40BB925DEE90D81640734A64ECD4774D409D33D2506AD81640BC8A821DCE774D40B77DC7CA88D8164044A6AFDCCB774D4033BF0B6CCDD816400F148ED7C9774D405F54757DCBD816406E3E74A0C9774D40916E173FB1D81640235C2D9FC6774D40B6793BD792D81640682DC137C3774D40E509AA1875D8164077CD8DF6BF774D40E96420695CD81640C73DD82FBD774D4009ED847E44D816402BFD4599BA774D4026E9DB8420D81640D309CA9BB6774D4086079C2009D8164088EF55FDB3774D40C5A85C25E6D7164076DEDAF3AF774D40561193F5D6D71640A2F26759AE774D40335B766BC2D716405C73EF69AC774D40E67AFF07A6D7164047D2E021AA774D40AC4C2FC7A3D7164035874219AA774D408F5AD0D59ED71640430CB510AA774D400B3E4E1496D716400603A012AA774D40F98707958DD71640681F4619AA774D40D9FE29A787D71640962A791AAA774D40456413D582D7164098206426AA774D40BB7D1E0958D716403AB33F1BAB774D40D5632D3936D71640D77E62B2AB774D4031505AF419D71640BDFBF42FAC774D40939B57A511D71640F0254595AD774D40C32236CB0DD71640357A9517AE774D40A398A2E00AD71640FAEC8AA5AF774D40422620C80BD7164013B30FC6B6774D408B0296B320D716400CB11358C0774D4062A7C6862BD71640E033B395C9774D40C53B782D54D71640A04E37D2CC774D40BE778CF272D716406AC6E6A2CC774D409FA5E94E9DD71640D8D59F31CC774D403ED62984C0D71640A6E610E2CC774D40A9D7A352D9D716403F353F8FCF774D40AB3A9566E6D7164013AF0651D2774D40A946D6CD8CD71640263E9618D4774D40BEEC4F686AD71640D7F441A1D5774D40AECC3CB466D71640D1CFFB8AD6774D4015E2D34A81D71640007FD75DE2774D40A16DBF3382D716408D488CEADF774D40D50CCC2181D71640A59EB4A5D8774D404B0ED86F83D716408200081ED7774D40918842FED1D7164010A26F81D7774D40A12046B7EBD71640DE150671D8774D404E3EE35BFED7164063CB5D9CDB774D40B0245AE04CD816407B458CB7E0774D40F7E0D5F6A3D8164011A61BBAE3774D40307FB149FCD8164071986143EA774D40DD5596803AD91640A7CE5581EA774D40E52AD4EF53D91640473CE038EB774D40A89CC8A448D916408482E0D2EC774D40E7E8C1413DD9164004536821EE774D409DB3A3CD20D91640DADA691AEF774D40B35C14860CD9164038ACE6B6F0774D4049EC69E234D916407559EA04F3774D40BE41EEDC19D91640391D9B90F4774D4043782BE625D91640BCF9EC1DF6774D406E8C1A333DD9164083A30175F9774D40E14DD65423D91640EF746F0BFB774D40533FC522F5D8164078A41BDAFB774D40682846E3F7D816402D63F34EFC774D40FD9CEF6CF5D81640C6FD2FABFC774D409C60C1B3E9D81640EB0C8519FD774D4019BEAF87DFD816409361B43AFD774D401E77879ED7D81640E934620AFE774D40304A1104D5D8164079830396FE774D402CF08F02DAD81640D12F3B17FF774D40EF55F2A0E5D81640C9584793FF774D4070EF3350ECD816409E5FD179FF774D40868FCF84F3D8164050BBFF2BFF774D4077309FACFCD8164074142A2EFF774D4078D19CCA01D9164005B90486FF774D407452FB6412D916400BC1401B00784D40DF9A531716D91640956CC20E01784D40A508B63A07D9164073BB6A5102784D40E9ECD949FCD81640E1D96EFA02784D4065B29C6CF6D816406FE5DCAC03784D40D0EB93DEEED816402173F80404784D40791A23AFDFD81640A796DF6D03784D40D8452915DBD81640EFD715AF04784D402A995743D0D81640EFAF956106784D40074EC471CCD81640665189C906784D400D6B534FBBD81640C39A780507784D40D45A2D53A5D81640058926C207784D4020482CB071D8164071F50C1C08784D408AFF815E62D81640A55C1CD508784D40B6427C0C5BD81640240C4D9A0A784D407EB9B00F52D816401EA9AA450B784D40B73377593DD81640802962820D784D40E9A213BF3DD8164005C45E010E784D40BD048B3D46D8164045274A670E784D403F1B6B9B46D81640AABBF16A0F784D40FB624B252CD816408E68C77B11784D40CDFB25261AD816403841403513784D403D5B3C2DF2D71640B57F652914784D40C1DD065934D8164037A26ECB15784D40E970E22555D816407B10C1AE14784D4080E3BA3369D81640822736E813784D401940861A74D81640167FCC0A12784D403A9361396BD816404F072D9810784D40FFABE3AD6AD81640548ECB550F784D40D9B107BE6ED81640C82ADD9B0E784D40D8216C6277D81640ADBE33BC0D784D409A02E33795D816409D8BF7810C784D40B2A662DB97D81640DE093EAD0B784D40778881DEB0D81640C3B8F69809784D40DA3E367EB8D81640D8E4737609784D40FE97EDCDCBD81640CFE9A5F108784D407EBC883AD9D816402503C55F08784D40F1994F7BEFD81640A343D54807784D4098EB093512D91640FB6C7E9306784D4064B0BCE717D916406506B91806784D40895B426632D916407DCD935607784D408D5E4E0435D916401B27840307784D4006F36F0958D916406205DA7F05784D401C64576467D916405ED4CB8105784D402BF7832261D916402AF7B3BE04784D4063A8F4365ED91640F0E7317304784D40490A3AF45AD9164052BC083E04784D40AD77793D55D916402BB8131103784D407EE1727556D91640BC970D2002784D4039BA26BF64D91640D9F7CA5101784D401B4950B877D91640959E988600784D40AFC095687DD9164099CBB95B00784D4055428E3495D91640B6F4D06900784D402C80576FB4D91640D9D55BBAFE774D406314ED41E3D916400D702556FD774D407D348B04E1D91640DA350F91FC774D40EBDE4130E2D916401A37C0A0FB774D40C158F274E5D91640E1F2CF72FA774D40ACC7D86AF7D916408B67774AF8774D40D140EEDAECD91640C6D86E8EF7774D40B04CF3AD07DA164097431314F2774D402CD2F40C14DA1640E45881F5EF774D401457590E1FDA1640D51CB1ACEE774D40784C7A3210DA1640A69DBE3CED774D40',
-1
);
}}}
and returns only node
{{{
addnode
---------
1
(1 row)
topogeo_addlinestring
-----------------------
1
(1 row)
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6095#comment:7>
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