QGIS

QGIS 3.0 - Si, kur dhe çfarë; nënkupton

Shumë prej nesh janë duke kërkuar:

Kur do të lëshohet QGIS 3.0?

Vitin e kaluar (2015) ekipi i projektit filloi të hetonte se kur dhe si do të lirohej QGIS 3.0. Ata premtuan, sipas një postimi nga Anita GRASER, se ata do të përçonin qartë planet e tyre tek përdoruesit dhe zhvilluesit përpara se të lançonin QGIS 3.0. Ata kohët e fundit janë përpjekur të ekspozojnë disa nga konsideratat për një lëshim të QGIS 3.0 dhe në fund të postimit ka një mundësi që ne të paraqesim idetë tona.

Pse 3.0?

QGis_LogoNë mënyrë tipike, një version i madh është i rezervuar për kohën kur një ndryshim i madh është bërë në API të softuerit tuaj. Kjo pushim nuk është një vendim i parëndësishëm për projektin QGIS pasi që ne jemi qindra mijëra përdorues që varen nga QGIS, si për përdorimin tonë ashtu edhe për shërbimet e ofruara palëve të treta.

Herë pas here thyer API është e nevojshme për të akomoduar përditësimin arkitekturën me qasjet përmirësuar, biblioteka të reja dhe korrigjimet në vendimet e marra në të kaluarën.

Cilat janë pasojat e thyer API?

Një arsye pse kjo shkelje e API në QGIS 3.0 është se ajo do të ketë një ndikim të madh, të cilat mund të thyejnë qindra plugins të zhvilluara se nuk do të jetë në përputhje me API të reja dhe autorët e tyre kanë të bëjnë një rishikim të zhvillimeve të tyre për të siguruar pajtueshmërinë me API-n e re.

Shtrirja e ndryshimeve të nevojshme varet në një masë të madhe nga:

  • Sa ndryshime në API ndikojnë në funksionalitetin aktual.
    Në sa pika autorët e plugin kanë përdorur pjesë të API që do të ndryshonin.
  • Cilat do të jenë ndryshimet kryesore për 3.0?

Ekzistojnë katër fusha kyçe që po kërkoni të ndryshoni në 3.0:

 

Qt4 për përditësim QT5: Ky është grupi bazë i bibliotekave që QGIS është ndërtuar në nivel të lartë, ne flasim për nivelin CORE-funksional të platformës. QT ofron gjithashtu biblioteka për të kryer menaxhimin e kujtesës, operacionet e lidhjes dhe menaxhimin e grafikëve. Qt4 (në të cilin bazohet aktualisht QGIS) aktualisht nuk po zhvillohet nga mirëmbajtësit e bibliotekës Qt dhe mund të ketë probleme me funksionalitetin me disa platforma (p.sh. OS X) dhe madje ta bëjë më të lehtë menaxhimin e versioneve binare (p.sh. Testimi Debian dhe versioni tjetër i Debianit "Zgjat"). Procesi i sjelljes së QGIS në QT5 ka tashmë një përparim të rëndësishëm (kryesisht atë që ka bërë Matthias Kuhn) që së bashku me Marco Bernasocchi tymosin në "QField" Android të bazuar tërësisht në QT5. Megjithatë, ka disa kufizime në vënien në punë dhe funksionimin e QT5-së së re për shkak të ndikimit të tij në QGIS – veçanërisht me miniaplikacionet e shfletuesit të internetit (kryesisht të përdorura në Composer dhe gjithashtu në disa vende të tjera në QGIS).

