Introducere în Geoprocessing. Partea 2 - ArcGIS Model Builder
de Matei Domnița
25.10.2014 Tutorialul de fața folosește o versiunea mai veche a softului prezentat. Va rugăm consultați versiunea actualizată sau contactați autorul.
Acest tutorial continuă introducerea utilizatorului în posibilitățile de procesare automată a datelor spațiale și de modelare spațială folosind facilitățile oferite. În această parte a tutorialului vor fi prezentate conceptele de bază care stau la baza creării de modele de procesare automată a datelor și utilizarea interfeței dedicate creării acestor modele în ArcGIS.
Ce este Model Builder?
Dacă în fereastra ArcToolbox pot fi găsite o mulțime de funcții care apar sub formă de tool-uri, organizate pe categorii uneori poate că acestea nu sunt suficiente pentru operațiile mai complexe pe care utilizatorul dorește să le realizeze. Este posibil să fie necesară combinarea mai multor tool-uri pentru a automatiza un flux de operații.
Alte motive pentru care automatizarea fluxurilor de operații sub formă de Geoprocessing models este utilă ar putea fi:
- Simplificarea interfeței unui tool pentru un utilizator nepriceput
- Partajarea de modele cu alți utilizatori care au de efectuat aceleași operații
- Utilizarea de parametri și de valori stocate ca variabile
- Combinarea unui număr oricît de mare de funcții pentru a obține eficiență în utilizarea unor fluxuri de lucru
Un Geoprocessing model este un flux de operații grupate stocat în ArcToolbox sub forma unui tool și avînd o interfață similară cu orice alt tool din ArcToolbox. ArcGIS Model Builder oferă o interfață grafică de realizare și administrare a unor asemenea fluxuri de operații. Avantajul major al utilizării Model Builder este ușurința cu care pot fi create anumite modele, fără să fie necesare cunoștiințe de programare sau de scripting.
Model Builder este componenta ArcGIS care permite crearea unor asemenea modele și oferă diverse posibilități de administrare sau modificare a acestor modele. Crearea unui model se realizează din ArcToolbox, folosind comanda New Model (Fig. 1).
Fig. 1 Crearea unui model
Interfața Model Builder
La crearea unui model sau la apelarea comenzii ‘Edit’ din meniul contextual (right click) al modelului este afișată interfața de editare a modelului cu toolbar-ul Model Builder (Fig. 2)
Fig. 2 Interfața Model Builder
Toolbar-ul Model Builder conține butoane pentru navigare prin model (diferite tipuri de zoom și pan), adăugare de date și editare de elemente ale modelului sau de conexiuni între elemente. Ultimul buton este folosit pentru rularea modelului direct din interfața de editare, dacă este dorit acest lucru.
Componentele unui model și organizarea acestora
Componentele principale din care este format un model sunt prezentate în fig. 3.
Fig. 3 Componentele unui model
Datele de intrare există înainte de rularea modelului, și sunt marcate cu ovale albastre.
Funcțiile pot fi tool-uri sau alte modele sau scripturi, și sunt marcate cu dreptunghiuri galbene
Datele de ieșire sunt create de model. Ele pot fi intermediare (sunt folosite mai departe pentru alte operații și obținerea altor date) sau finale (sunt rezultate ale apelării modelului).
Modelele nu trebuie să fie liniare, ele pot avea oricîte operații și oricîte date de intrare/ieșire. Cîteva exemple de posibilități pentru crearea modelelor sunt prezentate în continuare (Fig. 4-7).
Cu excepția fig. 6, am presupus următoarea situație pentru exemplificare (nu este o aplicație reală, deci nu trebuie considerată un exemplu de utilizat pentru proiecte sau sarcini de lucru):
- se stabilește distanța cu interdicție de construcție pe baza unui layer de drumuri.
- pe baza acestei distanțe este creat un buffer la rețeaua de drumuri
- acest buffer este intersectat cu construcțiile existente pentru a vedea care dintre aceste construcții sunt în ilegalitate
Fig. 4 Model cu o singură intrare și o singură ieșire
Fig. 5 Model cu mai multe intrări și o singură ieșire
Fig. 6 Model cu o singură intrare și mai multe ieșiri
Fig. 7 Model cu mai multe operații
Crearea unui model
Pentru crearea unui model pot fi aduse în interfața de editare orice elemente din arctoolbox (tool-uri, scripturi, alte modele) prin drag and drop (Fig. 8). De asemenea, din TOC pot fi aduse prin Drag and Drop layere din harta curentă. Un alt mod de a adăuga seturi de date este folosirea butonului Add Data de pe toolbar-ul Model Builder.
Fig. 8 Introducerea de elemente în model
După introducerea unei operații în model (indiferent de tipul acesteia) poate fi folosită comanda Open din meniul contextual pentru editarea detaliilor specifice operației (Fig. 9)
Fig. 9 Editarea operațiilor din model
Prin utilizarea comenzii Open parametrii de intrare și ieșire ai funcțiilor pot fi setați după dorința utilizatorului. Dacă acești parametri au fost adăugați anterior folosind butonul Add Connection din toolbar-ul Model Builder, ei vor apărea deja aici (Fig. 10)
Fig. 10 Editarea parametrilor pentru operațiile din model
După crearea modelului, acesta poate fi validat și rulat din meniul Model al ferestrei de editare a modelului (Fig. 11) sau direct din ArcToolbox prin dublu click pe numele acestuia
Fig. 11 Editarea parametrilor pentru operațiile din model
Parametrii unui model
Pentru ca un model să poată fi reutilizat și pentru alte date decît cele pe baza cărora a fost creat este nevoie ca datele de intrare sua de ieșire să poată fi setate de utilizator în funcție de contextul în care se apelează modelul. Acesta este motivul pentru care modelul poate folosi parametri.
Setarea unui set de date ca fiind parametru al modelului se face tot din meniul contextual prin comanda Model Parameter (Fig. 12). După setarea ca parametru setul de date va avea litera P lîngă ovalul care îl reprezintă în interfața grafică de editare a modelului.
Fig. 12 Setarea unui set de date ca parametru
La apelarea modelului, utilizatorul va avea posibilitatea de a alege setul de date sau valoarea corespunzătoare parametrului respectiv.
De asemenea, parametrii operațiilor din model pot fi setați și ca parametri ai modelului. acest lucru se face prin crearea unei variabile corespunzătoare parametrului operației, apoi setarea acestei variabile ca parametru al modelului. Exemplul prezintă crearea unei variabile pentru distanța la care se face buffer (Fig. 13). Această variabilă va fi setată ca parametru de către utilizator la apelarea modelului.
Fig. 13 Crearea unei variabile din parametrul unei operații
Variabile în model
Variabilele pot fi create din parametrii operațiilor folosite în model (Fig. 13) sau manual prin click dreapta în interfața de editare a modelului și apelarea comenzii (Fig. 14).
Fig. 14 Crearea unei variabile din interfața de editare
După crearea unei variabile ea poate fi utilizată oriunde prin introducerea numelui variabilei între caractere %%. astfel, oriunde apare șirul de caractere nume_variabilă> va fi înlocuit cu valoarea variabilei la aplicarea modelului. p. În fig. 15 este prezentată utilizarea distanței la care se face buffer pentru denumirea corespunzătoare a fișierului rezultat. La rularea modelului numele variabilei Distance va fi înlocuit cu distanța la care se realizează operația buffer, iar fișierul va primi un nume de forma ”Buffer_## Meters.shp”.
Fig. 15 Utilizarea unei variabile
Documentația modelelor
După crearea modelului autorul acestuia poate edita documentația acestuia pentru a-l face mai ușor de folosit pentru utilizatorii potențiali. Editarea documentației poate varia de la introducerea unui nume sugestiv și a unei descrieri succinte a parametrilor sau a modelului pînă la un sistem de Help complet cu fișiere .chm conținînd exemplificări de utilizare, figuri sau orice altceva.
Pentru a accesa posibilitățile de editare a documentației se folosește comanda Edit Documentation care apare în meniul contextual la click dreapta pe numele modelului în ArcToolbox (Fig. 16)
Fig. 16 Meniul pentru editarea documentației
Interfața de editare a documentației este prezentată în Fig. 17, împreună cu o editare exemplificativă realizată pentru parametrul corespunzător drumurilor pe care se va realiza operația Buffer. Se observă că în această interfață pot fi editate și descrierea modelului, date despre autori, licențierea acestuia, precum și detaliile din sistemul de Help (Exemple de utilizare, descrierea parametrilor, etc.)
Fig. 17 Interfața de editare a documentației
Fig. 18 prezintă modul în care parametrul descris în interfață apare la apelarea modelului
Fig. 18 Apelare model cu documentația editată
Utilizarea modelelor în cadrul altor modele
Modelele create pot fi utilizate în cadrul altor modele la fel ca orice alt tool sau script, prin Drag and Drop (Fig. 19). Astfel vor putea fi create modele mai complexe organizate modular pentru facilitarea înțelegerii sau modificării unor părți dintr-un complex de operații.
Fig. 19 Apelare model în cadrul altui model
Mai multe detalii despre lucrul cu modele în ArcGIS Model Builder pot fi văzute în Help la secțiunea Geoprocessing – Automating your work with models.