Υπολογισμός Mήκους Γραμμών και Στατιστικά

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

This tutorial is now obsolete. A new and updated version is available at Calculating Line Lengths and Statistics (QGIS3)

Το QGIS έχει ενσωματωμένες λειτουργίες για τον υπολογισμό διαφόρων ιδιοτήτων με βάση τη γεωμετρία του χαρακτηριστικού - όπως το μήκος,την έκταση, την περίμετρο κ.λπ. Αυτό το tutorial θα δείξει πώς να χρησιμοποιούμε το Field Calculator για να προσθέσετε μια στήλη με μια τιμή που αντιπροσωπεύει το μήκος του κάθε χαρακτηριστικού.

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

Θα χρησιμοποιήσουμε μια polyline shapefile των σιδηροδρόμων στη Βόρεια Αμερική και θα προσπαθήσουμε να προσδιορίσουμε το συνολικό μήκος των σιδηροδρομικών γραμμών στις Ηνωμένες Πολιτείες.

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

  • Χρησιμοποιώντας εκφράσεις για να επιλέξετε τα χαρακτηριστικά.

  • Επαναπροβάλλετε ένα επίπεδο από το Geographic to Projected Coordinate Reference System(CRS).

  • Προβολή στατιστικών στοιχείων για τις τιμές ενός χαρακτηριστικού σε ένα επίπεδο.

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

`Natural Earth <http://www.naturalearthdata.com/downloads/10m-cultural-vectors/railroads/>`_έχει ένα δημόσιο τομέα των συνολικών δεδομένων σιδηροδρόμων. Κατεβάστε το `North America supplement<http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_railroads_north_america.zip>`_ zip αρχείο από την πύλη.

For convenience, you may directly download a copy of the dataset from the link below:

ne_10m_railroads_north_america..zip

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

Διαδικασία

  1. Μετάβαση σε :επιλογή μενού:Layer –> Add Vector Layer.

../_images/1170.png
  1. Περιηγηθείτε στο αρχείο ne_10m_railroads_north_america.zip και κάντε κλικ OK.

../_images/2140.png
  1. Στο Select layers to add… dialog, επιλέξτε ne_10m_railroads_north_america.shp επίπεδο.

../_images/380.png
  1. Μόλις φορτωθεί το επίπεδο, θα παρατηρήσετε ότι το επίπεδο έχει γραμμές που αντιπροσωπεύουν όλους τους σιδηροδρόμους της Βορείου Αμερικής. Επειδή θέλουμε να υπολογιστούν τα μήκη γραμμής μόνο για σιδηροδρόμους των Ηνωμένων Πολιτειών, θα πρέπει να επιλέξετε τις γραμμές που εμπίπτουν στις Ηνωμένες Πολιτείες. Κάντε δεξί κλικ στο επίπεδο και επιλέξτε: guilabel: Open Attribute Table.

../_images/448.png
  1. Το επίπεδο έχει ένα χαρακτηριστικό που ονομάζεται sov_a3. Αυτός είναι ο κωδικός 3 γραμμάτων για τη χώρα που ένα ιδιαίτερο χαρακτηριστικό πέφτει. Μπορείτε να χρησιμοποιήσετε την τιμή αυτού του χαρακτηριστικού για να επιλέξετε τα χαρακτηριστικά που βρίσκονται στις ΗΠΑ

../_images/542.png
  1. Στο παράθυρο Attribute Table , κάντε κλικ στο κουμπί Select features using an expression .

../_images/641.png
  1. Ένα νέο παράθυρο Select By Expression θα ανοίξει. Βρείτε το χαρακτηριστικό sov_a3 κάτω από Fields and Values στο τμήμα Functions list. Κάντε διπλό-κλικ για να το προσθέσετε στη περιοχή κειμένου το Expression . Συμπληρώστε την έκφραση πληκτρολογώντας``»sov_a3» = “USA”``. Κάντε κλικ Select followed by Close.

../_images/741.png
  1. Επιστροφή στο κύριο παράθυρο του QGIS, θα δείτε ότι όλες οι γραμμές οι οποίες εμπίπτουν στις ΗΠΑ επιλέγονται και εμφανίζονται με κίτρινο χρώμα.

../_images/840.png
  1. Τώρα ας αποθηκεύσετε την επιλογή μας σε ένα νέο αρχείο shapefile. Κάντε δεξί-κλικ στο επίπεδο``ne_10m_railroads_north_america`` και επιλέξτε Save Selection As….

../_images/941.png
  1. Κάντε κλικ Browse και ονομάστε το αρχείο εξόδου, όπως usa_railroads.shp. Θέλουμε επίσης να αλλάξετε τις CRS του επιπέδου. Κλικ στο Browse next to CRS

