<?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: Calculate Field and Python error 000539 in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43537#M1564</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply, jscheirer!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried that too. but did not work.&amp;nbsp; I went ahead and used a cursor method instead.&amp;nbsp; works great!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
# Author:&amp;nbsp; Edward Briggler
# Date: 1/10/2012
# Purpose:&amp;nbsp; To add 3 fields (single, two and three) phase fields, calculating the length in miles by subtype
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using update cursor

# Bring in Arc and Sys. 
import arcgisscripting, sys

#&amp;nbsp; Create the Geoprocessor...
gp = arcgisscripting.create()

# Get Fc by parameter...
fc = sys.argv[1]





# only held in memory but name needs changing.
tv = "table_view_memor"
# Turn Feature Class into a layer...can only do the following geoprocesses while a layer or table view.
gp.MakeFeatureLayer_management(fc, tv)
# Final Fields...
gp.addfield_management(tv, "SINGLE_PH", "DOUBLE")
gp.addfield_management(tv, "TWO_PH", "DOUBLE")
gp.addfield_management(tv, "THREE_PH", "DOUBLE")

updateRows = gp.updatecursor(fc)
updateRow = updateRows.next()

while updateRow:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if updateRow.SUBTYPECD &amp;lt;= 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif updateRow.SUBTYPECD &amp;gt; 3 and updateRow.SUBTYPECD &amp;lt; 7:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif updateRow.SUBTYPECD == 7:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRows.updaterow(updateRow)
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow = updateRows.next()


gp.delete(tv)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 21:40:02 GMT</pubDate>
    <dc:creator>EdwardBriggler</dc:creator>
    <dc:date>2021-12-10T21:40:02Z</dc:date>
    <item>
      <title>Calculate Field and Python error 000539</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43535#M1562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Good Day, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to add fields together and put the output in a new field. I want it hard coded in. But I keep getting an error message &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[HTML]ERROR 000539: Error running expression:&amp;nbsp; +&amp;nbsp; +&amp;nbsp; &amp;lt;type 'exceptions.IndentationError'&amp;gt;: unexpected indent (&amp;lt;string&amp;gt;, line 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed to execute (CalculateField).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed to execute (FieldCalculator).[/HTML]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried multiple ways to get it to do it and I am stuck.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My objective is to calculate the fields out by phase, then add them together to just&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;get single, two and three phase line.&amp;nbsp; Any help would be GREAT!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;# Author:&amp;nbsp; Edward Briggler
# Date: 1/4/2012
# Purpose:&amp;nbsp; To add the 7 phase fields to a feature class and calculate based on selecting by subtype.
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sum by subtype, divide by 5280 to get length by 

# Bring in Arc and Sys. 
import arcgisscripting, sys

#&amp;nbsp; Create the Geoprocessor...
gp = arcgisscripting.create()

gp.Workspace = gp.GetParameterAsText(0)

fc = gp.GetParameterAsText(1)

f = gp.GetParameterAsText(2)
# concatenate the bangs to let the equations know it is a field
new_f = '!'+f+'!'

# only held in memory but name needs changing.
tv = "table_view_memory"

# expressions to evaluate the length of Primary Line (in the length of specified field)
## Involves concatenating the *2 and *3 to get the expression right. HAS TO BE A STRING!!!
exp = new_f
exp2 = new_f+'*2'
exp3 = new_f+'*3'



exp4 = "!A_PHASE! + !B_PHASE! + !C_PHASE!"
exp5 = "!AB_PHASE! + !AC_PHASE! + !BC_PHASE!"
exp6 = "ABC_PHASE"
# Turn Feature Class into a layer...can only do the following geoprocesses while a layer or table view.
gp.MakeFeatureLayer_management(fc, tv)

# Add Fields to Layer
gp.addfield_management(tv, "A_PHASE", "FLOAT")
gp.addfield_management(tv, "B_PHASE", "FLOAT")
gp.addfield_management(tv, "C_PHASE", "FLOAT")
gp.addfield_management(tv, "AB_PHASE", "FLOAT")
gp.addfield_management(tv, "AC_PHASE", "FLOAT")
gp.addfield_management(tv, "BC_PHASE", "FLOAT")
gp.addfield_management(tv, "ABC_PHASE", "FLOAT")

# Final Fields...
gp.addfield_management(tv, "SINGLE_PH", "FLOAT")
gp.addfield_management(tv, "TWO_PH", "FLOAT")
gp.addfield_management(tv, "THREE_PH", "FLOAT")



# Select by SUBTYPECD and run each expression accordingly

