ArcGIS for Desktopのフィールド計算機でIfステートメントを実行するにはどうすればよいですか?


10

2つの数値フィールド( "Dist_1"と "Dist_2")を含むシェープファイルがあります。追加のフィールド(「結果」)に3つの回答のいずれかを入力するフィールド計算が必要です。

最初に、Dist_1がDist_2より大きい場合、結果に「True」を入力します。2番目に、Dist_1がDist_2より小さい場合、「False」を入力し、3番目に、Dist_1とDist_2が等しい場合、「等しい」を入力します。


回答として「ありがとう」を追加しないでください。十分な評判を得たら、参考になった質問と回答投票できます。- レビューから
ミダバロ

回答:


15

パーサー:

Python

コードブロック:

def calc(f1,f2):

    if f1 > f2:
        return "True"
    elif f1 < f2:
        return "False"
    else:
        return "Equal"

式:

calc(!Dist_1!, !Dist_2!)

またはグラフィカルに(残念ながら、ここにすべてのコードブロックを表示することはできません)

ここに画像の説明を入力してください


PolyGeoありがとう-エラーが発生します000989-解析エラー:unindentはどの外部インデントレベルとも一致しません(3行目)。これを解読できますか?!!
クリスU

2
if、elif、elseステートメント(2)とreturnステートメント(4)の間隔を一定に保ちます。それぞれが独自の行にある必要があります。
ポール

1
Paul / PolyGeo、ありがとうございます。
Chris U
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.