<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<p style="font-family: Calibri; font-size: 11pt;">One off the difference between using Postgis Topology and tools like triangulatio, makevalid is that you get persistent db structure where you check for how lines are used like checking  like testing left_face
 = right_face. </p>
<p style="font-family: Calibri; font-size: 11pt;"><br>
</p>
<p style="font-family: Calibri; font-size: 11pt;">The input may be valid but we still like remove tiny gaps and overlaps across multiple big layers.  We also get back the ref to original attributes in a view poiting to the input tables .</p>
<p style="font-family: Calibri; font-size: 11pt;"><br>
</p>
<p style="font-family: Calibri; font-size: 11pt;" class="ContentPasted0">In Postgis Topology we also have methods like
<a href="https://postgis.net/docs/ValidateTopology.html" id="LPlnk566625">https://postgis.net/docs/ValidateTopology.html</a> to check more in details on the result.</p>
<p style="font-family: Calibri; font-size: 11pt;" class="ContentPasted0"><br>
</p>
<p style="font-family: Calibri; font-size: 11pt;" class="ContentPasted0">Thanks.</p>
<p style="font-family: Calibri; font-size: 11pt;" class="ContentPasted0"><br>
</p>
<p style="font-family: Calibri; font-size: 11pt;">Lars<br>
</p>
<p style="font-family: Calibri; font-size: 11pt;"><br>
</p>
<p style="font-family: Calibri; font-size: 11pt;"><br>
</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%" class="elementToProof">
<div id="divRplyFwdMsg" dir="ltr" class="elementToProof"><font style="font-size: 11pt; color: rgb(0, 0, 0);" face="Calibri, sans-serif"><b>From:</b> Incubator <incubator-bounces@lists.osgeo.org> on behalf of Brian M Hamlin <maplabs@light42.com><br>
</font></div>
<div dir="ltr"><font style="font-size: 11pt; color: rgb(0, 0, 0);" face="Calibri, sans-serif"><b>Sent:</b> Wednesday, July 5, 2023 7:27 AM<br>
<b>To:</b> incubator@lists.osgeo.org <incubator@lists.osgeo.org><br>
<b>Subject:</b> Re: [Incubator] Resolve overlap and gap in Simple feature by using Postgis Topology</font>
<div> </div>
</div>
<div>Hi -<br>
 > > you are proposing two things that are not related in any way?<br>
<br>
  methods for gap / overlap fixing with triangulation are well studied<br>
<br>
  e.g.<br>
<br>
  A triangulation-based approach to automatically repair GIS polygons.<br>
Hugo Ledoux, Ken Arroyo Ohori and Martijn Meijers. Computers &<br>
Geosciences 66, May 2014, pp. 121–131. ISSN: 0098-3004.<br>
doi: 10.1016/j.cageo.2014.01.009<br>
<br>
Related source code is available at<br>
https://github.com/tudelft3d/prepair<br>
<br>
<br>
 hth   --Brian M Hamlin    /  MAPLABS  /  OSGeoLive PSC<br>
<br>
  <img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=1&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=2&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=3&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=4&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=5&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=6&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=7&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=8&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=9&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=10&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd"></div>
<div id="appendonsend"></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size: 11pt; color: rgb(0, 0, 0);" face="Calibri, sans-serif"><b>From:</b> Incubator <incubator-bounces@lists.osgeo.org> on behalf of Brian M Hamlin <maplabs@light42.com><br>
<b>Sent:</b> Wednesday, July 5, 2023 7:27 AM<br>
<b>To:</b> incubator@lists.osgeo.org <incubator@lists.osgeo.org><br>
<b>Subject:</b> Re: [Incubator] Resolve overlap and gap in Simple feature by using Postgis Topology</font>
<div> </div>
</div>
<div>Hi -<br>
 > > you are proposing two things that are not related in any way?<br>
<br>
  methods for gap / overlap fixing with triangulation are well studied<br>
<br>
  e.g.<br>
<br>
  A triangulation-based approach to automatically repair GIS polygons.<br>
Hugo Ledoux, Ken Arroyo Ohori and Martijn Meijers. Computers &<br>
Geosciences 66, May 2014, pp. 121–131. ISSN: 0098-3004.<br>
doi: 10.1016/j.cageo.2014.01.009<br>
<br>
Related source code is available at<br>
https://github.com/tudelft3d/prepair<br>
<br>
<br>
 hth   --Brian M Hamlin    /  MAPLABS  /  OSGeoLive PSC<br>
<br>
  <img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=1&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=2&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=3&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=4&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=5&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=6&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=7&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=8&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=9&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd">
<img style="display:none; overflow:hidden" width="1" height="1" border="0" src="https://pippio.com/api/sync?pid=8483&_=10&it=4&iv=f7e6a0cd4674c4340485dba9d58e9313&it=4&iv=18cc016db9ea68f0df92662fc4d258ba50cbfeca&it=4&iv=07dc997086b1138daefa2b3fc3b9d2d94e5c6e8043e7b42501c5579aa80863dd"></div>
</body>
</html>