Tôi có một công cụ dựa trên tập lệnh Python trong ArcGIS. Một trong các tham số cho công cụ là tệp raster đầu vào mà tôi đã đặt (sử dụng các thuộc tính của công cụ trong hộp công cụ) thành Lớp raster. Điều này có nghĩa là khi tôi thực thi công cụ, tôi có tùy chọn chọn tham số đó từ danh sách thả xuống của các lớp raster hiện đang được tải hoặc bằng cách điều hướng để tìm một lớp raster mới trong hệ thống tệp.
Sau đó tôi đang sử dụng arcpy.GetParameterAsText(0)
mã tiêu chuẩn để đưa tham số vào tập lệnh Python của mình. Điều này hoạt động tốt khi tôi chọn một tệp bằng cách duyệt qua hệ thống tệp, vì văn bản trong hộp thoại là đường dẫn đầy đủ đến tệp, nhưng khi tôi chỉ chọn từ danh sách thả xuống, văn bản tôi nhận được chỉ là tên tệp (ví dụ. file.tif
) .
Mã tôi đang chạy cần biết đường dẫn đầy đủ đến tệp - làm thế nào để tôi có được mã này?
Nếu tôi có thể giả sử rằng tệp luôn ở trong không gian làm việc thì tôi có thể nối thêm tên tệp vào arcpy.env.workspace
, nhưng tôi không thể cho rằng. Tôi có cần lặp đi lặp lại qua tất cả các lớp được tải cho đến khi tôi tìm thấy một lớp có cùng tên, và sau đó tìm đường dẫn đầy đủ của nó, hoặc có cách nào dễ dàng hơn không?