qgis

QGIS 3.0 - Kif, meta u xiex; dan jimplika

Ħafna qed jistaqsu lilna nfusna:

Meta se titħalla QGIS 3.0?

Is-sena li għaddiet (2015) it-tim tal-proġett beda jinvestiga meta u kif QGIS 3.0 kellu jiġi rilaxxat. Huma wiegħdu, skond post minn Anita Graser, li kienu se jwasslu b'mod ċar il-pjanijiet tagħhom lill-utenti u l-iżviluppaturi qabel ma jniedu QGIS 3.0. Dan l-aħħar ippruvaw jikxfu wħud mill-kunsiderazzjonijiet għal rilaxx ta 'QGIS 3.0 u fl-aħħar tal-kariga hemm opportunità għalina biex nippreżentaw l-ideat tagħna.

Għaliex 3.0?

QGis_LogoTipikament verżjoni ewlenija hija riservata għal żminijiet meta ssir bidla kbira fl-API tas-softwer tiegħek. Din il-waqfa mhix deċiżjoni trivjali għall-proġett QGIS peress li aħna mijiet ta 'eluf ta' utenti li jiddependu fuq QGIS, kemm għall-użu tagħna stess kif ukoll għal servizzi pprovduti lil partijiet terzi.

Kultant it-tkissir tal-API huwa meħtieġ biex jakkomoda l-aġġornament tal-arkitettura bit-titjib tal-approċċi, il-libreriji l-ġodda u l-korrezzjonijiet għad-deċiżjonijiet li ttieħdu fl-imgħoddi.

X'inhuma l-konsegwenzi tat-tkissir tal-API?

Waħda mir-raġunijiet għaliex dan il-ksur ta 'l-API fil QGIS 3.0 huwa li se jkollhom impatt kbir, li jistgħu jinkisru mijiet ta' plugins żviluppati li ma jibqgħux jkunu kompatibbli mas-API ġdid u l-awturi ta 'dawn għandhom x'jaqsmu ma reviżjoni tal-iżviluppi tagħhom biex jiżguraw il-kompatibilità mal-API il-ġdida.

Il-kobor tal-bidliet meħtieġa jiddependi ħafna fuq:

  • Kemm bidliet fl-API jaffettwaw il-funzjonalità attwali.
    F'liema punti l-awturi tal-plugin użaw partijiet tal-API li kienu se jinbidlu.
  • X'ser ikunu l-bidliet ewlenin għal 3.0?

Hemm erba 'oqsma ewlenin li qed tfittex li tbiddel f'3.0:

 

Qt4 aġġornament għal QT5: Dan huwa s-sett bażiku ta 'libreriji li QGIS huwa mibni fuq l-ogħla livell, nitkellmu dwar il-livell CORE-funzjonali tal-pjattaforma. QT jipprovdi wkoll libreriji biex iwettqu ġestjoni tal-memorja, operazzjonijiet ta 'konnettività, u ġestjoni tal-grafika. Qt4 (li QGIS huwa bbażat fuqu bħalissa) bħalissa mhux qed jiġi żviluppat mill-manutenzjoni tal-librerija Qt u jista' jkollu problemi ta' funzjonalità ma' xi pjattaformi (eż. OS X) u saħansitra jagħmilha aktar faċli biex jiġu mmaniġġjati verżjonijiet binarji (eż. Debian Testing u r-rilaxx Debian li jmiss). “Stretch”). Il-proċess biex QGIS jinġieb għal QT5 diġà għandu avvanz importanti (prinċipalment dak li għamel Matthias Kuhn) li flimkien ma 'Marco Bernasocchi jpejpu fuq l-Android "QField" ibbażat kompletament fuq QT5. Madankollu, hemm xi limitazzjonijiet biex il-QT5 il-ġdid jibda jaħdem minħabba l-impatt tiegħu fuq QGIS - b'mod partikolari b'widgets tal-web browser (prinċipalment użati f'Composer u wkoll ftit postijiet oħra f'QGIS).

