QGIS

QGIS 3.0 - Πώς, πότε και τι; υπονοεί

Πολλοί αναρωτιούνται:

Πότε θα κυκλοφορήσει το QGIS 3.0;

Πέρυσι (2015) η ομάδα του έργου άρχισε να διερευνά πότε και πώς κυκλοφόρησε το QGIS 3.0. Υποσχέθηκαν, σύμφωνα με μια θέση από το Anita Graser, ότι επρόκειτο να μεταδώσουν με σαφήνεια τα σχέδιά τους σε χρήστες και προγραμματιστές πριν ξεκινήσουν το QGIS 3.0. Πρόσφατα προσπάθησαν να εκθέσουν ορισμένες από τις σκέψεις για μια κυκλοφορία του QGIS 3.0 και στο τέλος της ανάρτησης υπάρχει μια ευκαιρία για εμάς να παρουσιάσουμε τις ιδέες μας.

Γιατί 3.0;

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

Περιστασιακά, το σπάσιμο του API είναι απαραίτητο για την αναβάθμιση της αρχιτεκτονικής με βελτιωμένες προσεγγίσεις, νέες βιβλιοθήκες και διορθώσεις στις αποφάσεις που ελήφθησαν στο παρελθόν.

Ποιες είναι οι συνέπειες από το σπάσιμο του API;

Ένας λόγος για τον οποίο αυτή η παραβίαση του API στο QGIS 3.0 είναι ότι θα έχει μεγάλο αντίκτυπο, που θα μπορούσε να σπάσει τις εκατοντάδες των αναπτυγμένων plugins που δεν θα είναι πλέον συμβατά με το νέο API και οι συντάκτες αυτών έχουν να κάνουν μια ανασκόπηση των εξελίξεών τους για να διασφαλιστεί η συμβατότητα με το νέο API.

Η έκταση των αναγκαίων αλλαγών εξαρτάται σε μεγάλο βαθμό από:

  • Πόσες αλλαγές στο API επηρεάζουν την τρέχουσα λειτουργικότητα.
    Σε πόσες περιπτώσεις οι συγγραφείς του plugin έχουν χρησιμοποιήσει τμήματα του API που θα άλλαζαν.
  • Ποιες θα είναι οι κύριες αλλαγές για το 3.0;

Υπάρχουν τέσσερις βασικές περιοχές που θέλετε να αλλάξετε στο 3.0:

 

Ενημέρωση Qt4 στο QT5: Αυτό είναι το βασικό σύνολο βιβλιοθηκών που το QGIS είναι χτισμένο σε κορυφαίο επίπεδο, μιλάμε για το CORE-λειτουργικό επίπεδο της πλατφόρμας. Το QT παρέχει επίσης βιβλιοθήκες για την εκτέλεση διαχείρισης μνήμης, λειτουργιών συνδεσιμότητας και διαχείρισης γραφικών. Το Qt4 (στο οποίο βασίζεται επί του παρόντος το QGIS) δεν αναπτύσσεται επί του παρόντος από τους συντηρητές της βιβλιοθήκης Qt και ενδέχεται να έχει προβλήματα λειτουργικότητας με ορισμένες πλατφόρμες (π.χ. OS X) και ακόμη και να διευκολύνει τη διαχείριση των δυαδικών εκδόσεων (π.χ. Debian Testing και την επόμενη έκδοση του Debian "Τέντωμα"). Η διαδικασία μεταφοράς του QGIS στο QT5 έχει ήδη μια σημαντική πρόοδο (κυρίως αυτό που έχει κάνει ο Matthias Kuhn) ότι μαζί με τον Marco Bernasocchi καπνίζουν στο Android "QField" που βασίζεται εξ ολοκλήρου στο QT5. Ωστόσο, υπάρχουν ορισμένοι περιορισμοί στην έναρξη και λειτουργία του νέου QT5 λόγω των επιπτώσεών του στο QGIS – ιδιαίτερα με τα widget του προγράμματος περιήγησης ιστού (που χρησιμοποιούνται κυρίως στο Composer και επίσης σε μερικά άλλα μέρη στο QGIS).

