คำถามติดแท็ก tool-validation

3
การสร้างรายการตัวเลือกหลายค่าใน ArcGIS โดยใช้การตรวจสอบเครื่องมือโดยไม่ใช้ความถี่?
ฉันกำลังพยายามปรับรูปแบบและชุดสคริปต์ที่พบในเว็บไซต์บล็อกของ ESRI ชื่อ 'การสร้างรายการตัวเลือกหลายค่า' อย่างไรก็ตามฉันได้ข้อสรุปว่าส่วนหนึ่งของการตรวจสอบความถูกต้องที่ใช้ในสคริปต์ฝังตัวนั้นอาศัยเครื่องมือ 'ความถี่' เพื่อให้สามารถทำงานได้อย่างถูกต้อง แต่สามารถใช้งานได้เฉพาะกับสิทธิ์การใช้งานขั้นสูง (อ่อนแอ) โพสต์บล็อกอธิบายเวิร์กโฟลว์และสถานที่ในการดาวน์โหลดแบบจำลองและสคริปต์ (แต่ฉันจะโพสต์ไว้ที่นี่ตามคำร้องขอ) เท่าที่ฉันสามารถบอกได้ว่าเป็นหน้าที่หลักของฉันในการสร้างรายการตัวเลือกหลายค่า: .. เป็นที่สคริปต์การตรวจสอบความถูกต้องทำงานอย่างถูกต้อง หากไม่มีการตรวจสอบความถูกต้องฉันไม่สามารถรับค่าจากฟิลด์ให้ปรากฏเป็นรายการได้ มีสิ่งใดบ้างที่ฉันสามารถลบออกจากสคริปต์ตรวจสอบนี้เพื่อรับฟังก์ชั่นที่ฉันใช้อยู่หรือมีวิธีแก้ไขชั่วคราว ฉันไม่คุ้นเคยกับกระบวนการตรวจสอบ นี่คือรหัสสำหรับการตรวจสอบความถูกต้อง (ฉันกำลังจะโพสต์เป็นตัวอย่างโค้ด แต่ดูเหมือนว่าจะติดตามได้ง่ายกว่า): [ หมายเหตุบรรณาธิการ:นี่คือรหัสการตรวจสอบจริงภาพไม่ถูกต้อง] import arcpy class ToolValidator(object): """Class for validating a tool's parameter values and controlling the behavior of the tool's dialog.""" def __init__(self): """Setup arcpy and the list of tool …

1
ตั้งค่าเริ่มต้นสำหรับตารางค่าในเครื่องมือกล่องเครื่องมือหลาม
ฉันสร้างเครื่องมือ Python Toolbox เพื่อจัดลำดับฟิลด์ใหม่และสร้างคลาสฟีเจอร์ใหม่ด้วยฟิลด์ที่เรียงลำดับใหม่ เครื่องมือทำงานได้เป็นอย่างดีและฉันสามารถใช้ตารางค่าเพื่อให้ผู้ใช้จัดเรียงเขตข้อมูลตามลำดับที่พวกเขาเลือกหรือพวกเขาสามารถกรอกค่าอันดับสำหรับแต่ละเขตข้อมูล อย่างไรก็ตามส่วนที่น่ารำคาญของเครื่องมือนี้คือต้องเพิ่มเขตข้อมูลทั้งหมดในตารางค่าทีละครั้งก่อนที่จะจัดลำดับใหม่ ฉันกำลังพยายามตั้งค่านี้เพื่อนำฟิลด์ทั้งหมดไปยังตารางค่าโดยค่าเริ่มต้นและสามารถลบฟิลด์ที่ไม่ต้องการใด ๆ ก่อนที่จะจัดลำดับใหม่ มีใครเคยประสบความสำเร็จทำอะไรแบบนี้มาก่อนหรือไม่ ฉันพยายามทำสิ่งนี้ให้สำเร็จในวิธี UpdateParameters นี่คือรหัสที่ฉันพยายาม: import arcpy import os class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Reorder Fields" self.alias = "Reorder Fields" # List of tool classes associated …

1
การตั้งค่ารายการแบบหล่นลงในพารามิเตอร์ของเครื่องมือสคริปต์ Python หรือไม่
ฉันกำลังพยายามสร้างเครื่องมือจากสคริปต์ python ที่ฉันเขียนซึ่งจะสร้างรายการที่ฉันสร้างขึ้นและใช้เป็นเมนูแบบเลื่อนลงในเครื่องมือเสร็จเป็นหนึ่งในอินพุต (ดูรูปที่แนบมาตัวอย่าง): รายการที่ฉันใช้เป็นรายการขนาดใหญ่ที่มีเมืองทั้งหมดในรัฐเวอร์มอนต์และฉันสร้างมันในสคริปต์จากตาราง (ดูรหัสด้านล่าง) ฉันสงสัยว่าปัญหาของฉันในขณะนี้เป็นเพียงการตั้งค่าคุณสมบัติเครื่องมือเพื่อใช้รายการนี้และใช้เพื่อสร้างรายการแบบหล่นลงสำหรับผู้ใช้ นี่คือบล็อกของรหัสที่สร้างรายการเพื่อใช้ในพารามิเตอร์ - มีใครเห็นปัญหาใด ๆ ของการใช้รหัสนี้หรือไม่? import arcpy arcpy.env.workspace = "Z:\\OPS\\TechnicalServices\\Culverts\\GetCulverts\\GetCulverts.gdb" towns = "Database Connections\\GDB_GEN.sde\\GDB_Gen.VTRANS_ADMIN.townindex" arcpy.MakeFeatureLayer_management(towns,"towns_lyr") NameList = [] NameListArray = set() rows = arcpy.SearchCursor("towns_lyr") for row in rows: value = row.getValue("TOWNNAME") if value not in NameListArray: NameList.append(value) town = NameList town = arcpy.GetParameterAsText(0) …

1
แจ้งให้ผู้ใช้ป้อนข้อมูลในระหว่างการใช้งานเครื่องมือสคริปต์ ArcGIS Python หรือไม่
ฉันต้องการให้ผู้ใช้ป้อนข้อมูลหลังจากระบุพารามิเตอร์ทั้งหมดสำหรับเครื่องมือสคริปต์แล้ว ฉันเคยเห็นโพสต์ฟอรัมและคำถามแลกเปลี่ยนมากมายเกี่ยวกับเรื่องนี้และพวกเขาสรุปว่ามันไม่จำเป็น แต่ฉันคิดว่ากรณีของฉันเป็นข้อยกเว้น ฉันต้องการให้ผู้ใช้มีโอกาสยืนยันข้อมูลเช่นมีพิกัด GPS กี่ชุด พวกเขาจะเป็นคำถามที่ตอบว่าใช่ / ไม่ใช่ ("ข้อมูลนี้ไม่ถูกต้องหรือไม่") และรูปแบบการป้อนพารามิเตอร์เครื่องมือสคริปต์ไม่ดูเหมือนว่าจะทำงานได้ดีสำหรับสิ่งนี้ ฉันรู้ว่าตัวจัดการเหตุการณ์ของ Tkinter ทำให้เกิดปัญหากับ ArcGIS และ framworks อื่นมีปัญหาคล้ายกัน วิธีแก้ปัญหาหนึ่งที่ฉันพบคือให้สคริปต์ของคุณเรียกใช้สคริปต์อื่นที่ทำงานเป็นกระบวนการแยกต่างหากและแสดง GUI จากกระบวนการที่สอง แต่ดูเหมือนว่าแฮ็กน้อยเกินไป เห็นได้ชัดว่า wxPython ไม่ทำงาน แต่ก็ไม่ได้มาพร้อมกับงูหลาม ฉันต้องสามารถแจกจ่ายสคริปต์เหล่านี้ได้โดยไม่ต้องมีข้อกำหนดเพิ่มเติมนอกเหนือจาก ArcGIS ดังนั้นมันจึงไม่ได้ผลสำหรับฉัน เพื่อชี้แจงการใช้ที่สำคัญที่สุดคือการแจ้งให้ผู้ใช้เมื่อการตรวจสอบการตรวจสอบซอฟต์แวร์ของฉันไม่สามารถตรวจสอบข้อมูล ตัวอย่างเช่นฉันมีรายการรหัสที่ฉันต้องการตรวจสอบ แต่รูปแบบไม่สอดคล้องกัน ฉันต้องการให้ผู้ใช้โต้ตอบด้วยใช่ / ไม่ใช่กล่องโต้ตอบหากฉันไม่สามารถตรวจสอบในซอฟต์แวร์ (เช่น ID ไม่ตรงกับหนึ่งในรูปแบบทั่วไป) เป็นไปได้ว่ารูปแบบ ID ใหม่จะถูกสร้างขึ้นโดยที่ฉันไม่รู้ อีกตัวอย่างหนึ่ง: ฉันมีไฟล์ที่บรรจุตารางเวลาเริ่มต้นและหยุด ฉันต้องการตรวจสอบความถูกต้องของแต่ละแถวของตารางและยัดเยียดข้อมูลทั้งหมดรวมทั้งการตรวจสอบอื่น ๆ ลงในหน้าต่างคำเตือนที่น่าเกลียดอย่างรวดเร็ว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.