PyQt4 për përditësim PyQt5: Këto janë ndryshimet relative të gjuhës Python për Qt në të cilën bazohet API Python QGIS. Lind ndryshojë bibliotekën e QT5 C ++, pritet gjithashtu për të transferuar në bibliotekën PyQt5 python në mënyrë që ata mund të përfitojnë nga përfitimet e API të ri në Python QT5.
Përditësimi Python Python 2.7 3 për: Aktualisht gjithçka funksionon në Python 2.7. Python 3 është versioni i fundit i python dhe rekomandohet nga ata që drejtojnë atë projekt. Python 2 është paksa i papajtueshëm me Python 3 (pothuajse proporcional me papajtueshmërinë midis QGIS 2 dhe Qgis 3). Shumë zhvillues e kanë bërë python Python 3 kryesisht të prapambetur të pajtueshëm me Python 2, por pajtueshmëria e prapambetur nuk është aq e madhe.
Përmirësimi API QGIS vet: Një nga problemet me ruajtjen e përputhshmërisë API midis versioneve është se ju duhet të jetoni me zgjedhjet tuaja të dizajnit për një kohë të gjatë. Bëhet çdo përpjekje në QGIS për të mos prishur API-në në një seri lëshimesh të vogla. Lëshimi i një versioni QGIS për 3.0 me një API që nuk mbështetet aktualisht do të na japë një mundësi për të "pastruar shtëpinë" duke rregulluar gjërat në API me të cilat ne nuk jemi në përputhje. Ju mund të shihni një listë të përkohshme të 3.0 propozoi ndryshime në API.

Si të mbështesim ndryshimin e API 3.0

Siç është përmendur tashmë, versioni 3.0 do të prishet me versionin QGIS 2.x dhe ekziston mundësia që shumë shtojca, aplikacione ekzistuese dhe kode të tjerë që bazohen në API-në aktuale të prishen. Pra, çfarë mund të bëhet për të zbutur ndryshimet? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias dhe zhvillues të tjerë të lartë kanë kërkuar mënyra për të zbutur numrin e ndryshimeve të ndërprerjes së API ndërsa vazhdojnë të avancojnë bazën e kodeve QGIS duke u bazuar në gjeneratën e ardhshme të bibliotekave dhe API-në e vet të brendshme. Gjatë takimit tonë të fundit të Komitetit Drejtues të Projektit QGIS ne gjeofumizuam përmes mundësive të ndryshme. Tabela e mëposhtme përmbledh atë që Matthias Kuhn përmblodhi me mirësi dhe që ne pjesërisht jemi përpjekur të transliterojmë në këtë artikull, në përputhje me atë që Ata publikuar në blogun e tij:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Release Date Fundi i shkurtit 4 2.14 muaj muaj ¿Cikli 8?
Notas Update i core kodit QGIS Python Python 3 të jetë në përputhje dhe mbështet PyQt5 (zbatimin e pjesshëm për kyç funksionalitetin p.sh. tastierë, plugins python core, etj)
Qt4 Si

Deprecated në Debian Stretch (për shkak në një vit)

(-webkit hequr)

Po jo
Qt5 jo

Misses QWebView - zëvendësim i ri jo në të gjitha platformat. Gjithashtu mungon QPainter Engine.

Si Si
PyQt4 Si Si jo
PyQt5 jo Si Si
Python 2 Si Si jo
Python 3 jo Si Si
Pastrimi i API jo jo Si
mbështjellësve
PyQt5 -> PyQt4
~ 90% siguron pajtueshmërinë prapambetur
jo Si Si
rrjedhë binar bazuar Qt4 bazuar Qt4 bazuar Qt5
prioritet financimi mbështjellësve Python

Ka dy gjëra të rëndësishme të theksohet në lidhje me Matthias propozim:

Në fazën e parëPuna është bërë në seri për të përfunduar 2.x mbështetje QT5, PyQt5 përdorur Python 3.0, mbështetur Qt4, PyQt4 dhe Python 2.7. Kjo nënkupton se të gjitha ndryshimet e bëra në fazën e parë do të jetë në përputhje me versionet e mëparshme 2.x. Karakteristika Python do të përfshihen do të futet në mënyrë që vjetër API PyQt4 ende mund të përdoret veçanërisht kur përpiluar kundër QT5, PyQt5, Python 3.0. Duke përdorur QGIS hartuar kundër Qt4, PyQt4 dhe Python 2.7 nuk do të thyejnë compatibility.
Në fazën e dytëAjo do të punojë për të prodhuar state 3.0, futjen e API të re, krejtësisht të hequr Python 2.7, duke përfshirë mbështetjen për Qt4 dhe PyQt4. Tipare të reja në Python hyjnë në fazën e parë do të mbahet, duke marrë parasysh të gjithë kodin Python dhe zhvillimet për versionet 2.x të QGIS vazhdojë të punojë në versionet 3.x e QGIS. Kjo fazë pritet gjithashtu për të futur ndryshimet në QGIS API që mund të thyejnë disa plugins. Për të adresuar këtë do të sigurojë udhëzime migrimin aa që të përpiqen për të lehtësuar migrimin e versioneve 2.x QGIS 3.x QGIS versionet.

