qgis

QGIS 3.0 - Wéi, wéini a wat; et implizéiert

Vill vun eis freet:

Wann de QGIS 3.0 verëffentlecht ginn?

Am läschte Joer (2015) huet de Projetteam unzefroen, wéi a wéi QGIS 3.0 verëffentlecht ginn ass. Si hunn versprach, sou wéi en Post aus Anita Graser, déi se de Benotzer an Entwéckler vun hire Pläng kloer weiderginn ier se de QGIS 3.0 verëffentlecht hunn. Si hu viru kuerzem probéiert e puer vun den Iwwerleeunge fir eng QGIS 3.0 Verëffentlechung auszesetzen an um Enn vum Post ass et eng Méiglechkeet fir eis Iddien ze presentéieren.

Firwat 3.0?

QGis_LogoNormalerweis ass eng Haaptversioun reservéiert fir Zäiten wou eng grouss Ännerung un der API vun Ärer Software gemaach gëtt. Dës Paus ass keng trivial Entscheedung fir de QGIS Projet well mir sinn Honnertdausende vu Benotzer déi op QGIS ofhängeg sinn, souwuel fir eisen eegene Gebrauch wéi och fir Servicer un Drëttubidder.

Vun Zäit zu Zäit ze bremsen ass d'API néideg fir d'Aktualiséierung vun der Architektur mat der Verbesserung vun Approchen, nei Bibliothéiken a Korrekturen fir d'Entscheedungen an der Vergaangenheet ze maachen.

Wat sinn d'Konsequenze fir d'API ze briechen?

Ee Grond firwat dës rou vun der API zu QGIS 3.0 ass, datt et e groussen Impakt hunn wäerten, déi honnerte vun entwéckelt Plugins Paus konnt déi net méi mat der neier API kompatibel gin wier an der Auteuren vun dësen hunn ze maachen eng Iwwerpréiwung vun hiren Entwécklungen, fir Kompatibilitéit mat der neier API ze garantéieren.

D'Ausmooss vun den néidegen Ännerungen hänkt vun engem groussen Deel un:

  • Wéi vill Ännerungen an der API beaflossen d'aktuell Fonktionnalitéit.
    A wéi vill Punkten hunn d'Plugin Autoren Deel vun der API benotzt, déi si änneren.
  • Wat sinn d'Haaptännerungen fir 3.0?

Et gi véier Schlësselbereedungen déi Dir sicht am 3.0 ze änneren:

 

Update Qt4 op QT5: Dëst ass d'Basis Set vu Bibliothéiken déi QGIS op Topniveau gebaut ass, mir schwätzen vum CORE-funktionnellen Niveau vun der Plattform. QT bitt och Bibliothéike fir Erënnerungsverwaltung, Konnektivitéitsoperatiounen a Grafikmanagement ze maachen. Qt4 (op deen de QGIS de Moment baséiert) gëtt am Moment net vun de Qt Bibliothéik Entrepreneuren entwéckelt a kéint Funktionalitéitsprobleemer mat e puer Plattformen hunn (z. "Stretch"). De Prozess fir QGIS op QT5 ze bréngen huet schonn e wichtege Fortschrëtt (haaptsächlech wat de Matthias Kuhn gemaach huet), deen zesumme mam Marco Bernasocchi op der Android "QField" ganz op QT5 baséiert. Wéi och ëmmer, et ginn e puer Aschränkungen fir den neie QT5 op a lafen ze kréien wéinst sengem Impakt op QGIS - besonnesch mat Webbrowser Widgets (haaptsächlech am Composer benotzt an och e puer aner Plazen am QGIS).