Σημείωση

Οι ενσωματωμένες λειτουργίες που χρησιμοποιούν τη γεωμετρία ενός χαρακτηριστικού για τον υπολογισμό, χρησιμοποιούν τις μονάδες του επιπέδου CRS. Geographic Coordinate Reference System(CRS) όπως EPSG:4326 έχουν degrees ως μονάδες - έτσι ώστε το μήκος του χαρακτηριστικού θα είναι σε degrees και περιοχή square degrees - η οποία δεν έχει νόημα. Θα πρέπει να χρησιμοποιήσετε ένα Projected Coordinate Reference System με μονάδες από meters ή feet για την εκτέλεση αυτών των υπολογισμών.

../_images/1048.png
  1. Από τη στιγμή που ενδιαφέρεστε για τον υπολογισμό του μήκους, ας επιλέξετε μία προβολή ίσων αποστάσεων. Τύπος north america equ in the Filter πλαίσιο αναζήτησης. Στα αποτελέσματα του κάτω παραθύρου, επιλέξτε North_America_Equidistant_Conic EPSG:102010 as the CRS. κάντε κλικ OK.

../_images/1171.png
  1. Στο Save vector layer as… πλαίσιο διαλόγου, ελέγξτε το Add saved file to map και κάντε κλικ OK.

../_images/1251.png
  1. Μόλις ολοκληρωθεί η διαδικασία εξαγωγής, θα δείτε ένα νέο επίπεδο usa_railroads που έχει τοποθετηθεί στο QGIS. Μπορείτε να απενεργοποιήσετε το πλαίσιο δίπλα στο επίπεδο``ne_10m_railroads_north_america`` για να το απενεργοποιήσετε καθώς δεν το χρειαζόμαστε πια.

../_images/1349.png
  1. Right-click on the usa_railroads layer and select Open Attribute Table.

../_images/1446.png
  1. Τώρα είναι καιρός να προσθέσετε μια στήλη με το μήκος του κάθε χαρακτηριστικού. Βάλτε το επίπεδο σε κατάσταση επεξεργασίας κάνοντας κλικ στο Toggle editing button. Αφού βρεθείτε σε κατάσταση επεξεργασίας, κάντε κλικ στο κουμπί Open field calculator.

../_images/1542.png
  1. Στο Field Calculator, ελέγξτε Create a new field. Εισάγετε length_km ως Output field name. Επιλέξτε Decimal number (real) ως Output field type. Αλλάξτε την έξοδο Precision to 2. Στο Function list panel, βρείτε τα $length under Geometry. Κάντε διπλό κλικ για να το προσθέσετε στη Expression. Συμπληρώστε την έκφραση ως $length / 1000 επειδή το CRS επίπεδό μας είναι σε μονάδα**meters** και θέλουμε το αποτέλεσμα σε km. Κάντε κλικ OK.

../_images/1640.png
  1. Επιστροφή στο Attribute Table, θα δείτε μια νέα στήλη length_km να εμφανίζεται. Κάντε κλικ στο κουμπί :guilabel:`Toggle editing`για να αποθηκεύσετε τις αλλαγές στον πίνακα των ιδιοτήτων.

../_images/1738.png
  1. Τώρα που έχουμε το μήκος της κάθε επιμέρους γραμμής στο επίπεδό μας, μπορούμε εύκολα να τα προσθέσουμε όλα επάνω και να βρούμε το Total μήκος. Μεταβείτε στην : Επιλογή μενού: Vector –> Analysis Tools –> Basic Statistics.

../_images/1835.png
  1. Επιλέξτε το Input Vector layer ως usa_railroads. Επιλέξτε το Target field ως length_km και κάντε κλικ OK. Θα δείτε διάφορα στατιστικά στοιχεία να εμφανίζονται. Στο Sum η τιμή είναι το συνολικό μήκος των σιδηροδρομικών γραμμών που ψάχνουμε να βρούμε.

Σημείωση

Αυτή η απάντηση παρουσιάζει μικρές διαφορές εφόσον επιλεγεί μια διαφορετική προβολή. Στην πράξη, τα μήκη γραμμής για τους δρόμους και τα άλλα γραμμικά στοιχεία μετρούνται στο έδαφος και με την προϋπόθεση ως χαρακτηριστικά στο σύνολο δεδομένων. Αυτή η μέθοδος λειτουργεί σε έλλειψη του εν λόγω χαρακτηριστικού και ως προσέγγιση του πραγματικού μήκους γραμμής.

../_images/1926.png

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