Εκτελώντας Χωρικά Αιτήματα

Προειδοποίηση

This tutorial is now obsolete. A new and updated version is available at Performing Spatial Queries (QGIS3)

Τα χωρικά ερωτήματα αποτελούν τον πυρήνα για πολλά είδη ανάλυσης GIS. Στο QGIS, αυτή η λειτουργικότητα είναι διαθέσιμη μέσω του πρόσθετου Spatial Query .

Επισκόπηση του έργου

Θα εργαστούμε με 2 σύνολα δεδομένων - ένα γραμμικό επίπεδο που αντιπροσωπεύει τα ποτάμια και ένα σημειακό επίπεδο που αντιπροσωπεύει τις πόλεις.Ο στόχος είναι να τρέξει ένα χωρικό αίτημα για να βρεθούν όλες οι πόλεις που βρίσκονται σε απόσταση 10 χιλιομέτρων από ένα ποτάμι.

Άλλες δεξιότητες που θα μάθετε

  • Ανοίγοντας αρχεία .zip απευθείας στο QGIS.

  • Επιλέγοντας την κατάλληλη προβολή και προβάλλοντας ξανά διανυσματικά δεδομένα.

  • Δημιουργώντας buffers.

  • Επιλέγοντας χαρακτηριστικά χρησιμοποιώντας εκφράσεις που μοιάζουν με SQL.

  • Μετατρέποντας ένα αρχείο shapefile σε αρχείο KML.

  • Επιβεβαιώστε τα αποτελέσματά σας χρησιμοποιώντας το Google Earth.

Πάρτε τα δεδομένα

Θα χρησιμοποιήσετε ομάδες δεδομένων από το Natural Earth ne_10m_rivers_lake_centerlines and 10m_populated_places_simple .

Κατεβάστε Rivers and Lake Centerlines

Κατεβάστε το Populated Places.

Πηγή δεδομένων : [NATURALEARTH]

Διαδικασία

  1. Αφού έχετε κατεβάσει τα δεδομένα, ανοίξτε το QGIS. Πηγαίνετε στο Layer ‣ Add Vector Layer.

../_images/1199.png
  1. Κάντε κλικ στο Browse και πλοηγηθείτε στο φάκελο όπου έχετε κατεβάσει τα αρχεία zip.

../_images/2162.png
  1. Κρατώντας πατημένο το Shift, κάντε κλικ και στα δύο αρχεία zip για να τα επιλέξετε.Κάντε κλικ στο Open.

../_images/3102.png
  1. Θα ερωτηθείτε για να επιλέξετε το επίπεδο από το zip archive. Επιλέξτε το ne_10m_rivers_lake_centerlines.shp και κάντε κλικ στο OK.

../_images/465.png
  1. Αφού έχετε επιλέξει τα πολλαπλά αρχεία ,επαναλάβετε τη διαδικασία για το επόμενο αρχείο.Επιλέξτε 10m_populated_places_simple.shp και κάντε κλικ στο OK.

../_images/559.png
  1. Θα δείτε και τα δυο shapefiles να έχουν φορτωθεί στο QGIS.

../_images/657.png
  1. Θα δημιουργήσουμε buffers γύρω από τα σημειακά και γραμμικά επίπεδα. Το εργαλείο geoprocessing Buffer στο QGIS χρησιμοποιεί layer units για να υπολογίσει τις αποστάσεις buffer.Τα επίπεδα που έχουμε είναι σε Geographic Coordinate Reference System (CRS) με τη μονάδα degrees. Αυτό δεν είναι κατάλληλο καθώς θέλουμε η ανάλυσή μας να χρησιμοποιεί “meters” ή “kilometers”.Για να αποφευχθεί κάτι τέτοιο, θα πρέπει να προβάλουμε ξανά τα επίπεδά μας σε ένα Projected Coordinate Reference System (CRS). Κάντε δεξί-κλικ στο 10m_populated_places_simple layer και επιλέξτε Save As.