Update PyQt4 op PyQt5: Dëst sinn d'relative Verännerunge vun der Python Sprooch fir Qt, op där d'QGIS Python API baséiert. Stellt d'Bibliothéik ++ QT5 C änneren, ass och ze PyQt5 Python Bibliothéik ze Transfermaart erwaart datt si Virdeel vun de Virdeeler vun der neier API zu Python QT5 huelen kann.
Aktualiséierung Python 2.7 op Python 3: De Moment leeft alles op Python 2.7. Python 3 ass déi lescht Versioun vum Python a gëtt empfohlen vun deenen, déi dëse Projet féieren. Python 2 ass liicht inkompatibel mam Python 3 (bal proportionell zu der Inkompatibilitéit tëscht QGIS 2 a Qgis 3). Vill Entwéckler hunn de Python Python 3 gréisstendeels no hannen kompatibel mam Python 2 gemaach, awer déi no hannen kompatibel ass net sou super.
D'Verbesserung vun der QGIS API selwer: Ee vun de Probleemer fir d'API-Kompatibilitéit tëscht Versiounen z'erhalen ass datt Dir laangfristeg mat Ären Designwahlen muss liewen. All Effort gëtt am QGIS gemaach fir d'API net an enger Serie vu klenge Verëffentlechungen ze briechen. D'Verëffentlechung vun enger QGIS Versioun fir 3.0 mat enger API déi de Moment net ënnerstëtzt gëtt, wäert eis d'Méiglechkeet ginn fir "Haus propper" ze maachen andeems Dir Saachen an der API fixéiert déi mir net konform sinn. Dir kënnt eng provisoresch Lëscht vun gesinn Proportéiert Ännerungen fir den 3.0 API.

Wéi déi Ännerung vun der 3.0 API ze ënnerstëtzen

Wéi scho gesot, Versioun 3.0 brécht mat der QGIS Versioun 2.x an et ass eng Chance datt vill Plugins, existent Uwendungen an anere Code, déi op der aktueller API baséieren, briechen. Also wat kann gemaach ginn fir d'Ännerungen ze reduzéieren? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias, an aner Top-Entwéckler hunn no Weeër gesicht fir d'Zuel vun den API Break Ännerungen ze reduzéieren an d'QGIS Codebase weiderzebréngen baséiert op der nächster Generatioun vu Bibliothéiken a senger eegener interner API. Wärend eiser leschter Versammlung vum QGIS Project Steering Committee gouf et duerch verschidde Méiglechkeeten geofuméiert. Déi folgend Tabell resüméiert wat de Matthias Kuhn gnädeg zesummegefaasst huet an datt mir deelweis probéiert hunn an dësem Artikel ze transliteréieren no wat op sengem Blog gepost:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Verloossungsdatum Enn Februar 4 Méint spéit 2.14 8 Méint Zyklus?
Notizen Update Python Code vum Kern QGIS als Python 3 kompatibel an PyQt5 kompatibel (deelweis Implementatioun fir Haaptfunktiounen zB Konsole, Python-Kernplugins etc.)
Qt4 Si

Deprecéiert an der Debian Stretch (wéinst engem Joer)

(webkit entfernt)

Jo Nee
Qt5 Nee

Misses QWebView - nei Ersatzatioun net op all Plattformen. Also fiert QPainter Engine.

Si Si
PyQt4 Si Si Nee
PyQt5 Nee Si Si
Python 2 Si Si Nee
Python 3 Nee Si Si
Cleanup API Nee Nee Si
Wrappers
PyQt5 -> PyQt4
Bitt ~ 90% Backward Compatibility
Nee Si Si
Mainstream binär Qt4 baséiert Qt4 baséiert Qt5 baséiert
Prioritéit finanzéiert Python Wénkel

Et ginn zwee wichteg Saachen, déi am Gedächtnis vu Matias proposéiert hunn:

An der éischter PhaseDéi Aarbecht ass an der Serie gemaach 2.x Ënnerstëtzung QT5, PyQt5 benotzt Python 3.0, ënnerstëtzen Qt4, PyQt4 a Python 2.7 zu komplett. Dëst bemierkt datt all d'Verännerungen déi an der éischter Phase gemaach goufen mat de virdrun 2.x Versioune kompatibel sinn. Python-Funktiounen ginn agefouert, sou datt d'al PyQt4 API nach ëmmer ka sinn, wann se géint QT5, PyQt5, Python 3.0 kompiléiert ginn. Wann Dir QGIS benotzt fir Qt4, PyQt4 a Python 2.7 kompiléiert ass, wier et keng Broutkompatibilitéit.
An der zweeter Phase, wäerte mir schaffen, fir QGIS 3.0 ze produzéieren, andeems d'nei API entwéckelt gëtt, de Python 2.7 komplett komplett eliminéiert, ënner anerem Ënnerstëtzung fir Qt4 a PyQt4. Déi nei Python-Funktionalitéiten, déi an der éischter Phase agefouert ginn, ginn ënnerhalen, andeems Dir de Pythoncode an Entwécklungen fir 2.x Versioune vun QGIS weider an d'3.x Versioune vun QGIS schaffen. An dëser Phase ass och erwuesse ginn d'Verännerungen an der QGIS API ze entwéckelen, déi puer Plugins brechen kënnen. Fir dës Adress ze bewierken, gi mir e Migratiounsprotokoll fir ze versichen, de Migratiounsprozess vun den 2.x QGIS Versiounen zu den 3.x QGIS Versiounen ze erlaaben.