Ενημέρωση του PyQt4 σε PyQt5: Αυτές είναι οι σχετικές αλλαγές στη γλώσσα Python για το Qt στο οποίο βασίζεται το QGIS Python API. Προκύπτει αλλάξει η QT5 C ++ βιβλιοθήκη, αναμένεται επίσης να μεταφέρετε στο PyQt5 βιβλιοθήκη python ώστε να μπορούν να επωφεληθούν από τα πλεονεκτήματα του νέου API σε Python QT5.
Ενημέρωση του Python 2.7 σε Python 3: Προς το παρόν όλα λειτουργούν στο Python 2.7. Το Python 3 είναι η τελευταία έκδοση του python και συνιστάται από εκείνους που ηγούνται αυτού του έργου. Το Python 2 είναι ελαφρώς ασύμβατο με το Python 3 (σχεδόν ανάλογο με την ασυμβατότητα μεταξύ QGIS 2 και Qgis 3). Πολλοί προγραμματιστές έχουν κάνει το python Python 3 σε μεγάλο βαθμό συμβατό με το Python 2, αλλά η συμβατότητα προς τα πίσω δεν είναι τόσο καλή.
Βελτίωση του ίδιου του QGIS API: Ένα από τα προβλήματα με τη διατήρηση της συμβατότητας API μεταξύ των εκδόσεων είναι ότι πρέπει να ζήσετε με τις σχεδιαστικές σας επιλογές για μεγάλο χρονικό διάστημα. Καταβάλλεται κάθε προσπάθεια στο QGIS για να μην σπάσει το API σε μια σειρά από μικρές εκδόσεις. Η κυκλοφορία μιας έκδοσης QGIS για 3.0 με ένα API που δεν υποστηρίζεται αυτήν τη στιγμή θα μας δώσει την ευκαιρία να "καθαρίσουμε" επιδιορθώνοντας πράγματα στο API με τα οποία δεν συμμορφωνόμαστε. Μπορείτε να δείτε μια προσωρινή λίστα με Προτεινόμενες αλλαγές για το API 3.0.

Πώς να υποστηρίξετε την αλλαγή του API 3.0

Όπως ήδη αναφέρθηκε, η έκδοση 3.0 θα σπάσει με την έκδοση 2.x QGIS και υπάρχει πιθανότητα να σπάσουν πολλές προσθήκες, υπάρχουσες εφαρμογές και άλλος κώδικας που βασίζεται στο τρέχον API. Τι μπορεί να γίνει λοιπόν για να μετριαστούν οι αλλαγές; Οι Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias και άλλοι κορυφαίοι προγραμματιστές αναζητούν τρόπους για τον μετριασμό του αριθμού των αλλαγών αλλαγών API ενώ συνεχίζουν να προωθούν την βάση κώδικα QGIS με βάση την επόμενη γενιά βιβλιοθηκών και το δικό της εσωτερικό API. Κατά τη διάρκεια της τελευταίας μας συνάντησης της QGIS Project Steering Committee, πραγματοποιήθηκε γεωδιάτρηση μέσω διαφόρων δυνατοτήτων. Ο παρακάτω πίνακας συνοψίζει αυτό που ο Matthias Kuhn συνοψίζει με ευγένεια και ότι έχουμε προσπαθήσει εν μέρει να μεταφράσουμε σε αυτό το άρθρο σύμφωνα με το τι Δημοσιεύτηκε στο ιστολόγιό σας:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Ημερομηνία κυκλοφορίας Τέλος Φεβρουαρίου 4 μήνες αργότερα 2.14 Κύκλος 8 Μήνες;
σημειώσεις Ενημέρωση των βασικών κωδικό QGIS python Python 3 να είναι συμβατό και υποστηρίζει PyQt5 (μερική εφαρμογή για τις βασικές λειτουργίες, π.χ. κονσόλα, ο πυρήνας του πύθωνα plugins κλπ)
Qt4 Si

Αποσυνδεδεμένο στο Debian Stretch (οφειλόμενο σε ένα χρόνο)

(webkit αφαιρεθεί)

Ναι Οχι
Qt5 Οχι

