Przekazujesz zmienną ze skryptu ArcPy do ModelBuilder?

9

Mam model, który przekazuje zmienną do skryptu python. Skrypt używa tej zmiennej do przeszukiwania niektórych katalogów i zwracania listy ścieżek. Chcę wiedzieć:

  • Jak mogę następnie użyć każdej z tych ścieżek jako parametru w kolejnej operacji?
  • Czy most między Pythonem a ModelBuilder to ulica jednokierunkowa?
Tomek
źródło

Odpowiedzi:

8

Zakładam, że dodałeś skrypt Python do modelu, najpierw dodając skrypt Python do przybornika, ustawiając dane wejściowe skryptu na karcie Parametry.

W zakładce Parametry możesz dodać nowe parametry dla wyniku skryptu. Aby to zrobić, po prostu zmień:

  • Directionna właściwości parametru do Output;
  • Data Typew zależności od tego, co wyjście Python będzie (prawdopodobnie ciąg lub całkowitą, ale może klasa elementów);
  • a następnie Typewe właściwościach parametru do Derived(choć uczciwie Requiredi Optionalbędzie działać w zależności od typu danych, ale opiszę to poniżej)

Następnie możemy po prostu użyć arcpy.SetParameterdanych wyjściowych ze skryptu Python z powrotem do modelu.

Kilka uwag:

  • Jeśli parametr wyjściowy jest ustawiony na Requiredlub Optionalmożesz podać dane wejściowe do skryptu, podając wartości domyślne, które można uzyskać za pomocą arcpy.GetParameterlub zsys.argv
  • Liczba parametru ustawionego jako wynik zależy od całkowitej liczby parametrów skryptu Python (tj. Jeśli masz już dwa parametry wejściowe przed parametrem wyjściowym, musisz użyć arcpy.SetParameter(2, value))

Zobacz także pomoc dotyczącą parametrów narzędzia skryptowego Arcpy Setting .

om_henners
źródło