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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.