問題
フィールド演算は、個別の計算に時間を取られることなく、すべてのフィールド値を一度に修正するために使用できる非常に優れたツールです。 しかし、フィールド演算を使用するには、フィールド タイプ、フィールド長、ドメインなどの詳細内容を入念に確認する必要があります。 場合によっては、フィールド演算がエラーなく実行されたのに、フィールド値が変更されていない状況を目にすることがあります。
フィールド演算を使用する場合の注意点は、ユーザーが使用するフィールドのタイプを認識しておく必要があることです。
たとえば、2 つの列のテーブルがあり、この 2 列が一致した場合のみ 3 列目にテキストを配置したい場合は、次のようになります。
[フィールド演算] で比較コードを使用します。
[ジオプロセシング] メニューの [結果] では、この操作が実行され成功したよう見えますが、3 列目は変更されていません。
これは、場合によっては同じに見えるものの (FieldName1 が 1 で FieldName2 も 1)、実際には 2 つの入力フィールドのタイプが異なっていることが原因です。
つまり、string の 1 は short integer の 1 と同じではなく、コード ブロック内に if ステートメントの行先として else ステートメントが存在しないために、フィールドへの入力が何も返されないのです。
ArcGIS エキスパートのサポートを受ける
Esri Support アプリのダウンロード