QGIS

QGIS 3.0 - Kako, kada i šta; to implicira

Mnogi od nas se pitaju:

Kada će se objaviti QGIS 3.0?

Prošle godine (2015) projektni tim je počeo da istražuje kada i kako će biti objavljen QGIS 3.0. Obećali su, prema postu Anita Graser, koju će jasno prenijeti korisnicima i programerima svojih planova prije objavljivanja 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 vrijeme kada se izvrši velika promjena u API-ju vašeg softvera. Ova stanka nije trivijalna odluka za QGIS projekt jer imamo stotine hiljada korisnika koji ovise o QGIS-u, kako za vlastitu upotrebu, tako i za usluge pružene trećim stranama.

Povremeno razbijanje API je potrebno da primi ažuriranja arhitekture sa poboljšanim pristupima, nove biblioteke i ispravke odluke u prošlosti.

Koje su posljedice kršenja API?

Jedan od razloga zašto je to kršenje API u QGIS 3.0 je u tome što će imati veliki utjecaj, što bi moglo slomiti stotine razvijenih dodatke koji više ne bi bio kompatibilan sa novim API i autori ovih ima veze pregled njihovih razvoja kako bi se osigurala kompatibilnost sa novim API-jem.

Obim promjene potrebne u velikoj mjeri ovisi o:

  • Mnoge promjene API utjecati na trenutnu funkcionalnost.
    Koliko će poena plugin autori su koristili dijelove API koji će promijeniti.
  • Koje su glavne promjene na 3.0?

Postoje četiri ključna područja koja su u potrazi za promjene na 3.0:

 

Qt4 na QT5 ažuriranje: Ovo je osnovni set biblioteka na kojem je QGIS izgrađen na najvišem nivou, govorimo o CORE-funkcionalnom nivou platforme. QT takođe obezbeđuje biblioteke za obavljanje upravljanja memorijom, operacija povezivanja i upravljanja grafikom. Qt4 (na kojem je QGIS trenutno baziran) trenutno ne razvijaju Qt knjižnice i može 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 "Rastezanje"). Proces dovođenja QGIS-a na QT5 već ima važan napredak (uglavnom ono što je uradio Matijas Kun) koji zajedno sa Marcom Bernasocchijem ubacuje na Android "QField" baziran u potpunosti na QT5. Međutim, postoje neka ograničenja u pokretanju novog QT5 zbog njegovog uticaja na QGIS – posebno na vidžete veb pretraživača (uglavnom se koriste u Composer-u i na nekoliko drugih mesta u QGIS-u).

PyQt4 na PyQt5 ažuriranje: Ove promjene se odnose na Python jezika za Qt u API QGIS Python se temelji. Nastaje promijeniti QT5 C ++ biblioteka, očekuje se i prenijeti na PyQt5 Python biblioteka, tako da oni mogu iskoristiti prednosti novog API u Pythonu QT5.
Ažuriranje Python Python 2.7 3 na: Trenutno sve radi na Pythonu 2.7. Python 3 je najnovija verzija pythona i preporučuju ga oni koji vode taj projekat. Python 2 je blago nekompatibilan sa Python 3 (gotovo proporcionalan nekompatibilnosti između QGIS 2 i Qgis 3). Mnogi programeri su python Python 3 učinili uglavnom kompatibilnim s Pythonom 2, ali kompatibilnost unazad nije tako dobra.
Poboljšanje QGIS vlastitu API: Jedan od problema sa održavanjem kompatibilnosti API-ja između verzija je taj što morate dugo da živite sa svojim izborom dizajna. U QGIS-u se čini svaki napor da se API ne razbije u nizu manjih izdanja. Izdavanje QGIS verzije za 3.0 sa API-jem koji trenutno nije podržan daće nam priliku da "počistimo kuću" tako što ćemo popraviti stvari u API-ju sa kojima nismo usklađeni. Možete vidjeti privremenu listu 3.0 predložene promjene u API.

Kako podržati mijenja API 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, šta se može učiniti da se promjene ublaže? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias i drugi vrhunski programeri tragaju za načinima za ublažavanje broja promjena API prekida, nastavljajući unaprjeđivati ​​bazu QGIS koda koja se temelji na sljedećoj generaciji knjižnica i vlastitom internom API-ju. Tokom 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 Objavili su na svom blogu:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Datum objave Kraja februara 4 2.14 mjeseci ¿Cycle 8 mjeseci?
Notas Ažuriranje osnovnih QGIS Python kod Python 3 biti kompatibilan i podržava PyQt5 (parcijalne implementacije za ključne funkcije npr konzola, piton core pluginova itd)
Qt4 Si

Zastarjele u Debian Stretch (zbog za godinu dana)