../_images/756.png
  1. Στο παράθυρο διαλόγου Save vector layer as… , κάντε κλικ Browse δίπλα στο Save as και επιλέξτε την θέση του εξαγόμενου αρχείου.Ονομάστε το εξαγόμενο αρχείο ως populated_places_reprojected.shp. Έπειτα, κάντε κλικ στο κουμπί Browse δίπλα στο CRS.

../_images/854.png
  1. Now we must choose an appropriate CRS for our purpose. For creating buffers, a Azimuthal Equidistant projection would be best suited as radial distances around the center of the projection are accurate. In our case, since the dataset is global, we will choose a World projection. In the Coordinate Reference System Selector dialog, start searching for world az.. and you will see the results show up. Select the World_Azimuthal_Equidistant and click OK.

Σημείωση

Η World_Azimuthal_Equidistant προβολή εκτείνεται 90 μοίρες από το σημείο προσδιορισμού. Εδώ το σημείο προορισμού είναι στις 0 μοίρες γεωγραφικού μήκους, μόνο τα δεδομένα που περιέχονται εντός +/- 90 μοίρες γεωγραφικού μήκους θα μετατραπούν.

../_images/953.png
  1. Πίσω στο παράθυρο διαλόγου Save vector layer as … , τσεκάρετε το κουτάκι δίπλα στο Add saved file to map και κάντε κλικ OK.

../_images/1061.png
  1. Επαναλάβετε να τη διαδικασία να προβάλετε ξανά για το επίπεδο ne_10m_rivers_lake_centerlines και αποθηκεύστε το νέο επίπεδο ως rivers_lake_reprojected.shp.

../_images/11100.png
  1. Τώρα θα έχετε 4 επίπεδα στο δικό σας Layers Panel.Αποεπιλέξτε όλα τα κουτάκια δίπλα στα αρχικά επίπεδα για να εμφανίσετε μόνο τα επίπεδα που έχετε προβάλει ξανά. Τα επίπεδα που έχετε προβάλει ξανά εξακολουθούν να εμφανίζονται στο Geographic CRS λόγω ρύθμισης.Ας την απενεργοποιήσουμε. Κάντε κλικ στο κουμπί Project Properties.Αυτή η ρύθμιση μπορεί επίσης να προσπελαστεί από το Project ‣ Project Properties.

../_images/1263.png
  1. Στην καρτέλα : guilabel: CRS του παραθύρου διαλόγου : guilabel:Project Properties, αποεπιλέξτε το κουτάκι δίπλα στο Enable on-the-fly CRS transformation. Κάντε κλικ στο : guilabel: OK.

../_images/1360.png
  1. Πίσω στο κύριο παράθυρο του QGIS , κάντε δεξί-κλικ σε οποιοδήποτε από τα επίπεδα που έχετε προβάλει ξανά και επιλέξτε Zoom to Layer Extent.

../_images/1457.png
  1. Τώρα θα δείτε τα δεδομένα στο CRS του επιπέδου. Τώρα θα δημιουργήσουμε buffers και για τα δύο σύνολα δεδομένων. Κάντε κλικ στο Vector ‣ Geoprocessing Tools ‣ Buffer.

../_images/1552.png
  1. Στο εργαλείο : guilabel: Buffer, επιλέξτε το επίπεδο populated_places_reprojected ως είσοδο. Εισάγετε την απόσταση buffer ως 10000. Σημειώστε ότι θέλουμε ένα buffer 10 χλμ και δεδομένου ότι οι μονάδες CRS είναι μέτρα, θα πρέπει να εισάγετε 10.000. Εισάγετε το όνομα του εξαγόμενου αρχείου ως `` populated_places_buffer.shp``. Κάντε κλικ στο: guilabel: OK.

../_images/1649.png
  1. Αφού τελειώσει η buffer επεξεργασία, κάντε κλικ στο Yes για να προσθέσετε το επίπεδο που δημιουργήθηκε πρόσφατα στο TOC.

../_images/1746.png
  1. Επαναλάβετε την ίδια buffer διαδικασία για το επίπεδο rivers_lake_reprojected και ένα εξαγόμενο αρχείο με όνομα rivers_lake_buffer.shp.

