17.24. Execuția iterativă a algoritmilor
Notă
Această lecție prezintă un mod diferit de a executa algoritmii care folosesc straturi vectoriale, prin rularea lor în mod repetat, iterând entitățile dintr-un strat vectorial de intrare
We already know the model designer, which is one way of automating processing tasks. However, in some situations, the modeler might not be what we need to automate a given task. Let’s see one of those situations and how to easily solve it using a different functionality: the iterative execution of algorithms.
Deschideți datele corespunzătoare acestui capitol. Acesta ar trebui să arate astfel.
Veți recunoaște DEM-ul nostru bine-cunoscut din capitolele anterioare, și un set de bazine hidrografice extrase din el. Imaginați-vă că trebuie să reducem DEM-ul în mai multe straturi mici, fiecare dintre ele conținând doar datele de elevație corespunzătoare unui singur bazin hidrografic. Acest lucru va fi util dacă doriți mai târziu să calculați unii parametri ce țin de fiecare bazine hidrografice, cum ar fi cota de elevație sau curba hipsographică.
Acest lucru reprezintă o sarcină lungă durată și plictisitoare, mai ales în cazul în care numărul bazinelor hidrografice este mare. Cu toate acestea, este o sarcină care poate fi ușor automatizată, așa cum vom vedea.
Algoritmul utilizat pentru decuparea stratului raster după un strat poligonal este denumit Decuparea grilei cu ajutorul poligoanelor, și are următorul dialog cu parametri.
Puteți să-l executați folosind stratul bazinelor hidrografice și DEM-ul ca intrare, apoi veți obține următorul rezultat.
După cum puteți vedea, se utilizează aria acoperită de toate poligoanele bazinelor hidrografice.
Puteți decupa DEM-ul după un singur bazin hidrografic, prin selectarea bazinului dorit, și apoi prin rularea algoritmului așa cum am făcut-o mai înainte.
Deoarece numai entitățile selectate sunt folosite, numai poligonul selectat va fi folosit pentru a decupa stratul raster.
Făcând acest lucru pentru toate bazinele, se va produce rezultatul pe care îl căutăm, dar aceasta nu arată ca un mod foarte practic de lucru. În schimb, să vedem cum automatizăm rutina selectare și decupare.
Mai întâi de toate, eliminați selecția anterioară, astfel încât toate poligoanele să fie utilizate din nou. Deschideți algoritmul Decupare grilă după un poligon, apoi selectați aceleași surse ca și înainte, dar de data aceasta faceți clic pe butonul pe care le veți regăsi în partea dreaptă a intrării stratului vectorial, în care ați selectat stratul bazinelor hidrografice.
Acest buton va cauza divizarea stratului de intrare selectat în mai multe straturi, pe măsură ce se descoperă entitățile, fiecare dintre ele conținând câte un singur poligon. Algoritmul va fi solicitat în mod repetat, câte o dată pentru fiecare dintre aceste straturi cu un singur poligon. Rezultatul, în loc de un singur strat raster, va consta într-un set de straturi raster, fiecare dintre ele corespunzând câte unei execuții a algoritmului.
Iată rezultatul pe care îl veți obține, dacă ați rulat algoritmul de tăiere așa cum s-a explicat.
Pentru fiecare strat, paletă de culori alb-negru, (sau orice paletă pe care o utilizați), este ajustată în mod diferit, de la minim până la valorile sale maxime. Acesta este motivul pentru care puteți vedea diferite piese, iar culorile nu par a se potrivi la granița dintre straturi. Valorile, cu toate acestea, se potrivesc.
Dacă introduceți un nume pentru fișierul de ieșire, fișierele rezultate vor fi denumite folosind ca nume de fișier și, ca sufix, un număr corespunzător pentru fiecare iterație.