QGiS

QGIS 3.0 - Kako, kada i što; to podrazumijeva

Mnogi se pitaju:

Kada će QGIS 3.0 biti objavljen?

Prošle je godine (2015) projektni tim počeo istraživati ​​kada i kako će QGIS 3.0 biti objavljen. Obećali su, prema postu iz Anita Graser, koju će jasno prenijeti korisnicima i programerima svojih planova prije izdavanja QGIS 3.0. Nedavno su pokušali izložiti neke od razmatranja za QGIS 3.0 izdanje i na kraju posta postoji prilika da predstavimo svoje ideje.

Zašto 3.0?

QGis_LogoObično je glavna verzija rezervirana za vremena kada se izvrše velike promjene u API-ju vašeg softvera. Ova stanka nije trivijalna odluka za QGIS projekt jer imamo stotine tisuća korisnika koji ovise o QGIS-u, kako za vlastitu upotrebu, tako i za usluge pružene trećim stranama.

Povremeno je razbijanje API-ja potrebno za prilagodbu ažuriranja arhitekture s poboljšanim pristupima, novim knjižnicama i korekcijama odluka donesenih u prošlosti.

Koje su posljedice prekida API-ja?

Jedan od razloga zašto je ovo kršenje API-ja u QGIS 3.0-u to što će imati velik utjecaj, što bi moglo razbiti stotine razvijenih dodataka koji više ne bi bili kompatibilni s novim API-jem i koji bi autori trebali raditi pregled njihovog razvoja kako bi se osigurala kompatibilnost s novim API-jem.

Opseg potrebnih promjena ovisi u velikoj mjeri o:

  • Koliko promjena u API-ju utječu na trenutnu funkcionalnost.
    Koliko bodova autori čepova koriste dijelove API-ja koji bi promijenili.
  • Što će biti glavne promjene za 3.0?

Postoje četiri ključna područja na koja se želite promijeniti u 3.0-u:

 

Qt4 ažuriranje na QT5: Ovo je osnovni skup knjižnica na kojem je QGIS izgrađen na najvišoj razini, govorimo o CORE-funkcionalnoj razini platforme. QT također nudi knjižnice za upravljanje memorijom, operacije povezivanja i upravljanje grafikom. Qt4 (na kojem se QGIS trenutno temelji) trenutačno ne razvijaju održavatelji Qt knjižnice i mogao bi imati problema s funkcionalnošću s nekim platformama (npr. OS X), pa čak i olakšati upravljanje binarnim verzijama (npr. Debian Testing i sljedeće Debian izdanje „Razvući se”). Proces dovođenja QGIS-a u QT5 već ima važan napredak (uglavnom ono što je napravio Matthias Kuhn) koji zajedno s Marcom Bernasocchijem puše na Android "QField" koji se u potpunosti temelji na QT5. Međutim, postoje neka ograničenja u pokretanju novog QT5 zbog njegovog utjecaja na QGIS – posebno s widgetima web preglednika (uglavnom se koriste u Composeru i na nekoliko drugih mjesta u QGIS-u).

Ažurirajte PyQt4 na PyQt5: To su relativne promjene u pitonskom jeziku za Qt na kojem se temelji QGIS Python API. Predlaže se promjena biblioteke QT5 C + +, a također se očekuje da premjestite Python knjižnicu na PyQt5 kako bi se iskoristile prednosti novog QT5 API-ja u Pythonu.
2.7: Ažuriranje Python 3 u Python Trenutno sve radi na Pythonu 2.7. Python 3 je najnovija verzija pythona i preporučuju ga oni koji vode taj projekt. Python 2 blago je nespojiv s Pythonom 3 (gotovo proporcionalan nekompatibilnosti između QGIS 2 i Qgis 3). Mnogi su programeri učinili python Python 3 uglavnom unatrag kompatibilnim s Pythonom 2, ali povratna kompatibilnost nije tako dobra.
Poboljšanje samog QGIS API-ja: Jedan od problema s održavanjem kompatibilnosti API-ja između verzija je taj što morate dugo živjeti sa svojim odabirom dizajna. U QGIS-u se čini svaki napor da se API ne razbije u nizu manjih izdanja. Izdavanje QGIS verzije za 3.0 s API-jem koji trenutno nije podržan dat će nam priliku da "počistimo kuću" popravljajući stvari u API-ju s kojima nismo usklađeni. Možete vidjeti privremeni popis predložene izmjene za 3.0 API.

Kako podrľati promjenu API-ja 3.0

Kao što je već spomenuto, verzija 3.0 prekinut će se s QGIS verzijom 2.x i postoji mogućnost da se pokvare mnogi dodaci, postojeće aplikacije i drugi kod koji se temelji na trenutnom API-ju. Dakle, što se može učiniti za ublažavanje promjena? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias i drugi vrhunski programeri tragaju za načinima kako ublažiti broj promjena API prekida, nastavljajući unaprjeđivati ​​bazu QGIS koda koja se temelji na sljedećoj generaciji knjižnica i vlastitom internom API-ju. Tijekom našeg posljednjeg sastanka Upravnog odbora QGIS projekta geofumirali smo kroz razne mogućnosti. Sljedeća tablica sažima ono što je Matija Kuhn ljubazno sažeo i što smo u ovom članku dijelom pokušali transliterirati prema onome što objavljeno na vašem blogu:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Datum izdavanja Kraj veljače 4 mjeseci kasnije 2.14 Ciklus 8 mjeseci?
bilješke Ažuriranje python koda jezgrene QGIS-a da bi bio kompatibilan s Python 3 i PyQt5 kompatibilnim (djelomična implementacija za ključne funkcionalnosti, npr. Konzolu, dodatke jezgri python itd.)
Qt4 Si