../_images/1843.png
  1. Το rivers_lake_buffer περιέχει χαρακτηριστικά τόσο για τους ποταμούς όσο και για τις λίμνες.Η ανάλυσή μας ζητάει να χρησιμοποιηθούν μόνο τα χαρακτηριστικά των ποταμών κι έτσι θα τρέξουμε ένα αίτημα για να επιλέξουμε μόνο τα χαρακτηριστικά των ποταμών.Κάντε το δεξί-κλικ στο επίπεδο rivers_lake_buffer και επιλέξτε Open Attribute Table.

../_images/1934.png
  1. Θα δείτε ότι το χαρακτηριστικό featurecla περιέχει τις πληροφορίες που μπορούμε να επιλέξουμε για τα χαρακτηριστικά του ποταμού. Κάντε κλικ στο κουμπί Select features using an expression .

../_images/2029.png
  1. Εισάγετε την έκφραση «featurecla» = «River» και κάντε κλικ στο Select και έπειτα κάντε κλικ στο Close για να επιστρέψετε στο κύριο παράθυρο του QGIS.

../_images/2163.png
  1. Τώρα είμαστε έτοιμοι να εκτελέσουμε το χωρικό αίτημα. Χρειάζεται να ενεργοποιήσετε το Spatial Query plugin για να χρησιμοποιήσετε αυτήν τη λειτουργικότητα του συγκεκριμένου πρόσθετου. Δείτε το : doc: using_plugins για περισσότερες λεπτομέρειες. Μόλις ενεργοποιηθεί,πηγαίνετε στο Vector ‣ Spatial Query ‣ Spatial Query.

../_images/2230.png
  1. Για το αίτημα μας, θέλουμε να επιλέξετε τα χαρακτηριστικά από τα buffered σημεία που τέμνονται με τις buffered γραμμές του ποταμού. Βεβαιωθείτε ότι το checkbox δίπλα στο selected geometries είναι τσεκαρισμένο. Αυτό πρόκειται να εξασφαλίσει ότι το αίτημα χρησιμοποιεί μόνο τα χαρακτηριστικά του ποταμού που επιλέξαμε προηγουμένως. Κάντε κλικ στο: guilabel: Apply.

../_images/2327.png
  1. Αφού ολοκληρωθεί το αίτημα,θα δείτε το νέο τμήμα με όνομα Selected features. Κάντε κλικ στο κουμπί Create layer with selected`Ένα νέο επίπεδο θα έχει προστεθεί στο `Layers Panel. Κάντε κλικ στο Close.

../_images/2427.png
  1. Κάντε Zoom-in σε οποιαδήποτε περιοχή και συγκρίνετε τα αποτελέσματα.Θα παρατηρήσετε ότι το νέο επίπεδο περιέχει μόνο τα χαρακτηριστικά που τέμνονται με buffers του ποταμού.

../_images/2525.png
  1. Θα πρέπει πάντα να επιβεβαιώνουμε τα αποτελέσματα για να διασφαλίζουμε ότι η ανάλυση δεν είναι εσφαλμένη.Ένας τρόπος για νέο επιβεβαιώσουμε τα αποτελέσματα είναι τα εξάγουμε το επίπεδο ως αρχείο KML και να το φορτώσουμε στο Google Earth. Μπορείτε να ελέγξετε αν οι περιοχές που βρήκατε είναι όντως εντός 10 χιλιομέτρων από τον ποταμό.Κάντε δεξί-κλικ στο επίπεδο και Save As….

../_images/2623.png
  1. Στο Save vector layer as…, επιλέξτε WGS84 ως CRS. Αυτό χρειάζεται γιατί η μορφή KML χρειάζεται τις συντεταγμένες που βρίσκονται στο CRS.Ονομάστε το δικό σας KML ως cities_near_river.kml.

../_images/2722.png
  1. Ανοίξτε το Google Earth και επιβεβαιώστε ότι οι πόλεις που αναπαριστώνται σε αυτά τα buffers είναι όντως κοντά σε ποταμούς.

../_images/2821.png

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