Misses QWebView - νέα αντικατάσταση δεν σε όλες τις πλατφόρμες. Επίσης χάνει την QPainter Engine.

Si Si
PyQt4 Si Si Οχι
PyQt5 Οχι Si Si
Python 2 Si Si Οχι
Python 3 Οχι Si Si
Εκκαθάριση API Οχι Οχι Si
Συσκευαστές
PyQt5 -> PyQt4
Παρέχει ~ 90% Συμβατότητα προς τα πίσω
Οχι Si Si
Κύρια ροή δυαδικών Βασισμένο στο Qt4 Βασισμένο στο Qt4 Βασισμένο στο Qt5
Προτεραιότητα χρηματοδότησης Συσκευασίες Python

Υπάρχουν δύο σημαντικά πράγματα που πρέπει να θυμάστε σχετικά με την πρόταση του Μάτι:

Στην πρώτη φάσηΤο έργο γίνεται στη σειρά για να ολοκληρωθεί 2.x QT5 υποστήριξη, PyQt5 χρησιμοποιώντας Python 3.0, υποστηρίζοντας Qt4, PyQt4 και Python 2.7. Αυτό σημαίνει ότι όλες οι αλλαγές που έγιναν στην πρώτη φάση θα ήταν συμβατές με προηγούμενες εκδόσεις 2.x. χαρακτηριστικά Python θα ενσωματωθούν θα εισαχθεί έτσι ώστε η παλιά API PyQt4 μπορούν ακόμα να χρησιμοποιηθούν ειδικά όταν καταρτίζονται κατά QT5, PyQt5, Python 3.0. Όταν χρησιμοποιείτε το QGIS που έχει συγκεντρωθεί σε σχέση με τα Qt4, PyQt4 και Python 2.7, δεν θα υπήρχε συμβατότητα διακοπής.
Στη δεύτερη φάσηΑυτό θα μπορούσε να λειτουργήσει για την παραγωγή QGIS 3.0, εισάγοντας το νέο API, καταργήσετε εντελώς την Python 2.7, συμπεριλαμβανομένης της υποστήριξης για Qt4 και PyQt4. Νέα χαρακτηριστικά στην python που εισέρχονται στην πρώτη φάση θα πρέπει να διατηρηθεί, λαμβάνοντας υπόψη όλες τις κώδικα python και τις εξελίξεις για τις εκδόσεις 2.x του QGIS συνεχίσει να εργάζεται στις εκδόσεις 3.x του QGIS. Σε αυτή τη φάση αναμένεται επίσης να εισαγάγετε αλλαγές στο API QGIS που μπορεί να σπάσουν κάποια πρόσθετα. Για να αντιμετωπιστεί αυτό θα αποτελέσει τη μετανάστευση αα καθοδήγηση για να προσπαθήσει να διευκολύνει τη μετάβαση των εκδόσεων 2.x QGIS 3.x QGIS εκδόσεις.

Emptor προειδοποίησης