Deprecated u Debian Stretch (zbog jedne godine)

(uklonjen je webkit)

Da Ne
Qt5 Ne

Propušta QWebView - nova zamjena nije na svim platformama. Također propušta QPainter Engine.

Si Si
PyQt4 Si Si Ne
PyQt5 Ne Si Si
Python 2 Si Si Ne
Python 3 Ne Si Si
Čišćenje API-ja Ne Ne Si
omotača
PyQt5 -> PyQt4
Pruža ~ 90% kompatibilnost unatrag
Ne Si Si
Mainstream binarni Na temelju Qt4 Na temelju Qt4 Na temelju Qt5
Prioritet financiranja Python omotači

Postoje dvije važne stvari koje treba imati na umu o Matiasovom prijedlogu:

U prvoj faziRad se obavlja u seriji završiti 2.x podršku QT5, PyQt5 pomoću Python 3.0, podržava Qt4, PyQt4 i Python 2.7. To podrazumijeva da će sve promjene u prvoj fazi biti kompatibilne s ranijim 2.x verzijama. Python značajke će biti ugrađeni će se uvesti tako da je stari API PyQt4 i dalje mogu koristiti posebno kada sastavljen od QT5, PyQt5, Python 3.0. Kada koristite QGIS sastavljen na Qt4, PyQt4 i Python 2.7 ne bi bilo kompatibilnosti sa slomom.
U drugoj faziTo će raditi za proizvodnju QGiS 3.0, uvođenjem novih API, potpuno uklonili Python 2.7, uključujući podršku za Qt4 i PyQt4. Nove značajke u pitona ulaze u prvu fazu će se održavati, uzimajući u obzir sve python kod i razvoj za 2.x verzije QGiS nastaviti raditi na 3.x verzije QGiS. U ovoj fazi se također očekuje da uvodite promjene u QGIS API koji mogu razbiti neke dodatke. Da bismo to riješili, pružit ćemo vodič za migraciju kako bismo olakšali proces migracije iz verzija 2.x QGIS u verzije 3.x QGIS.

Caveat emptor

Postoji nekoliko trikova koje treba staviti na mjesto kako bi se osiguralo da migracija na QGIS 3.0 zvuči manje bolno.

  • 1. STreba imati na umu da iako gore navedeni pristup pokušava smanjiti količinu rada na python skriptiranju u dodacima, to ne mora nužno biti 100%. Najvjerojatnije će biti slučajeva kada se kôd mora doraditi, a barem u svim slučajevima morat će se revidirati kako bi se osiguralo da i dalje pravilno funkcionira.
    2. Ne postoji formalno uspostavljen financijski resurs za plaćanje programerima koji dobrovoljno ulažu svoje vrijeme za ovaj proces migracije. Zbog toga će biti vrlo teško dati točne vremenske okvire za trajanje pojedinog dijela procesa. Ova nesigurnost mora se uzeti u obzir pri planiranju. Donacije su naravno dobrodošle da pomognu da se to dogodi.
    3. Možda postoje programeri i institucije koji financiraju nove značajke za QGIS 2.x seriju i to može utjecati na vaš rad. U planove i proračune ovih projekata potrebno je uvrstiti određeno izdvajanje za suočavanje s migracijom na QGIS 3.x platformu.
    4. Ako QGIS tim radi na "totalnoj promjeni", bit će relativno kratko vrijeme tijekom kojeg će QGIS biti nestabilan i stalno se mijenjati zbog tekućih ažuriranja QGIS-a 3.0.
    4. Ako razvijate na 'evolucijski' način, riskirate da razvoj 3.0 može potrajati dulje osim ako nemate lojalnu grupu programera koji rade na njemu i pripremaju ga za prijenos.

    prijedlozi

U svjetlu svih gore navedenih informacija, predlaže se jedno od dvije linije djelovanja:

1 prijedlog:

Objavite privremenu verziju 2.16, a zatim započnite s radom na verziji 3.0 kao prioritetu, s razvojnim vremenskim okvirom od 8 mjeseci. Promjene napravljene u verziji 2.16 nastojat će biti kompatibilne s verzijom 3.0 (vidi python3 / pytq5).

2 prijedlog:

Pokrenite 3.0 istodobno s prozorom duljeg trajanja na QT5, Python 3.0 i PyQt5 i zamolite programere da rade svoj posao na 3.0-u. Nastavite s verzijama 2.x u redovitim intervalima sve dok 3.0 nije spreman.

Alternativni prijedlozi

Imate li alternativni prijedlog? QGIS zanima saznanje o mogućim alternativama. Ako želite predati prijedlog, pošaljite na tim@qgis.org s predmetom “QGIS 3.0 Prijedlog”.

Trebali slijediti QGIS blog, gdje je ova publikacija izašla.

Golgi Alvarez

Pisac, istraživač, specijalist za modele upravljanja zemljištem. Sudjelovao je u konceptualizaciji i implementaciji modela kao što su: Nacionalni sustav upravljanja imovinom SINAP u Hondurasu, Model upravljanja zajedničkim općinama u Hondurasu, Integrirani model upravljanja katastrom - registar u Nikaragvi, Sustav administracije teritorija SAT u Kolumbiji . Urednik Geofumadas bloga znanja od 2007. i kreator AulaGEO akademije koja uključuje više od 100 tečajeva o temama GIS - CAD - BIM - Digital Twins.

Vezani članci

Ostavi komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

Natrag na vrh