ฉันมีเครื่องมือที่ใช้สคริปต์ Python ใน ArcGIS หนึ่งในพารามิเตอร์สำหรับเครื่องมือคือไฟล์อินพุตแรสเตอร์ซึ่งฉันได้ตั้งค่าไว้ (โดยใช้คุณสมบัติของเครื่องมือภายในกล่องเครื่องมือ) ให้เป็นเลเยอร์แบบแรสเตอร์ ซึ่งหมายความว่าเมื่อฉันรันเครื่องมือฉันจะได้รับตัวเลือกให้เลือกพารามิเตอร์นั้นจากรายการดรอปดาวน์ของเลเยอร์แรสเตอร์ที่โหลดในปัจจุบันหรือโดยการนำทางเพื่อค้นหาเลเยอร์แรสเตอร์ใหม่ภายในระบบไฟล์
ฉันใช้arcpy.GetParameterAsText(0)
รหัสมาตรฐานเพื่อรับพารามิเตอร์ลงในสคริปต์ Python ของฉัน สิ่งนี้ใช้ได้ดีเมื่อฉันเลือกไฟล์โดยเรียกดูผ่านระบบไฟล์เนื่องจากข้อความในกล่องโต้ตอบเป็นเส้นทางแบบเต็มไปยังไฟล์ แต่เมื่อฉันเลือกจากรายการแบบเลื่อนลงข้อความที่ฉันได้รับกลับเป็นเพียงชื่อไฟล์ (เช่นfile.tif
) .
รหัสที่ฉันกำลังเรียกใช้จำเป็นต้องทราบเส้นทางแบบเต็มไปยังไฟล์ - ฉันจะได้รับสิ่งนี้ได้อย่างไร
หากฉันสามารถสันนิษฐานได้ว่าไฟล์นั้นอยู่ในพื้นที่ทำงานเสมอฉันก็สามารถต่อท้ายชื่อไฟล์ได้arcpy.env.workspace
แต่ฉันไม่สามารถสรุปได้ ฉันจำเป็นต้องวนซ้ำทุกเลเยอร์ที่โหลดจนกว่าฉันจะหาชื่อที่มีชื่อเดียวกันแล้วค้นหาเส้นทางแบบเต็มหรือมีวิธีที่ง่ายกว่าหรือไม่