Αυτόματη δημιουργία χάρτη χρησιμοποιώντας την Σύνθεση Εκτύπωσης Ατλαντα

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

A new version of this tutorial is available at Automating Map Creation with Print Layout Atlas (QGIS3)

Αν ο οργανισμός σας δημοσιεύει εκτυπωμένους ή ψηφιακούς χάρτες, θα χρειάζεται να δημιουργείτε πολλούς χάρτες με βάση το ίδιο πρότυπο - συνήθως ένα για κάθε διοικητική μονάδα ή περιοχή μελέτης. Η δημιουργία αυτών των χαρτών χειροκίνητα μπορεί να πάρει πολύ χρόνο και αν θέλετε να τους ανανεώνετε τακτικά, μπορεί να μετατραπεί σε αγγαρεία. Tο QGIS έχει ένα εργαλείο που λέγεται «Άτλαντας» το οποίο μπορεί να σας βοηθήσει να δημιουργήσετε ένα πρότυπο χάρτη και να δημοσιεύσετε εύκολα μεγάλο αριθμό χαρτών για διαφορετικές περιοχές. Αν δεν είστε οικείοι με τα βασικά χαρακτηριστικά του Συνθέτη Εκτύπωσης, παρακαλώ διαβάστε την άσκηση Δημιουργία ενός χάρτη.

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

Αυτή η άσκηση θα σας δείξει πως να δημιουργήσετε χάρτες για υγρότοπους για κάθε δημοτικό διαμέρισμα στην πολιτεία της Χαβάη.

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

  • Πως να χρησιμοποιείσετε τον επεξεργαστή μορφορποίησης «Ανεστραμμένα πολύγωνα» για να γεμίσετε περιοχές έξω από τα πολύγωνα.

  • Πως να χρησιμοποιήσετε κώδικα στον επεξεργαστή μορφοποίησης Rule Based για να δείξετε μόνο το τρέχον χαρακτηριστικό στον Άτλαντα.

  • Εφαρμόστε εντολές για να δημιουργήσετε δυναμικές ετικέτες στην Σύνθεση Εκτύπωσης.

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

Θα χρησιμοποιήσουμε τα GIS Data Layers από το State of Hawaii - Office of Planning

Κατεβάστε το στρώμα Υγρότοποι από την κατηγορία Βιολογία και Οικολογία.

Κατεβάστε το στρώμα `Δημοτικά όρια απογραφής 2010 <http://files.hawaii.gov/dbedt/op/gis/data/county10.shp.zip>`_από την κατηγορία Πολιτισμικά και Δημογραφικά δεδομένα.

Για ευκολία, μπορείτε να κατεβάσετε απευθείας ένα αντίγραφο από τα δυο σύνολα δεδομένων από τις παρακάτω συνδέσεις.

HI_Wetlands.shp.zip

county10.shp.zip

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

Διαδικασία

  1. Ανοίξτε το QGIS. Μετάβαση σε: menuselection: Layer -> Layer Προσθήκη -> Προσθήκη Vector Layer..

../_images/1162.png
  1. Περιηγθείτε στο αρχείο``HI_Wetlands.shp.zip`` και πατήστε Open.

../_images/2134.png
  1. Επιλέξτε το στρώμα HI_Wetlands_Poly και πατήστε OK.

../_images/376.png
  1. Θα δείτε οτι τα πολύγωνα αντιπροσωπεύουν τους υγρότοπους για ολόκληρη την πολιτεία της Χαβάη. Δεδομένου οτι θέλουμε να φτιάξουμε ξεχωριστούς χάρτες για τους υγρότοπους για κάθε δημοτικό διαμέρισμα της πολιτείας, θα χρειαστούμε ένα στρώμα με τα όρια των δήμων. Πηγαίνετε στο :Layer –> Add Layer –> Add Vector Layer και βρείτε το αρχείο county10.shp.zip. Πατήστε Open.

../_images/444.png
  1. Πηγαίνετε στο Project ‣ New Print Composer.

../_images/538.png
  1. Αφήστε το πεδίο τίτλο της Σύνθεσης κενό και πατήστε OK.

../_images/637.png
  1. Πηγαίνετε στο Layout ‣ Add Map.

../_images/737.png
  1. Σύρετε ένα παραλληλόγραμμο ενώ κρατάτε το το αριστερό κουμπί του ποντικιού εκεί που θέλετε να εισάγετε τον χάρτη.