(-webkit uklonjen)

Da Ne
Qt5 Ne

Promašaji QWebView - novi zamjena nije na svim platformama. Također Misses QPainter motora.

Si Si
PyQt4 Si Si Ne
PyQt5 Ne Si Si
Python 2 Si Si Ne
Python 3 Ne Si Si
čišćenje API Ne Ne Si
Mašine za pakovanje
PyQt5 -> PyQt4
~ 90% osigurava kompatibilnost unazad
Ne Si Si
mainstream Binary zasnovan Qt4 zasnovan Qt4 zasnovan Qt5
prioritet finansiranje Python omoti

Postoje dvije bitne stvari koje treba napomenuti o prijedlogu Matthias:

U prvoj faziRad se odvija u seriji završiti 2.x podrške QT5, PyQt5 koristeći Python 3.0, podržavajući Qt4, PyQt4 i Python 2.7. To podrazumijeva da se sve promjene napravljene u prvoj fazi će biti kompatibilan sa starijim verzijama 2.x. Python karakteristike će se ugraditi će se uvesti tako da je stara API PyQt4 i dalje mogu koristiti posebno kada je sastavio protiv QT5, PyQt5, Python 3.0. Korištenjem QGIS sastavio protiv Qt4, PyQt4 i Python 2.7 neće slomiti kompatibilnost.
U drugoj faziTo će raditi za proizvodnju QGIS 3.0, uvođenjem novih API-ja, u potpunosti uklonite Python 2.7, uključujući podršku za Qt4 i PyQt4. Nove funkcije u Python ulazak u prvoj fazi će se održavati, uzimajući u obzir sve Python kod i razvoja za 2.x verzije QGIS nastaviti raditi na 3.x verzije QGIS. Ova faza se očekuje da će uvesti promjene u QGIS API koji može razbiti neke dodatke. Za rješavanje ovog će dati smjernice Tražim migracija u pokušaju da olakša migracije verzija 2.x QGIS 3.x QGIS verzije.

caveat emptor

Postoji nekoliko trikova da se pita kako bi se osiguralo da je prelazak na QGIS 3.0 zvuči manje bolno.

  • 1. STreba napomenuti 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 i u najmanju ruku će se u svakom slučaju morati revidirati kako bi se osiguralo da i dalje pravilno funkcionira.
    2. Ne postoji formalno uspostavljen finansijski resurs za plaćanje programerima koji dobrovoljno ulažu svoje vrijeme za ovaj proces migracije. Zbog toga će biti vrlo teško odrediti tačne vremenske okvire za trajanje pojedinog dijela procesa. Ova nesigurnost mora se uzeti u obzir prilikom planiranja. Donacije su naravno dobrodošle da pomognu da se ovo 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 budžete ovih projekata potrebno je uključiti određenu alokaciju za suočavanje sa migracijom na QGIS 3.x platformu.
    4. Ako QGIS tim radi na "totalnoj promjeni", postojat će relativno kratko vrijeme tokom kojeg će QGIS biti nestabilan i stalno se mijenjati zbog tekućih ažuriranja QGIS-a 3.0.
    4. Ako razvijate na 'evolutivni' način, rizikujete da razvoj 3.0 može potrajati duže osim ako nemate lojalnu grupu programera koji rade na njemu i pripremaju ga za portiranje.

    prijedloga

U svjetlu svih navedene informacije, jedan od dva načina predlažu:

1 prijedlog:

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

2 prijedlog:

Se bacaju jednom 3.0 sa više prošireni prozor trajanje na QT5, Python 3.0 i PyQt5 i pitati programere da rade svoj posao u 3.0. Nastaviti sa 2.x verzijama sa uobičajenim frekvencija dok 3.0 je spreman.

alternativne prijedloge

Imate li alternativni prijedlog? QGIS je zainteresovan da zna o mogućim alternativama. Ako želite predati prijedlog, pošaljite na tim@qgis.org sa predmetom “QGIS 3.0 Predlog”.

Treba pratiti QGIS blogOdakle je došao ove publikacije.

Golgi Alvarez

Pisac, istraživač, specijalista za modele upravljanja zemljištem. Učestvovao je u konceptualizaciji i implementaciji modela kao što su: Nacionalni sistem upravljanja imovinom SINAP u Hondurasu, Model upravljanja zajedničkim opštinama u Hondurasu, Integrisani model upravljanja katastrom - registar u Nikaragvi, Sistem administracije teritorije SAT u Kolumbiji . Urednik Geofumadas bloga znanja od 2007. godine i kreator AulaGEO akademije koja uključuje više od 100 kurseva o temama GIS - CAD - BIM - Digital Twins.

Vezani članci

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

Nazad na vrh dugmeta