Efectuarea Interogărilor Spațiale

Atenționare

Acest tutorial este învechit. O versiune actualizată este disponibilă la Efectuarea Interogărilor Spațiale (QGIS3)

Interogările spațiale stau la baza mai multor tipuri de analize GIS. În QGIS, această funcționalitate este disponibilă prin intermediul plugin-ului Spatial Query.

Privire de ansamblu asupra activității

Vom lucra cu 2 seturi de date - un strat de linii reprezentând râurile și un strat de puncte reprezentând orașele. Sarcina este de a rula o interogare spațială pentru a găsi toate orașele, care sunt situate la cel mult 10 km de un râu.

Alte competențe pe care le veți dobândi

  • Deschiderea fișierelor .zip direct în QGIS.

  • Alegerea unei proiecții corespunzătoare și reproiectarea datelor vectoriale.

  • Crearea zonelor tampon.

  • Selectarea entităților, folosind expresii similare SQL.

  • Conversia unui fișier shape în KML.

  • Validarea rezultatelor cu ajutorul Google Earth.

Obținerea datelor

Vom folosi seturile de date ne_10m_rivers_lake_centerlines și 10m_populated_places_simple de la Natural Earth.

Descărcați Rivers and Lake Centerlines

Descărcați Populated Places.

Sursa datelor: [NATURALEARTH]

Procedura

  1. O dată ce ați descărcat datele, deschideți QGIS. Mergeți la Layer ‣ Add Vector Layer.

../_images/1199.png
  1. Clic pe Browse și navigați la folderul unde ați descărcat datele.

../_images/2162.png
  1. Țineți apăsată tasta Shift și efectuați clic pe ambele fișiere zip, pentru a le selecta. Clic pe Open.

../_images/3102.png
  1. Vi se va cere să alegeți un strat din arhiva zip. Selectați ne_10m_rivers_lake_centerlines.shp și faceți clic pe OK.

../_images/465.png
  1. Din moment ce ați selectat mai multe fișiere, repetați procesul pentru fișierul următor. Selectați 10m_populated_places_simple.shp și faceți clic pe OK.

../_images/559.png
  1. Veți vedea ambele fișiere shape încărcate în QGIS.

../_images/657.png
  1. S-au creat zonele tampon în jurul straturilor de tip punct și de tip linie. Instrumentul de geoprocesare din QGIS, Buffer, folosește unitățile stratului pentru a calcula distanțele tampon. Straturile pe care le avem sunt într-un Sistem de Coordonate de Referință (CRS) Geografic, având unitățile în grade. Acest lucru nu este adecvat atât timp cât vrem ca analiza noastră să folosească metri sau kilometri. Pentru acest lucru, trebuie să reproiectăm straturile într-un Sistem de Coordonate de Referință (CRS) Proiectat. Faceți clic dreapta pe 10m_populated_places_simple layer apoi alegeți Save As.

../_images/756.png
  1. În fereastra de dialog Save vector layer as…, apăsați Browse de lângă Save as și selectați locatia fișierului de ieșire. Denumiți fișierul de ieșire ca populated_places_reprojected.shp. Apoi, efectuați clic pe butonul Browse de lângă CRS.

../_images/854.png
  1. Acum trebuie să alegem un CRS adecvat scopului nostru. Pentru crearea zonelor tampon, o proiecție echidistantă azimutală ar fi cea mai potrivită atât timp cât distanțele radiale din jurul centrului de proiecție sunt corecte. În cazul nostru, deoarece setul de date este global, vom alege o proiecție a lumii. În fereastra de Selectare a Coordonatelor Sistemului de Referință lansați căutarea world az.., apoi veți observa rezultatele apărând. Selectați World_Azimuthal_Equidistant și faceți clic pe OK.

Notă

Proiecția World_Azimuthal_Equidistant se întinde până la 90 de grade, pornind dinspre origine. Deoarece originea are longitudinea de 0 grade, numai datele conținute în interiorul longitudinii de +/- 90 grade vor fi convertite.

../_images/953.png
  1. Înapoi, în fereastra de dialog Save vector layer as …, bifați caseta de lângă Add saved file to map si apăsați OK.

../_images/1061.png
  1. Repetați procesul de reproiectare pentru stratul ne_10m_rivers_lake_centerlines și salvați noul strat ca rivers_lake_reprojected.shp .

