<?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:  ARCGIS 10, VB.NET, calculate centroids in Developers Questions</title>
    <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125307#M790</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One issue with your ICalculate PreExpression script is with ArcGIS 10, VBScript will now crash when try to declare a variable as a type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14661753631802276 jive_text_macro" data-renderedposition="60_8_1333_16" jivemacro_uid="_14661753631802276"&gt;&lt;P&gt;Dim pGeomShp as IGeometry&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;should be replaced with&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14661753711873976 jive_text_macro" data-renderedposition="154_8_1333_16" jivemacro_uid="_14661753711873976"&gt;&lt;P&gt;Dim pGeomShp&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Jun 2016 14:58:08 GMT</pubDate>
    <dc:creator>KenBuja</dc:creator>
    <dc:date>2016-06-17T14:58:08Z</dc:date>
    <item>
      <title>ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125306#M789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hello, &lt;/P&gt;&lt;P&gt;&amp;nbsp; I have migrated an toolbar initially developped for ArcGis 9,3. This tool is used by non-programmer or cartographers. &lt;/P&gt;&lt;P&gt;&amp;nbsp; One procedure is called to generate centroids of attributes table and after to launch an calculation.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; Anyway, &lt;/P&gt;&lt;P&gt;&amp;nbsp; The source code used in 9,3 was : &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; (A)&lt;/P&gt;&lt;P&gt; 'instantiating new calculator and cursor&lt;/P&gt;&lt;P&gt;&amp;nbsp; pCalculator = New Calculator&lt;/P&gt;&lt;P&gt;&amp;nbsp; pCursor = CType(pFeatureClass.Update(Nothing, True), ICursor)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Centroid Y&lt;/P&gt;&lt;P&gt;&amp;nbsp; With pCalculator&lt;/P&gt;&lt;P&gt;&amp;nbsp; .Cursor = pCursor&lt;/P&gt;&lt;P&gt; .PreExpression = "Dim pGeomShp as IGeometry" &amp;amp; vbNewLine &amp;amp; "Set pGeomShp = [shape]" &amp;amp; vbNewLine &amp;amp; "Dim pArea as IArea" &amp;amp; vbNewLine &amp;amp; "Set pArea = pGeomShp" &amp;amp; vbNewLine&lt;/P&gt;&lt;P&gt; .Expression = "pArea.Centroid.Y"&lt;/P&gt;&lt;P&gt;&amp;nbsp; .Field = "centroidY"&lt;/P&gt;&lt;P&gt;&amp;nbsp; End With&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'try &amp;amp; catch *************************************************&lt;/P&gt;&lt;P&gt;&amp;nbsp; Try&lt;/P&gt;&lt;P&gt; pCalculator.Calculate()&lt;/P&gt;&lt;P&gt;&amp;nbsp; Catch ex As System.Exception&lt;/P&gt;&lt;P&gt; MessageBox.Show("Error: " + ex.Message)&lt;/P&gt;&lt;P&gt;&amp;nbsp; End Try&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp; This was working until moving to ArcGis 10 (an upper). A crash was observed while launching pCalculator.Calculate().&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; I’ve migrated this code that way (like proposed here &lt;A href="http://gis.stackexchange.com/questions/52983/syntax-for-arcgis-icalculator-object/198681#198681"&gt;http://gis.stackexchange.com/questions/52983/syntax-for-arcgis-icalculator-object/198681#198681&lt;/A&gt; )&amp;nbsp; : &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; (B)&lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim nCentroidXFieldIndex As Integer = pFeatureClass.FindField("centroidX")&lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim nCentroidYFieldIndex As Integer = pFeatureClass.FindField("centroidY")&lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim nBldg_sizeFieldIndex As Integer = pFeatureClass.FindField("Bldg_size")&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf pFeatureClass Is IFeatureClass Then &lt;/P&gt;&lt;P&gt;&amp;nbsp; If TypeOf pFeatureCursor Is IFeatureCursor Then&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim pArea As IArea&lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim pFeature As IFeature = pFeatureCursor.NextFeature()&lt;/P&gt;&lt;P&gt;&amp;nbsp; Dim myProgressCalc As New FileProgressForm&lt;/P&gt;&lt;P&gt; myProgressCalc.set_maximum(iTotalRecords)&lt;/P&gt;&lt;P&gt; myProgressCalc.Show()&lt;/P&gt;&lt;P&gt; myProgressCalc.Text = "Veuillez patienter svp"&lt;/P&gt;&lt;P&gt; myProgressCalc.lblProgress.Text = "Calcul des données géographiques"&lt;/P&gt;&lt;P&gt; myProgressCalc.Update()&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; pArea = CType(pFeature.Shape, IArea)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; While pFeature IsNot Nothing&lt;/P&gt;&lt;P&gt; pFeature.Value(nCentroidXFieldIndex) = pArea.Centroid.X&lt;/P&gt;&lt;P&gt; pFeature.Value(nCentroidYFieldIndex) = pArea.Centroid.Y&lt;/P&gt;&lt;P&gt; pFeature.Value(nBldg_sizeFieldIndex) = pArea.Area&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; pFeature.Store()&lt;/P&gt;&lt;P&gt; pFeature = pFeatureCursor.NextFeature&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; myProgressCalc.Go()&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End While&lt;/P&gt;&lt;P&gt; myProgressCalc.Close()&lt;/P&gt;&lt;P&gt;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; It’s working but it’s working extremely slowly ! The first code (A) was executed in less than 3 minutes. The new one (B) in 25 minutes ! &lt;/P&gt;&lt;P&gt; &lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; In fact, I just want to programmaticaly call a the new calculate geometry tool (when displaying attributes table - &lt;A href="http://desktop.arcgis.com/fr/arcmap/10.3/manage-data/tables/calculating-area-length-and-other-geometric-properties.htm"&gt;http://desktop.arcgis.com/fr/arcmap/10.3/manage-data/tables/calculating-area-length-and-other-geometric-properties.htm&lt;/A&gt; ) &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Screen capture 1&lt;/P&gt;&lt;P&gt;Too bad, can't upload PNG and JPEG files...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or Arc tool =&amp;gt; Data Management Tools =&amp;gt; Entities =&amp;gt; Add geometric attributes (&lt;A href="http://pro.arcgis.com/fr/pro-app/tool-reference/data-management/add-geometry-attributes.htm"&gt;http://pro.arcgis.com/fr/pro-app/tool-reference/data-management/add-geometry-attributes.htm&lt;/A&gt; )&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; Screen capture 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or any other methods ! &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Both tools are working great in ArcGis Desktop but I can’t find my way to make them work in VB.NET.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please, any suggestions ? (It’s just driving me crazy).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Thanks by advance for your answer, and sorry for screen capture in french and for poor english speaking&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; Matthieu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jun 2016 09:08:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125306#M789</guid>
      <dc:creator>BrunoVincent</dc:creator>
      <dc:date>2016-06-17T09:08:56Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125307#M790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One issue with your ICalculate PreExpression script is with ArcGIS 10, VBScript will now crash when try to declare a variable as a type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14661753631802276 jive_text_macro" data-renderedposition="60_8_1333_16" jivemacro_uid="_14661753631802276"&gt;&lt;P&gt;Dim pGeomShp as IGeometry&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;should be replaced with&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c#" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14661753711873976 jive_text_macro" data-renderedposition="154_8_1333_16" jivemacro_uid="_14661753711873976"&gt;&lt;P&gt;Dim pGeomShp&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jun 2016 14:58:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125307#M790</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2016-06-17T14:58:08Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125308#M791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;I just made the change you proposed without any success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following error is still showing :&lt;/P&gt;&lt;P&gt;"Error -2147467259 HRESULT E_FAIL has been returned from a call to a COM component"&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jun 2016 11:58:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125308#M791</guid>
      <dc:creator>BrunoVincent</dc:creator>
      <dc:date>2016-06-20T11:58:03Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125309#M792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you also make that change to the Dim pArea line? Also, have you tried running the PreExpression script manually in the Field Calculator?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jun 2016 15:27:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125309#M792</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2016-06-20T15:27:45Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125310#M793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;Yes, I also made the change for the "Dim pArea" line. With no success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to execute this code manually in ArcGis desktop. But unfortunately, it did'nt work.&amp;nbsp; I'm realizing that I should write the good script here before trying to program it.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;I made many tries in VB. Tthe only thing that were working correctly (manually, in desktop ) was in Python with that code : &lt;/P&gt;&lt;P&gt;!shape.centroid.X!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I just can't make it work in the program.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jun 2016 10:34:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125310#M793</guid>
      <dc:creator>BrunoVincent</dc:creator>
      <dc:date>2016-06-21T10:34:47Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125311#M794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Unfortunately, there's a bug with the ICalculator (#NIM061356) that doesn't allow it to use Python syntax. This has been around since 2010 and while it's classified as High Severity, they still haven't fixed it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jun 2016 21:05:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125311#M794</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2016-06-22T21:05:10Z</dc:date>
    </item>
    <item>
      <title>Re:  ARCGIS 10, VB.NET, calculate centroids</title>
      <link>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125312#M795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Damn. &lt;/P&gt;&lt;P&gt;It's so easy to make it work in Python with 1 line of code and I can't make it with VBScript ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 08:51:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/arcgis-10-vb-net-calculate-centroids/m-p/125312#M795</guid>
      <dc:creator>BrunoVincent</dc:creator>
      <dc:date>2016-06-23T08:51:59Z</dc:date>
    </item>
  </channel>
</rss>

