私は Python の初心者で、ArcGIS 10.1 (arcpy) で使用するスクリプトを作成しようとしています。基本的な考え方は、新しいフィールド (フランシス) を追加し、他のいくつかのフィールドの値をチェックし、ヌル (-99) の場合はフランシスに 0 を出力し、それ以外の場合は単純な計算を実行することです。ただし、このエラーが発生し、それを超えて移動するのに問題があります:
トレースバック (最新の呼び出しが最後):
ファイル "C:\gislab2\Python\take_home\part1\prelim_if2.py"、28 行目、arcpy.CalculateField_management(Output_Feature_Class, "Francis", "", "PYTHON_9.3", "") 内
ファイル「C:\Program Files\ArcGIS\Desktop10.1\arcpy\arcpy\management.py」の 3128 行目、CalculateField で e を発生させます
ExecuteError: 実行に失敗しました。パラメータが無効です。エラー 000735: 式: 値が必要です 実行に失敗しました (CalculateField)。
これがコードです
# Import arcpy module
import arcpy
print "start your engines"
# Script arguments
Shapefile = "C:\\gislab2\\Python\\take_home\\USCancer2000.shp"
Field_Name = Francis
Output_Feature_Class = "C:\\gislab2\\Python\\take_home\\USCancer2000.shp"
# Local variables:
USCancer2000__2_ = Output_Feature_Class
# Process: Add Field
arcpy.AddField_management(Shapefile, "Francis", "LONG", "", "", "", "", "NULLABLE", "NON_REQUIRED", "")
# Process: Calculate Field
arcpy.CalculateField_management(Output_Feature_Class, "Francis", "", "PYTHON_9.3", "")
##
### Process: If-then check for missing values
##
if "Cnt1"==-99:
Field_name=7
elif "Cnt2"==-99:
Field_name=7
elif "Cnt3"==-99:
Field_name=7
elif "Pop1"==-99:
Field_name==7
elif "Pop2"==-99:
Field_name=7
elif "Pop3"==-99:
Field_name=7
else:
Field_name=("Cnt1"+"Cnt2"+"Cnt3")/("Pop1"+"Pop2"+"Pop3")
print "done"
よろしくお願いします!デビッド