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¶
O dată ce ați descărcat datele, deschideți QGIS. Mergeți la
.
Clic pe Browse și navigați la folderul unde ați descărcat datele.
Țineți apăsată tasta Shift și efectuați clic pe ambele fișiere zip, pentru a le selecta. Clic pe Open.
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.
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.
Veți vedea ambele fișiere shape încărcate în QGIS.
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.
Î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.
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.
Î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.
Repetați procesul de reproiectare pentru stratul
ne_10m_rivers_lake_centerlines
și salvați noul strat carivers_lake_reprojected.shp
.
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 .
Î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.
Înapoi, în fereastra principală QGIS, faceți clic dreapta pe oricare dintre straturile reproiectate și selectați Zoom to Layer Extent.
Acum, veți vedea datele din CRS-ul stratului. Vom crea zone tampon pentru ambele seturi de date. Clic
.
Î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 capopulated_places_buffer.shp
. Clic pe OK.
După ce s-a încheiat procesarea zonei tampon, faceți clic pe Yes pentru a adăuga noul strat creat în Cuprins.
Repetați același proces de creare a zonelor tampon pentru stratul
rivers_lake_reprojected
și generați un fișier de ieșire numitrivers_lake_buffer.shp
.
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 stratulrivers_lake_buffer
și selectați Open Attribute Table.
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.
Introduceți expresia „featurecla” = „River” și faceți clic pe Select apoi pe Close pentru a reveni la fereastra principală QGIS.
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 .
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.
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.
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.
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….
Î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
.
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.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)