أكثر

تعذر تعيين ValueList للمعلمة في أداة python في ArcGIS

تعذر تعيين ValueList للمعلمة في أداة python في ArcGIS


لديّ أداة أكتبها تأخذ معايير متعددة. آخرها ، Codenumber ، أريد تعريفه ليكون 1،2،3 أو ​​4. أحاول القيام بذلك عن طريق استخدام قائمة القيم. انظر أدناه قسم من الكود الخاص بي ؛

outFC_location = arcpy. )) fcName = (arcpy.GetParameterAsText (5)) Codenumber = arcpy.Parameter (displayName = "Code Number"، datatype = "float" parameterType = "Required" direction = "Input" multiValue = False) # قم بإعداد قائمة ممكنة قيم رمز المدرج. Codenumber.filter.type = "Valuelist" Codenumber.filter.list = ["1"، "2"، "3"، "4"]

في خصائص البرنامج النصي ، تحت "حدود"، لا يمكنني تعيين "القيمة" كما هو موضح هنا ؛ https://desktop.arcgis.com/ar/desktop/latest/analyze/modelbuilder/value-list-filter.htm

الحقول الوحيدة التي يمكنني رؤيتها ضمن "المعلمات" هي اسم العرض ونوع البيانات. عند تشغيل الأداة ، لا يظهر إدخال Codenumber أي قائمة من المدخلات.

ما هو الخطأ في الكود الخاص بي أو النهج الخاص بي؟


أفترض أنك تقوم بتشغيل الكود مباشرة في ArcMap؟ في هذه الحالة ، هذا ما عليك القيام به:

  1. افتح ArcCatalog وانتقل إلى مربع الأدوات والبرنامج النصي
  2. يفتحالخصائصوانتقل إلىحدود
  3. أضف معلمة جديدة بنوع الحقلمزدوج
  4. تعيينقائمة القيمةكمامنقي
  5. أدخل القيم المطلوبة
  6. قم بتحرير الكود الخاص بك للتواصل مع معلمة قائمة القيمة (أيarcpy.GetParameterAsText (<>))

يتم تعيين هذا في Tool Validator Class لصندوق أدوات عادي ويتم تعيينه في البرنامج النصي الرئيسي في حالة استخدام مربع أدوات python. في كلتا الحالتين ، يمكنك عمل عوامل تصفية قائمة القيم في طريقة UpdateParameters () '. أيضًا ، إذا كان الحقل الخاص بك عبارة عن قيمة عائمة ، فيجب أن تكون قائمة القيم رقمية وليست نصية.


شاهد الفيديو: الفرق بين ArcMap u0026 ArcCatalog in ArcGIS