<?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 Re: Area of overlap between two polygons in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273433#M6992</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;All of the polygons in your export_output_3 shapefile have a negative area.&amp;nbsp; ArcGIS will consider these polygons "holes".&amp;nbsp; The area is negative because the polygons were created in the wrong direction.&amp;nbsp; You can fix the problem by looping through all of the features, getting the shape as IPolygon, calling IPolygon.ReverseOrientation, and setting the updated geometries back to the features.&amp;nbsp; You could also put a check into your current code to look at the area prior to performing the Intersect and reverse the orientation of the polygon if the area is negative.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Jan 2012 20:07:24 GMT</pubDate>
    <dc:creator>NeilClemmons</dc:creator>
    <dc:date>2012-01-27T20:07:24Z</dc:date>
    <item>
      <title>Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273424#M6983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to calculate the area (square feet) of overlap (intersection) of polygons in two shapefiles.&amp;nbsp; Layer 1 has only one polygon.&amp;nbsp; Layer two has many and I know that all of them intersect with the polygon in layer 1.&amp;nbsp; I am trying to calculate the area of the overlap.&amp;nbsp; My code loops through every feature in layer 2 and intersects it with the polygon in Layer 1 using iTopologicalOperator6.IntersectEx.&amp;nbsp; The problem is that the area it calculates is zero for most of the features.&amp;nbsp; It only gets an area for some.&amp;nbsp; As I mentioned, in reality, all polygons intersect.&amp;nbsp; My code is attached.&amp;nbsp; I verified that the loop is getting all features, so it seems the function using the .intersectex method has a problem.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help is appreciated.&amp;nbsp; Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Justin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;Protected Overrides Sub OnClick() &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap = My.ArcMap.Document.FocusMap &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFLIndex As IFeatureLayer = pMap.Layer(0) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFLSections As IFeatureLayer = pMap.Layer(1)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'get selected features from Sections &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFeatSel As IFeatureSelection = pFLSections &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pSelFeats As ISelectionSet = pFeatSel.SelectionSet&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'MsgBox(pSelFeats.Count)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get feature from Index Layer &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pIndexFeature As IFeature = Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pCursor As ICursor = pFLIndex.Search(Nothing, False)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pIndexFeature = pCursor.NextRow&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'MsgBox(pBufFeature.OID &amp;amp; "&amp;nbsp; " &amp;amp; pIndexFeature.OID)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Loop through features in Buffered sections and calculate overlap sq ft &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pCur As IFeatureCursor = Nothing&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBufFeature As IFeature = Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSelFeats.Search(Nothing, False, pCur)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature = pCur.NextFeature&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do Until pBufFeature Is Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dblOverLap As Double = GetArea(pBufFeature, pIndexFeature) 'Calls function&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature.Value(10) = dblOverLap &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature.Store()&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature = pCur.NextFeature &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My.ArcMap.Document.ActiveView.Refresh()&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.ToString &amp;amp; vbCr &amp;amp; vbCr &amp;amp; ex.Message) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My.ArcMap.Application.CurrentTool = Nothing&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function GetArea(ByVal FeatureA As IFeature, ByVal FeatureB As IFeature) As Double&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim SourceArea As IArea &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TargetArea As IArea &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TopoOp As ITopologicalOperator6 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim IntersectArea As IArea&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SourceArea = FeatureA.ShapeCopy 'FeatureA and FeatureB are the polygons to be checked for overlap &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TargetArea = FeatureB.ShapeCopy&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopoOp = TargetArea&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntersectArea = TopoOp.IntersectEx(SourceArea, False, ESRI.ArcGIS.Geometry.esriGeometryDimension.esriGeometry2Dimension) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetArea = IntersectArea.Area '/ SourceArea.Area) * 100 'returns the percentage of first polygon which overlaps second polygon&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SourceArea = Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TargetArea = Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopoOp = Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntersectArea = Nothing&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 15:18:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273424#M6983</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2012-01-26T15:18:42Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273425#M6984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Do both geometries have the same spatial reference?&amp;nbsp; If not, then you should project one geometry into the spatial reference of the other before calling Intersect.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 16:19:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273425#M6984</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2012-01-26T16:19:33Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273426#M6985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes.&amp;nbsp; Spatial references are identical.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 16:34:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273426#M6985</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2012-01-26T16:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273427#M6986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Any reason for using IntesectEx on ITopologicalOperator6 rather than Intersect of ITopologicalOperator?&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Another thing, in your search cursor for the layer 2, if you create a spatial filter with intersect relationship with the layer 1 geometry (single polygon), are you getting all the features you expect?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 19:20:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273427#M6986</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2012-01-26T19:20:22Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273428#M6987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Any reason for using IntesectEx on ITopologicalOperator6 rather than Intersect of ITopologicalOperator?&amp;nbsp; &lt;BR /&gt;Another thing, in your search cursor for the layer 2, if you create a spatial filter with intersect relationship with the layer 1 geometry (single polygon), are you getting all the features you expect?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried both IntersectEx of ITopologicalOperator6 and Intersect of ITopoligicalOperator and they produced the same results.&amp;nbsp; I was just getting the feature selection, but I tried your test and yes SpatialFilter intersect relationship will get all the features I expected.&amp;nbsp; So, the spatial filter recognizes there is an intersection, but topological operator does not.&amp;nbsp; Is there another interface that will get the geometry so i can calculate area?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 19:56:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273428#M6987</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2012-01-26T19:56:15Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273429#M6988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is a shot in the dark but if you use ITopologicalOperator2 to set isKnownSimple_2 to false and then call simplify on the result geometry of the intersect, do you get an area?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 11:53:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273429#M6988</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2012-01-27T11:53:13Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273430#M6989</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is getting interesting.&amp;nbsp; Can you please share your data?&amp;nbsp; Not necessary all the features, just some that overlap but not generating area after the call.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 13:48:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273430#M6989</guid>
      <dc:creator>WeifengHe</dc:creator>
      <dc:date>2012-01-27T13:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273431#M6990</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;No.&amp;nbsp; I tried the simplify work around as well.&amp;nbsp; If I run the intersect geoprocessing tool in ArcMap same results.&amp;nbsp; Only gets some of the features.&amp;nbsp; I don't get why a select by location in ArcMap will get all of the intersecting features and programmatically a spatial filter will get them too, yet I can't get all the intersections in the GUI or through code with the intersect tools.&amp;nbsp; I have to do this for several datasets each containing several hundred intersecting polygons.&amp;nbsp; Maybe its just someting with this test dataset I am using?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 14:39:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273431#M6990</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2012-01-27T14:39:18Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273432#M6991</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;This is getting interesting.&amp;nbsp; Can you please share your data?&amp;nbsp; Not necessary all the features, just some that overlap but not generating area after the call.&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Sure.&amp;nbsp; With this set both my code, and the intersect tool find only one of 11 to be an intersecting polygon. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Latest Code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Protected Overrides Sub OnClick()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap = My.ArcMap.Document.FocusMap
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFLIndex As IFeatureLayer = pMap.Layer(0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFLSections As IFeatureLayer = pMap.Layer(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFCSections As IFeatureClass = pFLSections.FeatureClass

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get feature from Index Layer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pIndexFeature As IFeature = Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pCursor As ICursor = pFLIndex.Search(Nothing, False)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pIndexFeature = pCursor.NextRow

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'MsgBox(pBufFeature.OID &amp;amp; "&amp;nbsp; " &amp;amp; pIndexFeature.OID)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pSpatialFilter As New SpatialFilter
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSpatialFilter.Geometry = pIndexFeature.Shape
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pSelSet As ISelectionSet = pFCSections.Select(pSpatialFilter, esriSelectionType.esriSelectionTypeIDSet, esriSelectionOption.esriSelectionOptionNormal, Nothing)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(pSelSet.Count)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'get selected features from Sections
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Dim pFeatSel As IFeatureSelection = pFLSections
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Dim pSelFeats As ISelectionSet = pFeatSel.SelectionSet

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'MsgBox(pSelFeats.Count)


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Loop through features in Buffered sections and calculate overlap sq ft
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pCur As IFeatureCursor = Nothing

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pBufFeature As IFeature = Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSelSet.Search(Nothing, False, pCur)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature = pCur.NextFeature

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do Until pBufFeature Is Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dblOverLap As Double = GetArea(pBufFeature, pIndexFeature) 'Calls function 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature.Value(10) = dblOverLap
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature.Store()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pBufFeature = pCur.NextFeature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My.ArcMap.Document.ActiveView.Refresh()


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.ToString &amp;amp; vbCr &amp;amp; vbCr &amp;amp; ex.Message)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My.ArcMap.Application.CurrentTool = Nothing

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function GetArea(ByVal FeatureA As IFeature, ByVal FeatureB As IFeature) As Double

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim SourceArea As IArea
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TargetArea As IArea
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TopoOp As ITopologicalOperator
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim IntersectArea As IArea

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SourceArea = FeatureA.ShapeCopy 'FeatureA and FeatureB are the polygons to be checked for overlap
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TargetArea = FeatureB.ShapeCopy

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopoOp = TargetArea


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TopoOp2 As ITopologicalOperator2 = TargetArea

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopoOp2.IsKnownSimple_2 = False
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopoOp2.Simplify()


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntersectArea = TopoOp2.Intersect(SourceArea, ESRI.ArcGIS.Geometry.esriGeometryDimension.esriGeometry2Dimension)


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetArea = IntersectArea.Area '/ SourceArea.Area) * 100 'returns the percentage of first polygon which overlaps second polygon


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'SourceArea = Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'TargetArea = Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'TopoOp = Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'IntersectArea = Nothing

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:20:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273432#M6991</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2021-12-11T13:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273433#M6992</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;All of the polygons in your export_output_3 shapefile have a negative area.&amp;nbsp; ArcGIS will consider these polygons "holes".&amp;nbsp; The area is negative because the polygons were created in the wrong direction.&amp;nbsp; You can fix the problem by looping through all of the features, getting the shape as IPolygon, calling IPolygon.ReverseOrientation, and setting the updated geometries back to the features.&amp;nbsp; You could also put a check into your current code to look at the area prior to performing the Intersect and reverse the orientation of the polygon if the area is negative.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 20:07:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273433#M6992</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2012-01-27T20:07:24Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273434#M6993</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Neil.&amp;nbsp; I had figured out that the data had a problem, but didn't know what it was.&amp;nbsp; My routine worked with another set.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Justin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 20:11:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273434#M6993</guid>
      <dc:creator>JustinConklin</dc:creator>
      <dc:date>2012-01-27T20:11:18Z</dc:date>
    </item>
    <item>
      <title>Re: Area of overlap between two polygons</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273435#M6994</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Such kind of data error usually can be caught by calling ITopologicalOperator::IsSimple or ITopologicalOperator3::IsSimpleEx in your code.&amp;nbsp; You can also run the GeoProcessing Tool Check Geometry from Toolbox.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jan 2012 14:21:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/area-of-overlap-between-two-polygons/m-p/273435#M6994</guid>
      <dc:creator>WeifengHe</dc:creator>
      <dc:date>2012-01-30T14:21:23Z</dc:date>
    </item>
  </channel>
</rss>

