أكثر

آلة حاسبة حقل Arcmap لا تُرجع البرمجة النصية بيثون أية بيانات

آلة حاسبة حقل Arcmap لا تُرجع البرمجة النصية بيثون أية بيانات


أقوم بتشغيل ArcMap 10.2 لدي 4 حقول أعمل بها. العديد منها لديه إدخالات مكررة. من أجل العثور على الإدخال الصحيح الوحيد من جميع التكرارات التي أحاول حسابها الخاطئة. يعمل البرنامج النصي الخاص بي ، لكنني لم أحصل على أي بيانات يتم إرجاعها إلى حقل GeoloCode. لماذا ا؟

كودبلوك:

def cal (GeoloCode): if ((House_Num> = FROM_ADDR) و (House_Num <= TO_ADDR)): إرجاع 88 else: return 1

تعبير

كال (! GeolocCode!)

تحتاج إلى تمرير الحقول التي تستخدمها في كود كتلة الخاص بك كوسيطات للدالة ، بدلاً من الحقل الذي تقوم بحسابه. لذلك قد تبدو شفرتك كما يلي:

def cal (House_Num، FROM_ADDR، TO_ADDR): if ((House_Num> = FROM_ADDR) و (House_Num <= TO_ADDR)): إرجاع 88 else: return 1

تعبير:

كال (! House_Num !،! FROM_ADDR !،! TO_ADDR!)

إذا كنت لا ترغب في استخدام كتلة الكود ، فيمكنك فعلاً إنجاز الأمر برمته داخل كتلة التعبير بتعبير شرطي وحقيقة ذلك

x> = y و x <= zيعادلص <= س <= ع.

88 إذا! FROM_ADDR! <=! House_Num! <=! TO_ADDR! آخر 1

بعض الناس لا يحبون الثلاثيات في بيثون ، لذلك إذا لم يكن ذلك منطقيًا بالنسبة لك للوهلة الأولى ، انضم إلى النادي! أحب استخدامه فياحسب المجالنظرًا لأنه لا داعي للقلق بشأن كتلة التعليمات البرمجية.


شاهد الفيديو: Create Sequential Numbers in ArcGIS without using = FID!! Bangla - বল