จะทำอย่างไรถ้า Statement ใน Field Calculator ของ ArcGIS for Desktop?


10

ฉันมีไฟล์รูปร่างที่มีสองฟิลด์ตัวเลข ("Dist_1" และ "Dist_2") ฉันต้องการการคำนวณภาคสนามที่จะเติมฟิลด์เพิ่มเติม ("ผลลัพธ์") ด้วยหนึ่งในสามคำตอบ:

ก่อนถ้า Dist_1 มากกว่า Dist_2 จะเติมผลลัพธ์ด้วย 'True' ที่สองถ้า Dist_1 น้อยกว่า Dist_2 ที่เติมด้วย 'False' และที่สามถ้า Dist_1 และ Dist_2 นั้นมีค่าเท่ากับ "Equal"


โปรดอย่าเพิ่ม "ขอบคุณ" เป็นคำตอบ เมื่อคุณมีชื่อเสียงเพียงพอคุณจะสามารถลงคะแนนคำถามและคำตอบที่คุณเห็นว่ามีประโยชน์ - จากการรีวิว
Midavalo

คำตอบ:


15

parser:

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 - ข้อผิดพลาดในการแยกวิเคราะห์: การเยื้องออกไม่ตรงกับระดับการเยื้องภายนอก (บรรทัดที่ 3) คุณสามารถถอดรหัสสิ่งนี้ได้หรือไม่ !!
Chris U

2
รักษาระยะห่างที่สอดคล้องกันสำหรับคำสั่ง if, elif, else (2) รวมถึง statement return (4) แต่ละคนควรอยู่ในสายของตัวเอง
พอล

1
Paul / PolyGeo ขอบคุณมาก ๆ นี่ใช้งานได้ดี!
Chris U
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.