ArcGISでポリゴンの特定の値を別の値に変換する

昔の土地利用3次メッシュ(面積)では、面積の値が9999999などの、9の羅列になっていることがあります(主に海岸線付近や島など)。これらの異常な値を0の値などに変換するには、フィールド演算が便利です。Pythonというプログラム言語を使用します。

1. テーブルの値が文字として記録されていたら、文字を数値に変換する(2015-01-27を参照)。
2. テーブルにフィールドを追加する(ここでは、追加したフィールドの名称をaとします)。この際、フィールドのタイプはDoubleを選択する。
3. テーブルに新しく追加されたフィールドaに、対象のフィールドbの値をコピーする。
4. フィールド演算によりaの特定の値を0に変換する。
 フィールドaを右クリック>フィールド演算>形式はPythonを選択・コードブロックを表示にチェック>Pre-Logic Script Codeに下記のプログラムを書く>Pre-Logic Script Codeの下のボックス(フィールドの名称(ここではa) =)で、プログラムの関数を呼び出す

Pre-Logic Script Codeには、

def Replace(n):
 if n == 9999999:
  return 0
 else:
  return n

a = のボックスには、数値を変換したいフィールドの名称がaだったら、

Replace( !a! )

とします。
defの関数の後やif文の終わりにコロンを入れること、ifの前にスペース1つ、returnの前にスペース2つを入れることに注意してください。
プログラムを簡単に説明すると、Replaceという関数を作り、フィールドbから入力された数値が9999999と一致したら、0を返しなさい、それ以外はそのままの数値を返しなさい、という命令をしています。
Replaceは関数名で、どんな名前でもいいです。ただ、a = のボックスで呼び出す関数は、Pre-Logic Script Codeで指定した同じ名前でないと、なんの意味もなくなってしまいます。また、a = のボックスで呼び出す関数に入力するaは、! !で囲ってください。
nは関数に入る入力変数で、これもどんな名前でもいいです。ただ、if文以降で入力変数のnを別の名前にしてしまうと、これまたなんの意味もなくなってしまいます。
プログラムに慣れていない人には、よくわからないかもしれませんが、トライアンドエラーでがんばってみてください。