../_images/836.png
  1. Μετακινηθείτε προς τα κάτω στην καρτέλα Item Properties και επιλέξτε το κουτί Controlled by atlas. Αυτό θα υποδείξει στην Σύνθεση οτι η έκταση του χάρτη σε αυτό το αντικείμενο θα καθορίζεται από το εργαλείο «Άτλας».

../_images/937.png
  1. Πηγαίνετε στην καρτέλα Atlas generation. Επιλέξτε το κουτί Generate an atlas. Επιλέξτε το county10 ως το Coverage layer. Αυτό θα υποδείξει οτι θέλετε να δημιουργήσετε έναν χάρτη για κάθε πολυγωνο στο στρώμα county10. Μπορείτε επίσης να επιλέξετε το Hidden coverage layer ώστε τα χαρακτηριστικά καθεαυτά να μην εμφανίζονται στον χάρτη.

../_images/1044.png
  1. Θα παρατηρήσετε οτι η εικόνα του χάρτη δεν αλλάζει μετά την διαμόρφωση των ρυθμίσεων του Άτλαντα. Πηγαίνετε στο Atlas ‣ Preview Atlas.

../_images/1163.png
  1. Τώρα θα δείτε τον χάρτη να ανανεώνεται και να δείχνει πως θα εμφανίζονται οι μεμονωμένοι χάρτες. Σημειώστε οτι δείχνει τον τρέχον αριθμό απο το επίπεδο κάλυψης κάτω δεξιά.

../_images/1247.png
  1. Μπορείτε να δείτε πως θα εμφανίζεται ο χάρτης για κάθε πολιτειακό πολύγωνο. Πηγαίνετε στην επιλογή: menuselection:Atlas –> Next Feature

../_images/1345.png
  1. Ο Άτλαντας θα επεξεργαστεί τον χάρτη μέχρι την επόμενη λειτουργία στο επίπεδο κάλυψης.

../_images/1442.png
  1. Ας προσθέσουμε μια ετικέτα στο χάρτη. Πλοηγηθείτε στην επιλογή Layout ‣ Add Label.

../_images/1538.png
  1. Κάτω απο την καρτέλα Item properties , πατήστε το πλήκτρο Insert an expression…

../_images/1636.png
  1. Η ετικέτα του χάρτη μπορεί να χρησιμοποιήσει τις ιδιότητες απο το επίπεδο κάλυψης. Η συνάρτηση concat χρησιμοποιείται για να ενώσει πολλαπλά αντικείμενα κειμένου σε ένα ενιαίο αντικείμενο κειμένου. Σε αυτή την περίπτωση θα ενώσουμε την τιμή της ιδιότητας NAME10 του επιπέδου county10 με το κείμενο County of. Προσθέστε μια έκφραση όπως παρακάτω και επιλέξτε OK.

concat('County of ', "NAME10")
  1. Ρυθμίστε το φόντο της γραμματοσειράς μέχρι να σας αρέσει.

../_images/1831.png
  1. Προσθέστε μια ακόμη ετικέτα και εισάγετε Wetlands Map κάτω απο :guilabel:`Main properties. Απο την στιγμή που δεν υπάρχει έκφραση εδώ, το κείμενο θα παραμείνει το ίδιο σε όλους τους χάρτες.

../_images/1924.png
  1. Πλοηγηθείτε στην () και επλαηθεύστε οτι οι ετικέτες του χάρτη λειτουργούν όπως επιθυμείτε. Θα παρατηρήσετε οτι ο χάρτης του υγρότοπου έχει πολύγωνα που επεκτείνονται στον ωκεανό και φαίνονται άσχημα. Μπορούμε να αλλάξουμε το στυλ για τις περιοχές έξω απο τα πολιτειακά όρια και να είναι κρυμμένα Atlas ‣ Last Feature

../_images/2021.png
  1. Αλλάξτε στο κεντρικό παράθυρο του QGIS. Κάντε δεξί κλικ στο county10 επίπεδο και επιλέξτε Properties

../_images/2135.png
  1. Στην καρτέλα Style, επιλέξτε τον επεξεργαστή Inverted polygons. Αυτός ο επεξεργαστής μορφοποιεί το () το πολυγώνου - όχι το εσωτερικό. Επιλέξτε λευκό σαν το χρώμα γεμίσματος και επιλέξτε :guilabel:`OK.