Aġġorna PyQt4 għal PyQt5: Dawn huma l-bidliet relattivi għall-lingwa Python għal Qt li fuqha hija bbażata l-API ta 'QGIS Python. Tqum jibdlu l-QT5 C ++ librerija, huwa wkoll mistenni li jittrasferixxu lill librerija python PyQt5 sabiex ikunu jistgħu jieħdu vantaġġ mill-benefiċċji tal-API ġdid fl-Python QT5.
2.7: Aġġornament ta 'Python 3 għal Python Bħalissa kollox jaħdem fuq Python 2.7. Python 3 hija l-aħħar verżjoni ta 'python u hija rrakkomandata minn dawk li jmexxu dak il-proġett. Python 2 huwa kemmxejn inkompatibbli ma 'Python 3 (kważi proporzjonali għall-inkompatibilità bejn QGIS 2 u Qgis 3). Ħafna żviluppaturi għamlu python Python 3 kompatibbli ħafna lura ma 'Python 2, iżda l-kompatibilità b'lura mhix daqshekk kbira.
Intejbu l-API QGIS innifisha: Waħda mill-problemi biex iżżomm il-kompatibilità tal-API bejn il-verżjonijiet hija li trid tgħix bl-għażliet tad-disinn tiegħek għat-tul. F'QGIS isir kull sforz biex l-API ma tinkiserx f'serje ta' rilaxxi minuri. Ir-rilaxx ta 'verżjoni QGIS għal 3.0 b'API mhux appoġġjata bħalissa se tagħtina opportunità biex "naddaf id-dar" billi nirranġaw affarijiet fl-API li m'aħniex konformi magħhom. Tista' tara lista provviżorja ta' bidliet proposti għall-API ta '3.0.

Kif issostni t-tibdil tal-API 3.0

Kif diġà ssemma, il-verżjoni 3.0 se tinkiser mal-verżjoni 2.x ta 'QGIS u hemm iċ-ċans li ħafna plugins, applikazzjonijiet eżistenti u kodiċi ieħor li huma bbażati fuq l-API kurrenti jinkisru. Allura x'jista 'jsir biex itaffi l-bidliet? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias, u żviluppaturi oħra ewlenin ilhom ifittxu modi biex itaffu n-numru ta 'bidliet fil-break API filwaqt li komplew javvanzaw il-bażi tal-kodiċi QGIS billi tkun ibbażata fuq il-ġenerazzjoni li jmiss ta' libreriji u l-API interna tagħha stess. Matul l-aħħar laqgħa tagħna tal-Kumitat tat-Tmexxija tal-Proġett QGIS kien ġeofumat permezz ta 'diversi possibbiltajiet. It-tabella li ġejja tiġbor fil-qosor dak li ġabar fil-qosor Matthias Kuhn u li parzjalment ippruvajna nittranslitteraw f'dan l-artikolu skond dak stazzjonati fuq il-blog tiegħek:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Data ta 'Rilaxx Tmiem ta 'Frar 4 xhur wara 2.14 Ċiklu ta '8 Xahar?
Notas Aġġorna l-kodiċi tal-python tal-qalba QGIS li tkun Python 3 kompatibbli u PyQt5 kompatibbli (implimentazzjoni parzjali għal funzjonalità ewlenija eż. Console, plugins ċentrali python eċċ)
Qt4 Si

