Outdated version of the documentation. Find the latest one here.

17.31. Utilizarea script-urilor R în cadrul procesării

Modulul a fost dezvoltat de Matteo Ghetta - finanțat de Școala Superioară Sfânta Anna

Procesarea permite editarea si executarea script-urilor R în cadrul QGIS.

Warning

R trebuie să fie instalat în computerul dvs,, iar variabila PATH trebuie să fie corect setată. Mai mult decât atât, Processing doar solicită o serie de pachete R externe, acestea nefiind instalate în mod automat. De aceea, asigurați-vă că ați instalat pachetele exterbe direct în R. Consultați, în acest sens, capitolul din manualul de instruire.

Note

Dacă întâmpinați probleme cu unele pachete, probabil că nu le-ați încărcat pe cele obligatorii, cum ar fi sp, rgdal si raster.

17.31.1. Adăugarea script-urilor

Adăugarea unui script este foarte simplă. Deschideți Setul de instrumente pentru procesare și dați click pe R ‣ Instrumente ‣ Creați un nou script R.

../../../_images/r_intro_1.png

Note

Dacă nu puteți vizualiza R în Processing, trebuie să îl activați din Processing ‣ Opțiuni ‣ Furnizori

Se va deschide o fereastră de editare a scriptului în care va trebui să specificați o serie de parametri, înainte de a putea adăuga corpul scriptului.

../../../_images/r_intro_2.png

17.31.2. Crearea diagramelor

În cadrul acestui tutorial vom crea o diagramă de tip boxplot pentru un câmp al unui strat vectorial.

Deschideți proiectul QGIS r_intro.qgs.

17.31.2.1. Parametrii scriptului

Deschideți editorul și începeți să scrieți.

Va trebui să specificați câțiva parametri înaintea editării scriptului:

  1. numele grupului în care doriți să puneți scriptul:

    ##plots=group
    

    așadar, veți găsi scriptul în grupul intitulat plots din cadrul Instrumentelor Processing.

  2. va trebui să specificați faptul că doriți să vizualizați diagrama (la fel ca în acest exemplu):

    ##showplots
    

    diagrama va putea fi observată cu ajutorul comenzii Vizualizarea Rezultatelor.

  3. De asemenea, va trebui să specificați tipul de date cu care veți lucra. În acest exemplu, dorim să creăm o diagramă utilizând un câmp din baza de date atașată vectorului:

    ##Layer=vector
    

    Processing recunoaște faptul că datele introduse sunt în format vectorial. Numele layer nu este important, ci faptul că parametrul introdus este de tip vector

  4. În cele din urmă, va trebui să specificați câmpul de intrare al vectorului pentru care doriți să realizați diagrama:

    ##X=Field Layer
    

    Așadar, Processing recunoaște faptul că ați atribuit numele X Câmpului Stratului.

17.31.2.2. Corpul scriptului

O dată ce partea introductivă a scriptului a fost setată, puteți adăuga o funcție:

boxplot(Layer[[X]])

Remarcați faptul că boxplot este numele funcției R, care folosește un Strat pentru setul de date și pe X ca și câmp al acelui set de date.

Warning

Parametrul X este încadrat în paranteze pătrate duble [[]]

Scriptul final va trebui să arate astfel:

##Vector processing=group
##showplots
##Layer=vector
##X=Field Layer
boxplot(Layer[[X]])
../../../_images/r_intro_3.png

Salvați scriptul în calea implicită, propusă de Procesing. Numele pe care îl alegeți va fi similar cu numele script-ului pe care îl veți găsi în caseta instrumentelor Processing.

Note

Puteți salva scriptul în alte căi, dar Processing nu este în măsură să le încarce automat, așa că va trebui să încărcați toate script-urile manual

Acum, doar rulați-l, folosind butonul din partea de sus a ferestrei editorului:

../../../_images/r_intro_4.png

În caz contrar, o dată ce fereastra de editare a fost închisă, utilizați caseta de text din Processing pentru a găsi script-ul:

../../../_images/r_intro_5.png

Acum aveți posibilitatea de a completa parametrii necesari în fereastra algoritmului Processing:

  • ca și Strat alegeți-l pe cel cu puncte eșantion

  • umpleți câmpul X cu parametrul valoare

Efectuați clic pe Executare.

../../../_images/r_intro_6.png

Fereastra rezultatelor ar trebui să fie deschisă în mod automat, dacă nu, doar faceți clic pe Processing ‣ Result Viewer....

Acesta este rezultatul final pe care îl veți vedea:

../../../_images/r_intro_7.png

Note

Puteți deschide, copia și salva imaginea, printr-un clic dreapta pe diagramă

17.31.3. Crearea unui vector

De asemenea, cu ajutorul unui script R, puteți crea, un vector și să-l încărcați în mod automat în QGIS.

Exemplul următor a fost luat din scriptul Rețelei de eșantionare aleatoare, care poate fi descărcat din colecția online R ‣ Tools ‣ Download R scripts from the on-line collection.

Scopul acestui exercițiu este de a crea un punct vectorial aleatoriu într-o extindere a stratului, folosind funcția spsample din pachetul sp.

17.31.3.1. Parametrii scriptului

Ca și mai înainte, avem de stabilit câțiva parametri la începutul script-ului:

  1. specificați numele grupului în care doriți să puneți script-ul dvs., de exemplu, Analiza modelului punctelor:

    ##Point pattern analysis=group
    
  2. stabiliți stratul care va conține punctele aleatoare:

    ##Layer=vector
    
  3. stabiliți numărul de puncte care vor fi create:

    ##Size=number 10
    

    Note

    10 va fi valoarea automat desemnată. Puteți schimba acest număr sau puteți lăsa parametrul fără un număr implicit

  4. specificați faptul că rezultatul este un strat vectorial:

    ##Output= output vector
    

17.31.3.2. Corpul scriptului

Acum puteți adăuga corpul funcției:

  1. rulați funcția spsample:

    pts=spsample(Layer,Size,type="random")
    

    în acest fel, funcția preia extinderea Stratului, numărul de puncte este luat din parametrul Dimensiune, iar generarea punctului este aleatoare

  2. Scrieți linia care conține parametrii de ieșire:

    Output=SpatialPointsDataFrame(pts, as.data.frame(pts))

Scriptul final ar trebui să arate astfel:

../../../_images/r_intro_8.png

Salvați-l și rulați-l, făcând clic pe butonul de rulare.

În noul tip de fereastră scrieți parametrii potriviți:

../../../_images/r_intro_9.png

apoi faceți clic pe rulare.

Punctele rezultate vor fi afișate în canevasul hărții

../../../_images/r_intro_10.png

17.31.4. Sintaxa limbajului R din Processing

Luați aminte că Processing utilizează o sintaxă specială pentru a obține rezultatele în afara R:

  • > înainte de comanda dvs., ca în >lillie.test(Layer[[Field]]) denotă că rezultatul ar trebui să fie trimis la ieșirea R (Vizualizatorul de rezultate)

  • + după o plotare, pentru a suprapune plotările. De exemplu plot(Layer[[X]], Layer[[Y]]) + abline(h=mean(Layer[[X]]))