Mam narzędzie skryptowe Python w ArcGIS. Jednym z parametrów tego narzędzia jest wejściowy plik rastrowy, który ustawiłem (używając właściwości narzędzia w przyborniku), aby był warstwą rastrową. Oznacza to, że kiedy uruchamiam narzędzie, dostaję opcję wyboru tego parametru z listy rozwijanej aktualnie załadowanych warstw rastrowych lub nawigując, aby znaleźć nową warstwę rastrową w systemie plików.
Następnie używam standardowego arcpy.GetParameterAsText(0)
kodu, aby wprowadzić parametr do mojego skryptu Python. Działa to dobrze, gdy wybieram plik podczas przeglądania systemu plików, ponieważ tekst w oknie dialogowym jest pełną ścieżką do pliku, ale gdy wybieram z listy rozwijanej, tekst, który otrzymuję, jest tylko nazwą pliku (np. file.tif
) .
Kod, który uruchamiam, musi znać pełną ścieżkę do pliku - jak go zdobyć?
Gdybym mógł założyć, że plik zawsze znajdował się w obszarze roboczym, mógłbym dołączyć do niego nazwę pliku arcpy.env.workspace
, ale nie mogę tego założyć. Czy muszę iterować wszystkie załadowane warstwy, dopóki nie znajdę jednej o tej samej nazwie, a następnie nie znajdę jej pełnej ścieżki, czy też istnieje łatwiejszy sposób?