<?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: Performance of geoprocessing in ArcGIS Pro SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842187#M3898</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Adam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, using Geodatabase API is faster - however, you'll need a deeper understanding of the geodatabase API and you'll have to handle the error checking and validation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Geoprocessing, however, has one simple approach for any tool execution. Executing via Geoprocessing API is slower than calling the fine-grain API because it calls the underlying geodatabase API. The major benefit of using GP is that you won't have to worry about validation of inputs and output - the gp framework does validation and return appropriate messages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Sep 2019 16:24:25 GMT</pubDate>
    <dc:creator>NobbirAhmed</dc:creator>
    <dc:date>2019-09-30T16:24:25Z</dc:date>
    <item>
      <title>Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842179#M3890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am building an add-in for pro using pro sdk 2.0;&amp;nbsp;The add-in reads a specific funky formatted file of point data, creates as point feature layer in local file gdb and symbolises as a feature layer according to metadata in source file;&lt;/P&gt;&lt;P&gt;All working, but users complaining that it's pretty slow : (1k points taking over 40-50 secs on a reasonably powered development machine) &lt;BR /&gt;So I want to check whether there is a better approach than this one that I am taking :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Using : Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management"...) to create the new, empty feature layer&lt;BR /&gt;Time taken : 13-15 secs&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;2) Add 6 fields to the schema using : Geoprocessing.ExecuteToolAsync("AddField_management", args);&lt;BR /&gt;Time taken : 15+ secs&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;3) Add point features and populate attribute values for 1k points, 6 attributes&lt;BR /&gt;Time taken : 2-5 secs&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;4) Apply unique value based Symbology&lt;BR /&gt;Time taken : 2-4 secs&lt;BR /&gt;&lt;BR /&gt;The schema &amp;amp; symbology change with every import so template layers not a solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jul 2017 15:28:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842179#M3890</guid>
      <dc:creator>jackpearson</dc:creator>
      <dc:date>2017-07-03T15:28:26Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842180#M3891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jack, you may have better luck with this question in the Geoprocessing forum:&amp;nbsp;&lt;A _jive_internal="true" href="https://community.esri.com/community/gis/analysis/geoprocessing"&gt;https://community.esri.com/community/gis/analysis/geoprocessing&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jul 2017 19:17:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842180#M3891</guid>
      <dc:creator>CharlesMacleod</dc:creator>
      <dc:date>2017-07-03T19:17:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842181#M3892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Charles - Any idea if anyone at Esri can help me with this ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Jul 2017 12:14:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842181#M3892</guid>
      <dc:creator>jackpearson</dc:creator>
      <dc:date>2017-07-07T12:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842182#M3893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We are having the same issue. Has there been any sort of resolution? It is taking 5 seconds to call one instance of&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: arial,helvetica,'helvetica neue',verdana,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;Geoprocessing.ExecuteToolAsync("AddField_management", args);&lt;/SPAN&gt; on a node. I takes a little over 1 second when calling it on a link.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Apr 2019 13:04:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842182#M3893</guid>
      <dc:creator>SusanFarley</dc:creator>
      <dc:date>2019-04-29T13:04:06Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842183#M3894</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Instead of calling Add Field 6 times you can call the new tool (only in Pro) Add Fields (multiple) once to add as many fields as you want. It'll create only one call.&lt;/P&gt;&lt;P&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/tool-reference/data-management/add-fields.htm"&gt;https://pro.arcgis.com/en/pro-app/tool-reference/data-management/add-fields.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A geoprocessing tool has the benefit of&amp;nbsp;taking care of some underlying validation and error checking tasks. The cost is time - it may take little extra time in doing so. For example, you are calling Add Field&amp;nbsp;&amp;nbsp;- such as, data validation, You are calling course-grain Geoprocessing tool multiple times. Calling Add Field 6 times will need 6 validate/error checking and so on.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In such cases, you can use fine-grain functions of Geodatabase library - starting from building the schema and so on. That'll be much faster.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 May 2019 21:34:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842183#M3894</guid>
      <dc:creator>NobbirAhmed</dc:creator>
      <dc:date>2019-05-02T21:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842184#M3895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is interesting - we will&amp;nbsp;look into&amp;nbsp;this and post back.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 May 2019 21:35:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842184#M3895</guid>
      <dc:creator>NobbirAhmed</dc:creator>
      <dc:date>2019-05-02T21:35:08Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842185#M3896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ahmed,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was not aware you can create field in the Geodatabase library. Could you provide an example please?&lt;/P&gt;&lt;P&gt;I thought all creation of feature Classes&amp;nbsp; / Fields was through the geoprocessor.&amp;nbsp; It's why we use the standalone File Geodatabase API where we can as it works way, way faster and is a more "natural" way to make things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2019 11:37:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842185#M3896</guid>
      <dc:creator>AdamDavis</dc:creator>
      <dc:date>2019-06-10T11:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842186#M3897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry for any typos, but am retyping from code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;public async Task AddFields (string path, Dictionary&amp;lt;string, AttributeTypeNames&amp;gt; fields)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; string fieldNames = "";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; foreach (KeyValuePair&amp;lt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;string, AttributeTypeNames&lt;/SPAN&gt;&amp;gt; item in fields)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; fieldNames = String.Format("{0}{1} {2}; ", fieldNames, item.Key, item.Value);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;object&amp;gt; args = new List&amp;lt;object&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; path,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; fieldNames&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; IGPResult res = await Geoprocessing.ExecuteToolAsync("management.AddFields",&lt;/P&gt;&lt;P&gt;&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;Geoprocessing.MakeValueArray(args.ToArray()));&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2019 13:26:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842186#M3897</guid>
      <dc:creator>SusanFarley</dc:creator>
      <dc:date>2019-06-10T13:26:35Z</dc:date>
    </item>
    <item>
      <title>Re: Performance of geoprocessing</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842187#M3898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Adam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, using Geodatabase API is faster - however, you'll need a deeper understanding of the geodatabase API and you'll have to handle the error checking and validation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Geoprocessing, however, has one simple approach for any tool execution. Executing via Geoprocessing API is slower than calling the fine-grain API because it calls the underlying geodatabase API. The major benefit of using GP is that you won't have to worry about validation of inputs and output - the gp framework does validation and return appropriate messages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Sep 2019 16:24:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/performance-of-geoprocessing/m-p/842187#M3898</guid>
      <dc:creator>NobbirAhmed</dc:creator>
      <dc:date>2019-09-30T16:24:25Z</dc:date>
    </item>
  </channel>
</rss>

