Próbuję iterować serię klas elementów (wielokątów) w programie do tworzenia modeli, aby przekonwertować serię wielokątów na rastry, jednak mam problem z nazwami plików wyjściowych.
Po wstawieniu narzędzia „iteruj klasę obiektów” do okna konstruktora modeli i połączeniu mojego gdb przechowującego wszystkie wielokąty jako dane wejściowe, funkcja wyjściowa (zielony bąbelek) automatycznie staje się nazwą mojego pierwszego wielokąta. W rezultacie model, który próbuję uruchomić, wydaje się powracać do tego nazwanego wielokąta, a nie przechodzić do następnego wielokąta na liście. Rastry wyjściowe są tworzone, ale zastępują tę nazwę pliku zamiast generować nowy raster nową nazwą, która pasuje do kolejnych wielokątów.
Co ja robię źle?
źródło
Istnieje kilka sposobów radzenia sobie z nazywaniem w programie do tworzenia modeli. ArcGIS posiada sekcję pomocy na ten temat: Krótka prezentacja użycia wbudowanego podstawiania zmiennych .
Jednym zręcznym sposobem szybkiego tworzenia unikalnych nazw z iteratora jest wywołanie zmiennych systemowych
%i%
lub%n%
, które generują pliki w następującej postaci: plik1, plik2, plik3, plik4 ...%i%
Zmienna systemowa odwołuje się do bieżącej pozycji listy, podczas gdy%n%
zmienna systemowa odwołuje się do bieżącej iteracji modelu. Zastosowałbyś to w praktyce w parametrze wyjściowym używanego narzędzia. Na przykład:Wyjściowa klasa cech
źródło
Wygląda na to, że chcesz wykonać kilka zagnieżdżonych pętli, jedną dla klas elementów w obszarze roboczym i jedną dla elementów w każdej klasie elementów. Jest to bolesne (ale możliwe ) w przypadku ModelBuilder.
Jeśli chcesz ubrudzić sobie ręce przy użyciu Pythona (który zdecydowanie polecam do takich rzeczy), oto przykład na początek:
Nie przetestowano, ale mam nadzieję, że masz pomysł. IMO, skrypty Pythona są znacznie łatwiejsze w obsłudze niż modele ModelBuilder do wszystkich zadań, z wyjątkiem najbardziej trywialnych.
W przypadku zasobów edukacyjnych Python / ArcPy nie szukaj dalej niż to pytanie: Jakie są zasoby do nauki ArcPy?
źródło