Υπάρχουν μερικά κόλπα που πρέπει να τεθούν σε εφαρμογή για να διασφαλιστεί ότι η μετάβαση στο QGIS 3.0 δεν θα είναι οδυνηρή.

  • 1. SΘα πρέπει να σημειωθεί ότι, ενώ η προσέγγιση που περιγράφεται παραπάνω προσπαθεί να ελαχιστοποιήσει την ποσότητα εργασίας για τη δέσμευση σε python σε plugins, αυτό δεν θα είναι απαραίτητα 100%. Πιθανότατα θα υπάρχουν περιπτώσεις όπου ο κώδικας πρέπει να τροποποιηθεί και τουλάχιστον σε όλες τις περιπτώσεις, πιθανότατα θα πρέπει να αναθεωρηθεί προκειμένου να διασφαλιστεί ότι θα συνεχίσει να λειτουργεί σωστά.
    2. Δεν υπάρχει επίσημα χρηματοοικονομικός πόρος για την πληρωμή προγραμματιστών που επενδύουν οικειοθελώς τον χρόνο τους για αυτήν τη διαδικασία μετανάστευσης. Εξαιτίας αυτού, θα είναι πολύ δύσκολο να δοθούν ακριβή χρονικά πλαίσια για το πόσο θα διαρκέσει κάθε μέρος της διαδικασίας. Αυτή η αβεβαιότητα πρέπει να ληφθεί υπόψη κατά τον προγραμματισμό. Φυσικά, οι δωρεές είναι ευπρόσδεκτες να σας βοηθήσουν να συμβεί αυτό.
    3. Μπορεί να υπάρχουν προγραμματιστές και ιδρύματα εκεί έξω που χρηματοδοτούν νέες δυνατότητες για τη σειρά QGIS 2.x και αυτό μπορεί να επηρεάσει την εργασία σας. Είναι απαραίτητο να συμπεριληφθούν στα σχέδια και τους προϋπολογισμούς αυτών των έργων, μια συγκεκριμένη κατανομή για την αντιμετώπιση της μετάβασης στην πλατφόρμα QGIS 3.x.
    4. Εάν η ομάδα QGIS εργαστεί σε μια "ολική αλλαγή", θα υπάρξει σχετικά σύντομο χρονικό διάστημα κατά το οποίο το QGIS θα είναι ασταθές και θα αλλάζει συνεχώς λόγω των συνεχιζόμενων ενημερώσεων στο QGIS 3.0.
    4. Εάν αναπτύσσεστε με «εξελικτικό» τρόπο, διατρέχετε τον κίνδυνο να διαρκέσει περισσότερο η ανάπτυξη του 3.0, εκτός εάν έχετε μια πιστή ομάδα προγραμματιστών που εργάζονται πάνω σε αυτό και το προετοιμάζουν για μεταφορά.

    Προτάσεις

Λαμβάνοντας υπόψη όλες τις παραπάνω πληροφορίες, προτείνεται μία από τις δύο γραμμές δράσης:

1 Πρόταση:

Απελευθερώστε μια προσωρινή έκδοση 2.16 και μετά ξεκινήστε να εργάζεστε στην έκδοση 3.0 ως προτεραιότητα, με ένα παράθυρο ανάπτυξης 8 μηνών. Οι αλλαγές που έγιναν στην έκδοση 2.16 θα επιδιώξουν να είναι συμβατές με την έκδοση 3.0 (βλ. Python3 / pytq5).

2 Πρόταση:

Lunging φορά 3.0 με μια πιο εκτεταμένη παράθυρο διάρκειας για QT5, Python 3.0 και PyQt5 και να ζητήσει από τους προγραμματιστές να κάνουν τη δουλειά τους στο 3.0. Συνεχίστε με τις εκδόσεις 2.x σε τακτά χρονικά διαστήματα μέχρι να είναι έτοιμο το 3.0.

Εναλλακτικές προτάσεις

Έχετε μια εναλλακτική πρόταση; Το QGIS ενδιαφέρεται να μάθει για πιθανές εναλλακτικές λύσεις. Εάν θέλετε να υποβάλετε μια πρόταση, στείλτε το στο Tim@qgis.org με θέμα «Πρόταση QGIS 3.0».

Το QGIS blog, όπου βγήκε αυτή η έκδοση.

Golgi Alvarez

Συγγραφέας, ερευνητής, ειδικός στα Μοντέλα Διαχείρισης Γης. Έχει συμμετάσχει στη σύλληψη και εφαρμογή μοντέλων όπως: Εθνικό Σύστημα Διαχείρισης Περιουσίας SINAP στην Ονδούρα, Μοντέλο Διαχείρισης Μικτών Δήμων στην Ονδούρα, Ολοκληρωμένο Μοντέλο Διαχείρισης Κτηματολογίου - Μητρώου στη Νικαράγουα, Σύστημα Διαχείρισης της Επικράτειας SAT στην Κολομβία . Συντάκτης του ιστολογίου γνώσης Geofumadas από το 2007 και δημιουργός της Ακαδημίας AulaGEO που περιλαμβάνει περισσότερα από 100 μαθήματα σε θέματα GIS - CAD - BIM - Digital Twins.

Σχετικά άρθρα

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

Έτσι, ελέγξτε
Κλεισιμο
Επιστροφή στην κορυφή κουμπί