../_images/11100.png
  1. Acum, veți avea 4 straturi în Layers Panel dvs. Debifați casetele de lângă straturile originale pentru a afișa doar straturile reproiectate. Straturile reproiectate vor fi arătate ca fiind încă în CRS Geografic din cauza unei setări. Să corectăm acest lucru. Apăsați pe butonul Project Properties. Această setare poate fi accesată, de asemenea, din Project ‣ Project Properties.

../_images/1263.png
  1. În fila CRS a ferestrei de dialog Project Properties, debifați caseta de lângă Enable on-the-fly CRS transformation. Faceți clic pe OK.

../_images/1360.png
  1. Înapoi, în fereastra principală QGIS, faceți clic dreapta pe oricare dintre straturile reproiectate și selectați Zoom to Layer Extent.

../_images/1457.png
  1. Acum, veți vedea datele din CRS-ul stratului. Vom crea zone tampon pentru ambele seturi de date. Clic Vector ‣ Geoprocessing Tools ‣ Buffer.

../_images/1552.png
  1. În instrumentul Buffer, selectați ca ieșire stratul populated_places_reprojected. Introduceți 10000 ca distanță tampon. Rețineți că ne dorim un tampon de 10 kmp și deoarece unitățile CRS-ului sunt în metri, trebuie să introducem 10,000. Denumiți fișierul de ieșire ca populated_places_buffer.shp. Clic pe OK.

../_images/1649.png
  1. După ce s-a încheiat procesarea zonei tampon, faceți clic pe Yes pentru a adăuga noul strat creat în Cuprins.

../_images/1746.png
  1. Repetați același proces de creare a zonelor tampon pentru stratul rivers_lake_reprojected și generați un fișier de ieșire numit rivers_lake_buffer.shp.

../_images/1843.png
  1. rivers_lake_buffer conține entități care sunt atât râuri cât și lacuri. Analiza noastră cere folosirea doar a entităților de tip râu, așa că vom rula o interogare pentru a selecta entitățile de tip râu. Faceți clic dreapta pe stratul rivers_lake_buffer și selectați Open Attribute Table.

../_images/1934.png
  1. Veți vedea că atributul featurecla conține informații pe care le putem folosi pentru a selecta entitățile de tipul râu. Faceți clic pe butonul Selectați entitățile folosind o expresie.

../_images/2029.png
  1. Introduceți expresia „featurecla” = „River” și faceți clic pe Select apoi pe Close pentru a reveni la fereastra principală QGIS.

../_images/2163.png
  1. Acum suntem gata pentru a efectua interogarea spațială. Trebuie să activați Plugin-ul de Interogare Spațială pentru a utiliza această funcționalitate. Vedeți Utilizarea Plugin-urilor pentru mai multe detalii. O dată activat, mergeți la Vector ‣ Spatial Query ‣ Spatial Query.

../_images/2230.png
  1. Pentru interogarea noastră, vrem să selectăm entitățile din zonele tampon care se intersectează cu zonele tampon ale liniilor de râu. Asigurați-vă că ați bifat caseta de lângă geometrii selectate. Acest lucru îl facem pentru a ne asigura că interogarea utilizează doar entitățile de tip râu pe care le-am selectat anterior. Clic Apply.

../_images/2327.png
  1. O dată ce interogarea este completă, veți vedea o nouă secțiune numită Selected features. Faceți clic pe butonul Create layer with selected. Un nou strat va fi adăugat în Layers Panel. Clic pe Close.

../_images/2427.png
  1. Măriți orice zonă și comparați rezultatele. Veți observa că noul strat conține doar entitățile care se intersectează cu zonele tampon ale râurilor.

../_images/2525.png
  1. Ar trebui să verificăm întotdeauna rezultatele pentru a ne asigura că analiza nu este eronată. O modalitate de a verifica rezultatele este de a exporta acest strat ca un fișier KML și să-l încărcăm în Google Earth. Puteți verifica dacă zonele se găsesc într-adevăr la maximum 10 kmp de un râu. Faceți clic dreapta pe layer și apăsați Save As….

../_images/2623.png
  1. În Save vector layer as…, alegeți WGS84 ca CRS. Acest lucru este necesar deoarece, pentru a fi în acest CRS, formatul KML are nevoie de coordonate. Denumiți KML-ul cities_near_river.kml.

../_images/2722.png
  1. Deschideți Google Earth și verificați dacă orașele reprezentate de aceste zone tampon sunt situate, într-adevăr, în apropiere de râuri.

../_images/2821.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)