Caveat emptor

Et ginn e puer Tricks déi ugesinn ginn, fir datt d'Migratioun an QGIS 3.0 manner schmerzhaft kléngt.

  • 1. SEt sollt bemierkt datt wärend déi uewe genannte Approche probéiert d'Quantitéit vun der Aarbecht um Python Skripting an Plugins ze minimiséieren, dëst wäert net onbedéngt 100% sinn. Et gi héchstwahrscheinlech Fäll wou de Code muss ugepasst ginn an an alle Fäll op d'mannst muss e wahrscheinlech iwwerschafft ginn fir sécher ze sinn datt et weider richteg funktionnéiert.
    2. Et gëtt keng formell etabléiert finanziell Ressource fir Entwéckler ze bezuelen déi fräiwëlleg hir Zäit fir dëse Migratiounsprozess investéieren. Wéinst dësem wäert et ganz schwéier sinn exakt Zäitframe ze ginn fir wéi laang all Deel vum Prozess dauert. Dës Onsécherheet muss bei der Planung berécksiichtegt ginn. Spende sinn natierlech wëllkomm fir dëst ze maachen.
    3. Et kënnen Entwéckler an Institutiounen do sinn déi nei Features fir QGIS 2.x Serie finanzéieren an dëst kann Är Aarbecht beaflossen. Et ass noutwendeg fir an de Pläng a Budgete vun dëse Projeten eng gewëssen Allocatioun anzegoen fir der Migratioun op d'QGIS 3.x Plattform ze stellen.
    4. Wann d'QGIS Team un engem "total Changement" schafft, da gëtt et eng relativ kuerz Zäit, während där QGIS onbestänneg ass a konstant ännert wéinst lafenden Updates op QGIS 3.0.
    4. Wann Dir op eng 'evolutionär' Manéier entwéckelt, riskéiert Dir datt d'3.0 Entwécklung méi laang dauert, ausser Dir hutt eng treie Grupp vun Entwéckler déi dru schaffen an se prett ze portéieren.

    Proposéiert

An der Vergaangenheet vun der allgenannten Informatioun ass ee vun deenen zwee Linnen vun der Aktioun proposéiert:

Proposéieren 1:

Fräisetzung eng Tëschenzäit Versioun 2.16 an da schafft un der Versioun 3.0 als Prioritéit, mat enger Entwécklungsfënster vun 8 Méint. Ännerungen an der Versioun 2.16 si versicht kompatibel mat der Versioun 3.0 ze sinn (kuckt python3 / pytq5).

Proposéieren 2:

Läif emol bei 3.0 mat enger méi ausgedehnter Fënster op QT5, Python 3.0 an PyQt5, a frot d'Entwéckler op hir Aarbecht am 3.0 ze maachen. Fëllt mat den 2.x Versioune mat der gewéinlech Frequenz bis 3.0 fäerdeg ass.

Alternativ Propositiounen

Hunn eng alternativ Propose? QGIS ass interesséiert iwwer méiglech Alternativen ze wëssen. Wann Dir eng Propose wëllt areechen, da schéckt w.e.g. tim@qgis.org mam Thema "QGIS 3.0 Propositioun".

Et ass bequem ze folgen QGIS Blog, wou dës Editioun kënnt.

Golgi Alvarez

Schrëftsteller, Fuerscher, Spezialist am Land Management Modeller. Hien huet un der Konzeptualiséierung an Ëmsetzung vu Modeller deelgeholl wéi: National System of Property Administration SINAP an Honduras, Model of Management of Joint Municipalities in Honduras, Integrated Model of Cadastre Management - Registry in Nicaragua, System of Administration of the Territory SAT in Colombia . Redaktor vum Geofumadas Wëssensblog zënter 2007 a Schëpfer vun der AulaGEO Akademie déi méi wéi 100 Coursen iwwer GIS - CAD - BIM - Digital Twins Themen enthält.

Verbonnen Artikelen

Verloossen e Commentaire

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

Zréck erop zum Knäppchen