../_images/2223.png
  1. Αλλάξτε στο παράθυρο Σύνθεσης Εκτύπωσης. Εάν επιθυμείτε το αποτέλεσμα των ανεστραμμένων πολυγώνων, πρέπει να αποεπιλέξετε το κουτί Hidden coverage layer κάτω απο Atlas generation. Τώρα θα δείτε οτι η επεξεργασμένη εικόνα είναι καθαρή και οι περιοχές έξω απο την κάλυψη του πολυγώνου δεν είναι εμφανής

../_images/2320.png
  1. Υπάρχει όμως ένα πρόβλημα. Μπορείτε να δείτε περιοχές του χάρτη που είναι εκτός των ορίων του επιπέδου κάλυψης αλλά ακόμη είναι εμφανείς. Αυτό οφείλεται στο γεγονός οτι ο Άτλαντας δεν καλύπτει αυτόματα τις υπόλοιπες λειτουργίες. Αυτό μπορεί να είναι χρήσιμο σε κάποιες περιπτώσεις, αλλά για τον δικό μας σκοπό, θέλουμε μόνο να δείξουμε τον υγρότοπο της πολιτείας της οποίας τον χάρτη δημιουργούμε. Για να το διορθώσετε αυτό, επιστρέψτε στο κεντρικό παράθυρο του QGIS και κάντε δεξί κλικ στο county10 επίπεδο και επιλέξτε Properties

../_images/2420.png
  1. Στην καρτέλα Style, επιλέξτε τον επεξεργαστή Rule-based ως Sub renderer. Κάντε διπλό κλικ στην περιοχή κάτω απο το Rule

../_images/2519.png
  1. Κάντε κλικ στο κουμπί δίπά από το Filter.

../_images/2617.png
  1. Στο Filter», επεκτέινετε την ομάδα συναρτήσεων :guilabel:`Atlas. Η συνάρτηση $atlasfeatureid θα επιστρέφει το επιλεγμένο χαρακτηριστικό. Θα κατασκευάσουμε μια εντολή η οποία θα επιλέγει μόνο το τρέχον χαρακτηριστικό από τον Άτλαντα. Εισάγετε την εντολή που φαίνεται παρακάτω:

$id = $atlasfeatureid
../_images/2716.png
  1. Πίσω στο παράθυρο του Επεξεργαστή Εκτύπωσης, πατήστε το κουμπί Update preview στην καρτέλα Item properties για να δείτε τις αλλαγές. Θα παρατηρήσετε οτι μόνο η περιοχή που καλύπτει το όριο του δήμου είναι εμφανής.

../_images/2817.png
  1. Τώρα θα προσθέσουμε μια ακόμα δυναμική ετικέτα η οποία θα δείχνει την τρέχουσα ημερομηνία. Πηγαίνετε στο Layout ‣ Add Label και επιλέξτε την περιοχή στον χάρτη. Πατήστε το κουμπί Insert an expression

../_images/2915.png
  1. Επεκτείνετε την ομάδα λειτουργιών Date and Time και βρείτε την συνάρτηση $now. Αυτή η συνάρτηση δείχνει την τρέχουσα ώρα του συστήματος. Η συνάρτηση todate() θα την μετατρέψει σε μια συμβολοσειρά ημερομηνίας. Εισάγετε την παρακάτω εντολή:

concat('Created on: ', todate($now))
../_images/3014.png
  1. Εισάγετε μια ακόμα ετικέτα στην οποία θα αναφέρετε την πηγή των δεδομένων. Μπορείτε επίσης να εισάγετε και αλλά στοιχεία στον χάρτη όπως σημείο βορρά, κλίμακα κ.α. όπως περιγράφεται στο κείμενο Δημιουργία ενός χάρτη.

../_images/3117.png
  1. Μόλις είστε ικανοποιημένοι με τον χάρτη, πηγαίνετε στο Atlas ‣ Export Atlas as Images.

../_images/3213.png
  1. Επιλέξτε έναν φάκελο στον υπολογιστή και πατήστε Choose.

../_images/3311.png
  1. Το εργαλείο Άτλαντας θα επαναλάβει την διαδικασία για κάθε χαρακτηριστικό στο στρώμα και θα δημιουργήσει έναν ξεχωριστό χάρτη με βάση το πρότυπο που δημιουργήσαμε. Μπορείτε να δείτε τις εικόνες στον φάκελο μόλις η διαδικασία ολοκληρωθεί.

../_images/3410.png
  1. Εδώ είναι οι εικόνες των χαρτών για αναφορά.

../_images/35_1.jpg ../_images/35_2.jpg ../_images/35_3.jpg ../_images/35_4.jpg ../_images/35_5.jpg

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