Deprecated in Debian Stretch (dovut f'sena)

(il-webkit jitneħħa)

Iva Nru
Qt5 Nru

Jittieħed QWebView - sostituzzjoni ġdida mhux fuq il-pjattaformi kollha. Tinsew ukoll QPainter Engine.

Si Si
PyQt4 Si Si Nru
PyQt5 Nru Si Si
python 2 Si Si Nru
python 3 Nru Si Si
API Cleanup Nru Nru Si
Tgeżwir
PyQt5 -> PyQt4
Jipprovdi ~ 90% Compatibility b'lura
Nru Si Si
Mainstream Binary Ibbażat fuq Qt4 Ibbażat fuq Qt4 Ibbażat fuq Qt5
Prijorità ta 'finanzjament Tgeżwir Python

Hemm żewġ affarijiet importanti li wieħed iżomm f'moħħu dwar il-proposta ta 'Matias:

Fl-ewwel fażiIx-xogħol isir fis-serje biex jitlesta QT2 appoġġ 5.x, PyQt5 jużaw Python 3.0, l-appoġġ Qt4, PyQt4 u Python 2.7. Dan jimplika li l-bidliet kollha magħmula fl-ewwel fażi jkunu kompatibbli ma 'verżjonijiet 2.x preċedenti. se tiġi introdotta karatteristiċi Python se jkunu inkorporati b'tali mod li l-API PyQt4 qodma xorta tista 'tintuża speċjalment meta miġbura kontra QT5, PyQt5, Python 3.0. Meta tuża QGIS miġbura kontra Qt4, PyQt4 u Python 2.7 ma jkun hemm l-ebda kompatibilità ta 'tqassim.
Fit-tieni fażiIkun xogħol li jipproduċu QGIS 3.0, li tintroduċi l-API ġdid, jitneħħew kompletament il-2.7 Python, inkluż appoġġ għall Qt4 u PyQt4. Karatteristiċi ġodda fil-python jidħlu l-ewwel fażi se jinżamm, waqt li jitqiesu t-kodiċi python u l-iżviluppi għall-verżjonijiet 2.x ta QGIS tkompli taħdem fuq il-verżjonijiet 3.x ta QGIS. F'din il-fażi inti wkoll mistennija li tintroduċi bidliet fl-API QGIS li jistgħu jiksru xi plugins. Biex tindirizza dan se jipprovdi migrazzjoni aa gwida biex tipprova tiffaċilita l-migrazzjoni ta 'verżjonijiet 2.x QGIS 3.x QGIS verżjonijiet.

Emptor twiddiba

Hemm ftit tricks li għandhom jiġu stabbiliti biex jiżguraw li l-migrazzjoni lejn QGIS 3.0 tinstema 'inqas uġigħ.

  • 1. STa 'min jinnota li filwaqt li l-approċċ stabbilit hawn fuq jipprova jimminimizza l-ammont ta' xogħol fuq scripting ta 'python fil-plugins, dan mhux neċessarjament ikun 100%. X'aktarx ikun hemm każijiet fejn il-kodiċi jkollu jiġi aġġustat u fil-każijiet kollha mill-inqas, x'aktarx ikollu jiġi rivedut sabiex jiġi żgurat li jibqa 'jaħdem sewwa.
    2. M'hemm l-ebda riżorsa finanzjarja stabbilita formalment biex tħallas lill-iżviluppaturi li volontarjament jinvestu l-ħin tagħhom għal dan il-proċess ta 'migrazzjoni. Minħabba dan, se jkun diffiċli ħafna li tagħti skadenzi ta 'żmien eżatti għal kemm iddum kull parti tal-proċess. Din l-inċertezza trid titqies fl-ippjanar. Naturalment id-donazzjonijiet huma milqugħa biex jgħinu biex dan iseħħ.
    3. Jista 'jkun hemm żviluppaturi u istituzzjonijiet hemmhekk li jkunu qed jiffinanzjaw karatteristiċi ġodda għas-serje QGIS 2.x u dan jista' jaffettwa x-xogħol tiegħek. Huwa meħtieġ li tkun inkluża fil-pjanijiet u l-baġits ta 'dawn il-proġetti, ċerta allokazzjoni biex tiffaċċja l-migrazzjoni għall-pjattaforma QGIS 3.x.
    4. Jekk it-tim QGIS jaħdem fuq "bidla totali", se jkun hemm żmien relattivament qasir li matulu QGIS se jkun instabbli u jinbidlu kontinwament minħabba aġġornamenti kontinwi għal QGIS 3.0.
    4. Jekk tiżviluppa b'mod 'evoluzzjonarju', tirriskja li l-iżvilupp 3.0 jista' jieħu aktar żmien sakemm ma jkollokx grupp leali ta' żviluppaturi li jaħdmu fuqu u jħejjuh lest għall-port.

    Suġġerimenti

Fid-dawl tal-informazzjoni kollha ta 'hawn fuq, qed tiġi proposta waħda miż-żewġ linji ta' azzjoni:

1 Proposta:

Ħalli verżjoni interim 2.16 u mbagħad ibda taħdem fuq il-verżjoni 3.0 bħala prijorità, b'temp ta 'żvilupp ta' 8 xhur. Bidliet magħmula fil-verżjoni 2.16 se jfittxu li jkunu kompatibbli mal-verżjoni 3.0 (ara python3 / pytq5).

2 Proposta:

Tniedi 3.0 f'daqqa ma 'tieqa ta' tul itwal fuq QT5, Python 3.0 u PyQt5, u staqsi lill-iżviluppaturi biex jagħmlu x-xogħol tagħhom fuq 3.0. Kompli bil-verżjonijiet 2.x f'intervalli regolari sakemm 3.0 tkun lesta.

Proposti alternattivi

Għandek proposta alternattiva? QGIS huwa interessat li jkun jaf dwar alternattivi possibbli. Jekk trid tissottometti proposta, jekk jogħġbok ibgħat lil tim@qgis.org bis-suġġett “QGIS 3.0 Proposal”.

Il - QGIS blog, fejn ħareġ din il-pubblikazzjoni.

Golgi Alvarez

Kittieb, riċerkatur, speċjalista fil-Mudelli ta’ Ġestjoni tal-Art. Huwa pparteċipa fil-kunċettwali u l-implimentazzjoni ta 'mudelli bħal: Sistema Nazzjonali ta' Amministrazzjoni tal-Proprjetà SINAP fil-Ħonduras, Mudell ta 'Ġestjoni ta' Muniċipalitajiet Konġunti fil-Ħonduras, Mudell Integrat ta 'Ġestjoni tal-Katastru - Reġistru fin-Nikaragwa, Sistema ta' Amministrazzjoni tat-Territorju SAT fil-Kolombja . Editur tal-blog tal-għarfien Geofumadas mill-2007 u kreatur tal-Akkademja AulAGEO li tinkludi aktar minn 100 kors dwar suġġetti GIS - CAD - BIM - Digital Twins.

Artikli relatati

Ħalli kumment

Your email address mhux se jkun ippubblikat. oqsma meħtieġa huma mmarkati bl *

Lura għall-buttuna ta 'fuq