Làm cách nào để thực hiện If Statement trong Field Calculator của ArcGIS for Desktop?


10

Tôi có một shapefile chứa hai trường số ("Dist_1" và "Dist_2"). Tôi muốn một Tính toán trường sẽ điền vào một trường bổ sung ("Kết quả") với một trong ba câu trả lời:

Đầu tiên nếu Dist_1 lớn hơn Dist_2 kết quả với 'True' Thứ hai nếu Dist_1 nhỏ hơn Dist_2 với 'Sai' và Thứ ba nếu Dist_1 và Dist_2 bằng nhau với "Bằng"


Vui lòng không thêm "cảm ơn" làm câu trả lời. Một khi bạn có đủ danh tiếng , bạn sẽ có thể bỏ phiếu cho các câu hỏi và câu trả lời mà bạn thấy hữu ích. - Từ xét
Midavalo

Câu trả lời:


15

Trình phân tích cú pháp:

Python

Khối mã:

def calc(f1,f2):

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

Biểu hiện:

calc(!Dist_1!, !Dist_2!)

Hoặc đồ họa (bạn không thể thấy tất cả các khối mã ở đây không may)

nhập mô tả hình ảnh ở đây


PolyGeo cảm ơn - nhưng gặp lỗi 000989 - Lỗi phân tích cú pháp: unindent không khớp với bất kỳ mức thụt ngoài nào (dòng 3). Bạn có thể giải mã điều này? !!
Chris U

2
Giữ khoảng cách nhất quán cho các câu lệnh if, elif, khác (2) cũng như các câu lệnh return (4). Mỗi nên trên dòng riêng của mình.
Paul

1
Paul / PolyGeo, cảm ơn rất nhiều vì công việc này!
Chris U
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.