caveat emptor

Ka disa truket që do të kërkohet për të siguruar që migrimi të QGIS 3.0 tingëllojë më pak të dhimbshme.

  • 1. SDuhet të theksohet se ndërsa qasja e përcaktuar më sipër përpiqet të minimizojë sasinë e punës për shkrimin e python në shtojca, kjo nuk do të jetë domosdoshmërisht 100%. Ka shumë të ngjarë të ketë raste kur kodi duhet të rregullohet dhe të paktën në të gjitha rastet, do të duhet të rishikohet në mënyrë që të sigurohet që ai të vazhdojë të funksionojë si duhet.
    2. Nuk ka asnjë burim financiar të vendosur zyrtarisht për të paguar zhvilluesit që investojnë vullnetarisht kohën e tyre për këtë proces migrimi. Për shkak të kësaj, do të jetë shumë e vështirë të japësh afate kohore të sakta për sa kohë do të zgjasë secila pjesë e procesit. Kjo pasiguri duhet të merret parasysh gjatë planifikimit. Sigurisht që donacionet janë të mirëseardhura për të ndihmuar në realizimin e kësaj.
    3. Mund të ketë zhvillues dhe institucione atje që financojnë karakteristika të reja për serinë QGIS 2.x dhe kjo mund të ndikojë në punën tuaj. Shtë e nevojshme të përfshihet në planet dhe buxhetet e këtyre projekteve, një alokim i caktuar për t'u përballur me migrimin në platformën QGIS 3.x.
    4. Nëse ekipi i QGIS punon për një "ndryshim total", do të ketë një kohë relativisht të shkurtër gjatë së cilës QGIS do të jetë i paqëndrueshëm dhe do të ndryshojë vazhdimisht për shkak të përditësimeve të vazhdueshme të QGIS 3.0.
    4. Nëse zhvilloni në një mënyrë 'evolucionare', rrezikoni që zhvillimi i 3.0 mund të zgjasë më shumë nëse nuk keni një grup besnik zhvilluesish që punojnë në të dhe e bëjnë gati për portim.

    propozimet

Në dritën e të gjitha informacioneve të mësipërme, propozohet një nga dy linjat e veprimit:

Propozimi 1:

Lëshoni një version të përkohshëm 2.16 dhe më pas filloni të punoni në versionin 3.0 si përparësi, me një dritare zhvillimi prej 8 muajsh. Ndryshimet e bëra në versionin 2.16 do të kërkojnë të jenë në përputhje me versionin 3.0 (shih python3 / pytq5).

Propozimi 2:

Nisni menjëherë 3.0 me një dritare më të gjatë në QT5, Python 3.0 dhe PyQt5 dhe kërkoni nga zhvilluesit që të bëjnë punën e tyre në 3.0. Vazhdoni me versionet 2.x në intervale të rregullta derisa 3.0 të jetë gati.

propozime alternative

Keni një propozim alternativ? QGIS është i interesuar të dijë për alternativat e mundshme. Nëse dëshironi të paraqisni një propozim, ju lutemi dërgoni në tim@qgis.org me subjekt “QGIS 3.0 Propozim”.

Duhet të ndjekë QGIS blog, Nga ku doli ky botim.

Golgi Alvarez

Shkrimtar, studiues, specialist në Modelet e Menaxhimit të Tokës. Ai ka marrë pjesë në konceptimin dhe zbatimin e modeleve si: Sistemi Kombëtar i Administrimit të Pronës SINAP në Honduras, Modeli i Menaxhimit të Bashkive të Përbashkëta në Honduras, Modeli i Integruar i Menaxhimit të Kadastrës - Regjistri në Nikaragua, Sistemi i Administrimit të Territorit SAT në Kolumbi . Redaktor i blogut të njohurive Geofumadas që nga viti 2007 dhe krijues i Akademisë AulaGEO që përfshin më shumë se 100 kurse mbi temat GIS - CAD - BIM - Digital Twins.

Artikuj Të Ngjashëm

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

Kështu që kontrolloni
afër
Kthehu në krye të faqes