<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ITopologicalOperator.IsSimple() behavior in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/itopologicaloperator-issimple-behavior/m-p/309375#M8077</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to use ITopologicalOperator.IsSimple() on Polylines geometry to determine if it doesn’t have any self intersection. However, i don’t understand the behaviour of this function, more specifically i don’t understand the behaviour of the flag isKnownSimple used by the function isSimple.&lt;/P&gt;&lt;P&gt;Why is this flag setted to true when a geometry comes from a feature class&amp;nbsp;(&lt;A href="http://resources.esri.com/help/9.3/ArcGISServer/apis/ArcObjects/esriGeometry/ITopologicalOperator_IsKnownSimple.htm"&gt;http://resources.esri.com/help/9.3/ArcGISServer/apis/ArcObjects/esriGeometry/ITopologicalOperator_IsKnownSimple.htm&lt;/A&gt;) ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As an exemple, i create a Polyline with non simple geometry, i test it with isSimple, the result is false. I save the Polyline on my database, i retreive it and i use isSimple again and the result magically changed to true. I assume this is explained by the IsKnownSimple is at true when an object comes from the database, but why…&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see two possibilities&amp;nbsp;:&lt;/P&gt;&lt;P&gt;1) The geometry is modified to a simple geometry when we save it in the database.&lt;/P&gt;&lt;P&gt;2) The geometry from the database is supposed to be simple&lt;/P&gt;&lt;P&gt;The first possibility would be a problem as my geometry is modified.&lt;/P&gt;&lt;P&gt;The second possibility is also a problem as i can’t test any of the geometry currently in my database as the isSimple function will always return true.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So i got some questions&amp;nbsp;:&lt;/P&gt;&lt;P&gt;Is there something i didn’t understood on the behaviour of the isSimple function&amp;nbsp;?&lt;/P&gt;&lt;P&gt;Is there any mean to test the correctness of the geometry (including those coming from the database) using ESRI’s framework&amp;nbsp;?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;By the way, i can’t use simplify() as i can’t change my geometry.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Dec 2019 08:53:55 GMT</pubDate>
    <dc:creator>SilvioDa_Silva</dc:creator>
    <dc:date>2019-12-17T08:53:55Z</dc:date>
    <item>
      <title>ITopologicalOperator.IsSimple() behavior</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/itopologicaloperator-issimple-behavior/m-p/309375#M8077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to use ITopologicalOperator.IsSimple() on Polylines geometry to determine if it doesn’t have any self intersection. However, i don’t understand the behaviour of this function, more specifically i don’t understand the behaviour of the flag isKnownSimple used by the function isSimple.&lt;/P&gt;&lt;P&gt;Why is this flag setted to true when a geometry comes from a feature class&amp;nbsp;(&lt;A href="http://resources.esri.com/help/9.3/ArcGISServer/apis/ArcObjects/esriGeometry/ITopologicalOperator_IsKnownSimple.htm"&gt;http://resources.esri.com/help/9.3/ArcGISServer/apis/ArcObjects/esriGeometry/ITopologicalOperator_IsKnownSimple.htm&lt;/A&gt;) ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As an exemple, i create a Polyline with non simple geometry, i test it with isSimple, the result is false. I save the Polyline on my database, i retreive it and i use isSimple again and the result magically changed to true. I assume this is explained by the IsKnownSimple is at true when an object comes from the database, but why…&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see two possibilities&amp;nbsp;:&lt;/P&gt;&lt;P&gt;1) The geometry is modified to a simple geometry when we save it in the database.&lt;/P&gt;&lt;P&gt;2) The geometry from the database is supposed to be simple&lt;/P&gt;&lt;P&gt;The first possibility would be a problem as my geometry is modified.&lt;/P&gt;&lt;P&gt;The second possibility is also a problem as i can’t test any of the geometry currently in my database as the isSimple function will always return true.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So i got some questions&amp;nbsp;:&lt;/P&gt;&lt;P&gt;Is there something i didn’t understood on the behaviour of the isSimple function&amp;nbsp;?&lt;/P&gt;&lt;P&gt;Is there any mean to test the correctness of the geometry (including those coming from the database) using ESRI’s framework&amp;nbsp;?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;By the way, i can’t use simplify() as i can’t change my geometry.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2019 08:53:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/itopologicaloperator-issimple-behavior/m-p/309375#M8077</guid>
      <dc:creator>SilvioDa_Silva</dc:creator>
      <dc:date>2019-12-17T08:53:55Z</dc:date>
    </item>
  </channel>
</rss>

