Python c.d. pętla for

W poprzednim poście dotyczącym przetwarzania danych w języku Python (Python c.d.n.) pisaliśmy o możliwości wycięcia danych w obrębie granic danego poligonu. Kompletny skrypt wyglądał następująco:

Do wycięcia mieliśmy 2 warstwy (miejscowosci.shp oraz obiekty_fizjograficzne.shp), warstwę wycinającą definiują gminy.shp.

Teraz spróbujemy zoptymalizować kod w taki sposób, aby dla każdej warstwy znajdującej się w danej przestrzeni roboczej (czyli w danym folderze na dysku) klip wykonał się automatycznie bez potrzeby każdorazowego definiowania danych wejściowych (tak jak robiliśmy to w skrypcie powyżej dane_wejsciowe1, dane wejsciowe2 oraz danych wynikowych wynik1, wynik2).

Przeanalizujmy teraz krok po kroku kod dla nowego skryptu. Już na pierwszy rzut oka widać, że skrypt ten jest nieco krótszy od poprzedniego.

Na początek musimy zaimportować pakiet arcpy oraz env odpowiadający za definiowanie zmiennych środowiskowych. Następnie dla lokalizacji danych na dysku potrzebny jest pakiet os, dzięki któremy python odnajdzie pliki na dysku, do których podamy mu mu szczegółowo ścieżkę.

W kolejnych krokach definiujemy przestrzeń roboczą.

Następnie piszemy pętle for, która przygotuje listę klas obiektów ze zdefiniowanej lokalizacji w danym folderze.

I na koniec uruchamiamy narzędzie CLIP, które zostanie wykonane dla listy obiektów z danego folderu.

Spróbujcie przećwiczyć tworzenie listy obiektów w danej lokalizacji oraz uruchomić dla nich inne narzędzie np: buffor.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Translate using Google Translate»
Social media & sharing icons powered by UltimatelySocial

Podoba Ci się nasza strona? Odwiedź nasz profil