gp.SelectLayerByAttribute_management(tv,"NEW_SELECTION", "SUBTYPECD = 1")
gp.CalculateField_management(tv, "A_PHASE",exp , "PYTHON" )
gp.SelectLayerByAttribute_management(tv,"NEW_SELECTION", "SUBTYPECD = 2")
gp.CalculateField_management(tv, "B_PHASE",exp , "PYTHON" )
gp.SelectLayerByAttribute_management(tv,"NEW_SELECTION", "SUBTYPECD = 3")
gp.CalculateField_management(tv, "C_PHASE",exp , "PYTHON" )
gp.SelectLayerByAttribute_management(tv,&amp;nbsp; "NEW_SELECTION", "SUBTYPECD = 4")
gp.CalculateField_management(tv, "AB_PHASE",exp2 , "PYTHON" )
gp.SelectLayerByAttribute_management(tv,"NEW_SELECTION", "SUBTYPECD = 5")
gp.CalculateField_management(tv, "AC_PHASE",exp2 , "PYTHON" )
gp.SelectLayerByAttribute_management(tv,"NEW_SELECTION", "SUBTYPECD = 6")
gp.CalculateField_management(tv, "BC_PHASE",exp2 , "PYTHON" )
gp.SelectLayerByAttribute_management(tv, "NEW_SELECTION", "SUBTYPECD = 7")
gp.CalculateField_management(tv, "ABC_PHASE",exp3 , "PYTHON" )

# take each subtype, sum together and divide by 5280 to get total length in miles by single, two and three
# phase line.
gp.CalculateField_management(tv, "SINGLE_PH", exp4, "PYTHON" )
gp.CalculateField_management(tv, "TWO_PH", exp5, "PYTHON" )
gp.CalculateField_management(tv, "THREE_PH", exp6, "PYTHON" )

# Delete A - ABC fields...
gp.DeleteField_management(tv,"A_PHASE; B_PHASE; C_PHASE; AB_PHASE; AC_PHASE; BC_PHASE; ABC_PHASE")&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jan 2012 15:20:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43535#M1562</guid>
      <dc:creator>EdwardBriggler</dc:creator>
      <dc:date>2012-01-10T15:20:07Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate Field and Python error 000539</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43536#M1563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Try quoting each string in your expression, so instead of&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;exp4 = "!A_PHASE! + !B_PHASE! + !C_PHASE!"
exp5 = "!AB_PHASE! + !AC_PHASE! + !BC_PHASE!"&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You use&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;exp4 = "'!A_PHASE!' + '!B_PHASE!' + '!C_PHASE!'"
exp5 = "'!AB_PHASE!' + '!AC_PHASE!' + '!BC_PHASE!'"&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:39:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43536#M1563</guid>
      <dc:creator>JasonScheirer</dc:creator>
      <dc:date>2021-12-10T21:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate Field and Python error 000539</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43537#M1564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply, jscheirer!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried that too. but did not work.&amp;nbsp; I went ahead and used a cursor method instead.&amp;nbsp; works great!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
# Author:&amp;nbsp; Edward Briggler
# Date: 1/10/2012
# Purpose:&amp;nbsp; To add 3 fields (single, two and three) phase fields, calculating the length in miles by subtype
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using update cursor

# Bring in Arc and Sys. 
import arcgisscripting, sys

#&amp;nbsp; Create the Geoprocessor...
gp = arcgisscripting.create()

# Get Fc by parameter...
fc = sys.argv[1]





# only held in memory but name needs changing.
tv = "table_view_memor"
# Turn Feature Class into a layer...can only do the following geoprocesses while a layer or table view.
gp.MakeFeatureLayer_management(fc, tv)
# Final Fields...
gp.addfield_management(tv, "SINGLE_PH", "DOUBLE")
gp.addfield_management(tv, "TWO_PH", "DOUBLE")
gp.addfield_management(tv, "THREE_PH", "DOUBLE")

updateRows = gp.updatecursor(fc)
updateRow = updateRows.next()

while updateRow:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if updateRow.SUBTYPECD &amp;lt;= 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif updateRow.SUBTYPECD &amp;gt; 3 and updateRow.SUBTYPECD &amp;lt; 7:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif updateRow.SUBTYPECD == 7:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = updateRow.Shape_Length/5280
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.SINGLE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.TWO_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow.THREE_PH = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRows.updaterow(updateRow)
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateRow = updateRows.next()


gp.delete(tv)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:40:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-and-python-error-000539/m-p/43537#M1564</guid>
      <dc:creator>EdwardBriggler</dc:creator>
      <dc:date>2021-12-10T21:40:02Z</dc:date>
    </item>
  </channel>
</rss>

