<?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: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10 in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625750#M16871</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for that Ken,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I spent all morning trying to figure out how to get what you suggested to work how I wanted it to, but I've finally managed to do it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had to put it in a new module and reference that from another module with the inputs, so it works on my shapefile in one go (rather than looping through all the points in the shapefile and using the calculator on each point).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only things I had to alter was to comment out both references to Message as it was giving me funny errors which I couldn't shift.&amp;nbsp; I also changed Globals.GP.MessageCount to just GP.MessageCount as it didn't like the Globals part.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Great help and valuable tip for future work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Nathan.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Apr 2012 13:12:54 GMT</pubDate>
    <dc:creator>NathanSykes</dc:creator>
    <dc:date>2012-04-30T13:12:54Z</dc:date>
    <item>
      <title>Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625747#M16868</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My company is going through the process of upgrading our software to ArcGIS 10.0 from 9.3.1, half the machines are now at 10.0 and half are still on 9.3.1.&amp;nbsp; I'm in the process of upgrading all our VBA code to VB.NET and add-ins.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My current problem is with calling the Field Calculator programmatically.&amp;nbsp; With 9.3.1 I was able to use ArcObjects in the pre-expression to define a shape and extract the X or Y co-ordinates.&amp;nbsp; I know that with 10.0 the VBA has been retired and I now have the choice of VB Script or Python.&amp;nbsp; If I have the attribute table open and directly use the Field Calculator, the Python line !shape.extent.XMax! does exactly what I want.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way I can get this to work in the VB.NET code that I am using with the add-in.&amp;nbsp; I can call the calculator but I think I've seen that it's a known bug that you can't define what parser will be used in the calculator, thus defaulting to VB Script (which I don't think will extract/identify the X/Y co-ordinate - but correct me if I'm wrong).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help with this would be greatly appreciated.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2012 18:05:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625747#M16868</guid>
      <dc:creator>NathanSykes</dc:creator>
      <dc:date>2012-04-27T18:05:38Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625748#M16869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Apparently the way around the bug is to use the GeoProcessing tool &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Calculate_Field/00170000004m000000/" rel="nofollow" target="_blank"&gt;CalculateField&lt;/A&gt;&lt;SPAN&gt;, which does have the ability to select the parser. Here's how I use the tool in one of my projects&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub CalculateField(ByVal InputTable As Object, ByVal FieldName As String, ByVal Expression As String, Optional ByVal ExpressionType As String = Nothing, Optional ByVal CodeBlock As String = Nothing, Optional ByVal Output As Object = Nothing)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Calc As New ESRI.ArcGIS.DataManagementTools.CalculateField &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Result As ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult2&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; Using releaser As New ESRI.ArcGIS.ADF.ComReleaser &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; releaser.ManageLifetime(Calc)&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; Calc.in_table = InputTable &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; Calc.field = FieldName &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; Calc.expression = Expression &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; Calc.expression_type = ExpressionType 'VB, PYTHON, or PYTHON_9.3 &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; Calc.code_block = CodeBlock &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; Calc.out_table = Output&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; Result = RunTool(Calc, 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; If Result Is Nothing Then &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;&amp;nbsp; System.Windows.Forms.MessageBox.Show("Could not calculate field") &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 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using &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; System.Windows.Forms.MessageBox.Show(ex.ToString, "Calculate Field error") &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&amp;nbsp; Friend Function RunTool(ByVal Process As ESRI.ArcGIS.Geoprocessor.IGPProcess, ByVal TC As ESRI.ArcGIS.esriSystem.ITrackCancel) As ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Result As ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult&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; System.Windows.Forms.Cursor.Current = Windows.Forms.Cursors.WaitCursor &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim GP As New ESRI.ArcGIS.Geoprocessor.Geoprocessor&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Result = CType(GP.Execute(Process, Nothing), ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Result.Status &amp;lt;&amp;gt; ESRI.ArcGIS.esriSystem.esriJobStatus.esriJobSucceeded Then &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; If GP.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Count = 0 To Globals.GP.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message += GP.GetMessage(Count) &amp;amp; vbNewLine &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;&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;&amp;nbsp; System.Windows.Forms.MessageBox.Show(Message, "GP Failure") &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&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Result &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; System.Windows.Forms.MessageBox.Show(ex.ToString &amp;amp; vbNewLine &amp;amp; ex.StackTrace, "Run Geoprocessor") &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Nothing &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2012 18:22:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625748#M16869</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2012-04-27T18:22:52Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625749#M16870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Looks like a good possibility.&amp;nbsp; I'm away from the office for the weekend now, but will try the code next week and hopefully post back some good news.&amp;nbsp; Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2012 18:52:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625749#M16870</guid>
      <dc:creator>NathanSykes</dc:creator>
      <dc:date>2012-04-27T18:52:36Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625750#M16871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for that Ken,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I spent all morning trying to figure out how to get what you suggested to work how I wanted it to, but I've finally managed to do it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had to put it in a new module and reference that from another module with the inputs, so it works on my shapefile in one go (rather than looping through all the points in the shapefile and using the calculator on each point).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only things I had to alter was to comment out both references to Message as it was giving me funny errors which I couldn't shift.&amp;nbsp; I also changed Globals.GP.MessageCount to just GP.MessageCount as it didn't like the Globals part.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Great help and valuable tip for future work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Nathan.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2012 13:12:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625750#M16871</guid>
      <dc:creator>NathanSykes</dc:creator>
      <dc:date>2012-04-30T13:12:54Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625751#M16872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Glad to hear it worked and that you caught that extra "Globals." It was a remnant of the original code, which I modified for this example. I just didn't modify it well enough...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2012 14:18:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625751#M16872</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2012-04-30T14:18:44Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically using Field Calculator to update XY co-ordinates with ArcGIS 10</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625752#M16873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This post was just what I needed to make an Linear Referencing line event split routine refresh the events on screen.&amp;nbsp; Thanks for posting this code and the response listing the minor corrections required to make it run without errors.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 13 Apr 2014 02:33:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/programmatically-using-field-calculator-to-update/m-p/625752#M16873</guid>
      <dc:creator>RichardFairhurst</dc:creator>
      <dc:date>2014-04-13T02:33:12Z</dc:date>
    </item>
  </channel>
</rss>

