<?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 Using the Intersect Geoprocessor with IFeatureLayers in C# in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694548#M18625</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to get the following code to work but am having no luck. I am developing in C# using the geoprocessor. I want to intersect two featurelayers within the ArcMap TOC but I can not find an example to do this. The only example is code that uses pathnames to geodatabases for the multiple inputs and that doesnt show me how to use the featurelayers in the TOC of ArcMap for the inputs. This is the code I have but it seems that the intersect doesnt like the featurelayer names I am using for the input. Any help is appreciated. Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;using ESRI.ArcGIS.Geoprocessor;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName is a function to get the featurelayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pParcelFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(farmassessment.m_mxDocument.ActiveView, "Parcel Lines");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pSoilsFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(farmassessment.m_mxDocument.ActiveView, "Soils");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// String for the output path&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String stroutput = "J:\\pva\\Appdata\\Farm\\fa" + strParcelID;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//Setting up the Geoprocessor &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Geoprocessor GP = new Geoprocessor();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.OverwriteOutput = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Intersect intersectLayers = new Intersect();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.in_features = "'" + pParcelFLayer.Name + "' '';'" + pSoilsFLayer.Name + "' ''";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.out_feature_class = stroutput;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.join_attributes = "ALL";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.output_type = "INPUT";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.Execute(intersectLayers, null);&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Apr 2010 16:12:47 GMT</pubDate>
    <dc:creator>WadeDrane</dc:creator>
    <dc:date>2010-04-12T16:12:47Z</dc:date>
    <item>
      <title>Using the Intersect Geoprocessor with IFeatureLayers in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694548#M18625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to get the following code to work but am having no luck. I am developing in C# using the geoprocessor. I want to intersect two featurelayers within the ArcMap TOC but I can not find an example to do this. The only example is code that uses pathnames to geodatabases for the multiple inputs and that doesnt show me how to use the featurelayers in the TOC of ArcMap for the inputs. This is the code I have but it seems that the intersect doesnt like the featurelayer names I am using for the input. Any help is appreciated. Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;using ESRI.ArcGIS.Geoprocessor;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName is a function to get the featurelayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pParcelFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(farmassessment.m_mxDocument.ActiveView, "Parcel Lines");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pSoilsFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(farmassessment.m_mxDocument.ActiveView, "Soils");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// String for the output path&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String stroutput = "J:\\pva\\Appdata\\Farm\\fa" + strParcelID;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//Setting up the Geoprocessor &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Geoprocessor GP = new Geoprocessor();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.OverwriteOutput = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Intersect intersectLayers = new Intersect();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.in_features = "'" + pParcelFLayer.Name + "' '';'" + pSoilsFLayer.Name + "' ''";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.out_feature_class = stroutput;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.join_attributes = "ALL";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.output_type = "INPUT";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.Execute(intersectLayers, null);&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Apr 2010 16:12:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694548#M18625</guid>
      <dc:creator>WadeDrane</dc:creator>
      <dc:date>2010-04-12T16:12:47Z</dc:date>
    </item>
    <item>
      <title>Using the Intersect Geoprocessor with IFeatureLayers in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694549#M18626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think it might not be getting the correct inputs. As far as I am aware, not all tools cannot use ArcObjects as Inputs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To confirm, please get the messages from the Geoprocessor. You can use the following code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;if (GP.MessageCount &amp;gt; 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int Count = 0; Count &amp;lt;= GP.MessageCount - 1; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(GP.GetMessage(Count));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:13:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694549#M18626</guid>
      <dc:creator>DevdattaTengshe</dc:creator>
      <dc:date>2021-12-12T05:13:49Z</dc:date>
    </item>
    <item>
      <title>The Answer to using IFeaturelayers in the Intersect Geoprocessor with C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694550#M18627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here is the code I used. I hope this saves someone Time:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName is a function to get the featurelayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pParcelFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(fa rmassessment.m_mxDocument.ActiveView, "Parcel Lines");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IFeatureLayer pSoilsFLayer = LOJIC.ArcGIS.Carto.Layers.GetFeatureLayerByName(fa rmassessment.m_mxDocument.ActiveView, "Soils");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// String for the output path&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String stroutput = "J:\\pva\\Appdata\\Farm\\fa" + strParcelID;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//Setting up the Geoprocessor &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Geoprocessor GP = new Geoprocessor();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.OverwriteOutput = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.AnalysisTools.Intersect intersectLayers = new Intersect();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//using the IGpValueTableObject to add multiple featurelayer from the TOC to the Input of the Intersect Geopros.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IGpValueTableObject valTbl = new GpValueTableObjectClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valTbl.SetColumns(2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;object row = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;object rank = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;row = pParcelFLayer;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valTbl.SetRow(0, ref row);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valTbl.SetValue(0, 1, ref rank);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;row = pSoilsFLayer;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valTbl.SetRow(1, ref row);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rank = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valTbl.SetValue(1, 1, ref rank);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.in_features = valTbl;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.out_feature_class = stroutput;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.join_attributes = "ALL";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;intersectLayers.output_type = "INPUT";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GP.Execute(intersectLayers, null);&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Apr 2010 12:08:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694550#M18627</guid>
      <dc:creator>WadeDrane</dc:creator>
      <dc:date>2010-04-15T12:08:26Z</dc:date>
    </item>
    <item>
      <title>Using the Intersect Geoprocessor with IFeatureLayers in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694551#M18628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Mine's in VB, but it might give you some help.&amp;nbsp; I had to create a string variable that held a semicolon delimited list of paths and give that to the geoprocessing tool.&amp;nbsp; Took me a while to figure out how to format it correctly...looks like you're having the same issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim gps As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim intersectme As ESRI.ArcGIS.AnalysisTools.Intersect
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim errmsg As String
&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; intersectme = New ESRI.ArcGIS.AnalysisTools.Intersect
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gps.SetEnvironmentValue("Extent", "MAXOF")
&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 fcnames As String
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pDataset As IDataset

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pWorkspace As IWorkspace


&amp;nbsp;&amp;nbsp; 'infcs() is an array of feature classes that I want to intersect
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'the geoprocessing tool expects a semicolon delimited list of paths
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To UBound(infcs) - 2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDataset = infcs(i)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspace = pDataset.Workspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fcnames = fcnames &amp;amp; "'" &amp;amp; pWorkspace.PathName &amp;amp; "\" &amp;amp; pDataset.Name &amp;amp; ".shp'" &amp;amp; ";"


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDataset = infcs(UBound(infcs) - 1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspace = pDataset.Workspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fcnames = fcnames &amp;amp; "'" &amp;amp; pWorkspace.PathName &amp;amp; "\" &amp;amp; pDataset.Name &amp;amp; ".shp'"

&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; intersectme.in_features = fcnames
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intersectme.out_feature_class = outfolder &amp;amp; "\" &amp;amp; prefix &amp;amp; "_" &amp;amp; "output"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gps.Execute(intersectme, Nothing)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errmsg = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If gps.MessageCount &amp;gt; 0 Then

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For j = 0 To gps.MessageCount - 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;&amp;nbsp;&amp;nbsp;&amp;nbsp; errmsg = errmsg &amp;amp; gps.GetMessage(j) &amp;amp; vbCrLf

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next
&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;&amp;nbsp;&amp;nbsp; End If&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:13:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/using-the-intersect-geoprocessor-with/m-p/694551#M18628</guid>
      <dc:creator>MikeTischler</dc:creator>
      <dc:date>2021-12-12T05:13:51Z</dc:date>
    </item>
  </channel>
</rss>

