أكثر

ArcGIS Field Calculator لا يعمل elif المتداخل

ArcGIS Field Calculator لا يعمل elif المتداخل


أقوم بحساب حقل بناءً على حقلين آخرين في ArcMap 10.2 باستخدام Python.

كود البرنامج النصي ما قبل المنطق الخاص بي هو

def myfunc (أسطورة ، Btype):

if (legend == 'Apple'): return 'Banana' elif (legend == 'Cranberry'): return 'Date' elif (legend == 'Elderberry'): if (Btype.startswith ('Fig')): إرجاع 'Grape' elif (Btype.startswith ('Lychee')): إرجاع 'Mango' elif Btype is None: إرجاع 'Olive' else: إرجاع 'Pear' else: إرجاع 'Raspberry'

تعمل هذه الوظيفة في الغالب ، ولكن في حالة أن وسيلة الإيضاح هي "Elderberry" و Btype هي "Null" ، تقوم الوظيفة بإرجاع "Null" بدلاً من "Olive"

تحدث المشكلة فقط عندما أقوم بتداخل "is None" في عبارة if.


انقل فحص "لا يوجد" إلى التقييم الأول.

إذا كانت Btype هي بلا: إرجاع "Olive" elif (Btype.startswith ('Fig')): إرجاع 'Grape' elif (Btype.startswith ('Lychee')): إرجاع 'Mango'

في الأساس ، إذا كان Btype فارغًا ، فلا يمكنك البدء به ، وما إلى ذلك.


شاهد الفيديو: ArcGIS: Field Calculator