qgis

QGIS 3.0 - kaip, kada ir kas; tai reiškia

Daugelis klausia savęs:

Kada bus paleistas QGIS 3.0?

Praėjusiais metais (2015) projekto komanda pradėjo tirti, kada ir kaip turėtų būti išleistas QGIS 3.0. Jie pažadėjo, kaip rašoma iš Anita Graser, kurią jie ketino aiškiai perduoti savo planų vartotojams ir kūrėjams prieš išleidžiant „QGIS 3.0“. Jie neseniai bandė atskleisti kai kuriuos „QGIS 3.0“ leidimo aspektus, o įrašo pabaigoje mums yra galimybė pristatyti savo idėjas.

Kodėl 3.0?

QGis_LogoPaprastai pagrindinė versija yra rezervuota tiems laikams, kai atliekamas didelis jūsų programinės įrangos API pakeitimas. Ši pertrauka nėra nereikšmingas QGIS projekto sprendimas, nes mes esame šimtai tūkstančių vartotojų, kurie priklauso nuo QGIS tiek savo reikmėms, tiek trečiosioms šalims teikiamoms paslaugoms.

Kartais API trikdymas yra būtinas, siekiant pritaikyti architektūros atnaujinimą, patobulintus metodus, naujas bibliotekas ir taisymus, padarytus praeityje.

Kokios yra API pažeidimo pasekmės?

Viena iš priežasčių, kodėl ši iš qgis 3.0 API pažeidimas yra tai, kad jis turės didelį poveikį, kuris galėtų nutraukti šimtus išsivysčiusių įskiepių, kad nebebūtų suderinama su nauja API ir šių autoriai daryti jų pokyčių apžvalga, siekiant užtikrinti suderinamumą su nauja API.

Būtinų pakeitimų mastas daugiausia priklauso nuo:

  • Kiek API pakeitimų įtakoja dabartinę funkciją.
    Kiek taškų, autoriaus įskiepiai naudojo tam tikras API dalis, kurias jie pakeis.
  • Kokie bus pagrindiniai 3.0 pakeitimai?

3.0 keičia keturias pagrindines sritis:

 

Qt4 atnaujinimas iki QT5: Tai yra pagrindinis QGIS bibliotekų rinkinys, sukurtas aukščiausio lygio, kalbame apie platformos CORE funkcinį lygį. QT taip pat teikia bibliotekas, skirtas atminties valdymui, ryšio operacijoms ir grafikos valdymui atlikti. Qt4 (kuriuo šiuo metu yra pagrįstas QGIS) šiuo metu nekuria Qt bibliotekos prižiūrėtojai ir gali kilti funkcionalumo problemų su kai kuriomis platformomis (pvz., OS X) ir netgi palengvinti dvejetainių versijų valdymą (pvz., Debian testavimas ir kita Debian versija „Ištempti“). QGIS perkėlimas į QT5 jau turi svarbią pažangą (daugiausia tai, ką padarė Matthiasas Kuhnas), nes kartu su Marco Bernasocchi rūko „Android“ „QField“, pagrįstą visiškai QT5. Tačiau naujojo QT5 paleidimas ir veikimas turi tam tikrų apribojimų dėl jo poveikio QGIS, ypač naudojant žiniatinklio naršyklės valdiklius (daugiausia naudojamus Kompozitoriuje ir kai kuriose kitose QGIS vietose).

Atnaujinkite PyQt4 prie PyQt5: Tai yra santykiniai Qt "Python" kalbos pakeitimai, kuriais grindžiama "QGIS Python" API. Kyla pakeisti QT5 C ++ biblioteka, taip pat tikimasi perkelti į PyQt5 python bibliotekoje, kad jie galėtų pasinaudoti naujojo API Python QT5 naudą.
2.7: Python 3 atnaujinimas Python Šiuo metu viskas veikia naudojant „Python 2.7“. „Python 3“ yra naujausia „python“ versija, kurią rekomenduoja vadovaujantys projektui. „Python 2“ yra šiek tiek nesuderinamas su „Python 3“ (beveik proporcingas QGIS 2 ir Qgis 3 nesuderinamumui). Daugelis kūrėjų padarė „Python Python 3“ iš esmės suderinamą su „Python 2“, tačiau atgalinis suderinamumas nėra toks didelis.
Pati QGIS API patobulinimas: Viena iš problemų, susijusių su API suderinamumo tarp versijų palaikymu, yra ta, kad jūs turite gyventi su savo dizaino pasirinkimais ilgą laiką. QGIS dedamos visos pastangos, kad nebūtų pažeista API dėl nedidelių leidimų. Išleidę QGIS versiją, skirtą 3.0 su šiuo metu nepalaikoma API, turėsime galimybę „išvalyti namus“ taisydami API dalykus, kurių nesilaikome. Galite pamatyti preliminarų sąrašą Pakeitimai, pateikti 3.0 API.

Kaip palaikyti 3.0 API keitimą

Kaip jau minėta, 3.0 versija bus pažeista su QGIS 2.x versija ir yra tikimybė, kad sugadins daugelis papildinių, esamų programų ir kito kodo, pagrįsto dabartine API. Taigi, ką galima padaryti, kad sušvelnintume pokyčius? Matthiasas Kuhnas, Jürgenas Fischeris, Nyallas Dawsonas, Martinas Dobiasas ir kiti geriausi kūrėjai ieškojo būdų, kaip sušvelninti API pertraukų pakeitimų skaičių, toliau plėtodami QGIS kodų bazę, pagrįstą naujos kartos bibliotekomis ir savo vidine API. Paskutinio QGIS projekto valdymo komiteto posėdžio metu apžvelgėme įvairias galimybes. Šioje lentelėje apibendrinta tai, ką Matthiasas Kuhnas maloniai apibendrino ir kurį mes iš dalies bandėme perrašyti šiame straipsnyje pagal tai, Paskelbtas jūsų tinklaraštyje:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Išleidimo data Vasario pabaiga Po 4 mėnesių po 2.14 Ciklas 8 mėnesius?
Pastabos Atnaujinkite "QGIS" pagrindinio "Python" kodą, kuris yra suderinamas su "Python 3" ir suderinamas su "PyQt5" (dalinis pagrindinių funkcijų įgyvendinimas, pvz., "Console", "python core plugins" ir tt).
Qt4 Si

Nebenaudojamas "Debian Stretch" (po vienerių metų)

(Webkit pašalintas)

taip Ne
Qt5 Ne

Trūksta QWebView - naujas pakeitimas ne visose platformose. Taip pat praleisti QPainter Engine.

Si Si
PyQt4 Si Si Ne
PyQt5 Ne Si Si
python 2 Si Si Ne
python 3 Ne Si Si
API valymas Ne Ne Si
Vynuogynai
PyQt5 -> PyQt4
Suteikia ~ 90% atgalinio suderinamumo
Ne Si Si
Pagrindinis dvejetainis Remiantis Qt4 Remiantis Qt4 Remiantis Qt5
Finansavimo prioritetas "Python" įvyniojimo mašinos

Yra du svarbūs dalykai, dėl kurių turėtumėte nepamiršti apie "Matias" pasiūlymą:

Pirmajame etapeDarbas daroma serijos baigti 2.x paramos QT5, PyQt5 naudojant Python 3.0, remti Qt4, PyQt4 ir Python 2.7. Tai reiškia, kad visi pakeitimai, padaryti pirmame etape, būtų suderinami su ankstesnėmis versijomis 2.x. Python funkcijos bus įtrauktos bus pristatyta taip, kad senas API PyQt4 vis dar gali būti naudojamas ypač kai rengiami prieš QT5, PyQt5, Python 3.0. Naudojant qgis, parengtus nuo Qt4, PyQt4 ir Python 2.7 nebūtų sulaužyti suderinamumą.
Antrame etapeBūtų dirbti gaminti qgis 3.0, pristatydamas naują API visiškai pašalinti Python 2.7, įskaitant paramą Qt4 ir PyQt4. Naujos funkcijos python persijungimo į pirmąjį etapą bus išlaikytas, atsižvelgiant į visą python kodą ir pokyčiams 2.x versijų qgis tęsti darbą, susijusį su 3.x versijų qgis. Šiame etape taip pat tikimasi įvesti QGIS API pakeitimus, kurie gali sulaužyti kai kuriuos papildinius. Norėdami išspręsti šią problemą bus numatyti gaires, aa migracijos bandyti palengvinti versijų migracijos 2.x qgis 3.x qgis versijas.

Įspėjamasis emptorius

Yra keletas gudrybių, kuriuos reikėtų įdiegti, siekiant užtikrinti, kad perėjimas prie QGIS 3.0 skamba mažiau skausmingai.

  • 1. SReikėtų pažymėti, kad, nors aukščiau išdėstytu metodu bandoma sumažinti darbo su python scenarijais įskiepius kiekį, tai nebūtinai bus 100%. Greičiausiai bus atvejų, kai kodą reikės patobulinti ir bent jau visais atvejais jį tikriausiai reikės peržiūrėti, kad įsitikintumėte, jog jis ir toliau tinkamai veikia.
    2. Nėra oficialiai nustatytų finansinių išteklių, kuriuos galėtų sumokėti kūrėjai, kurie savo noru investuoja laiką šiam migracijos procesui. Dėl to bus labai sunku nurodyti tikslius laiko planus, kiek laiko užtruks kiekviena proceso dalis. Į šį neapibrėžtumą reikia atsižvelgti planuojant. Žinoma, laukiame aukų, kad tai padėtų.
    3. Gali būti kūrėjų ir institucijų, kurios finansuoja naujas QGIS 2.x serijos funkcijas, ir tai gali turėti įtakos jūsų darbui. Į šių projektų planus ir biudžetus būtina įtraukti tam tikrą asignavimą, kad būtų galima pereiti prie „QGIS 3.x“ platformos.
    4. Jei QGIS komanda dirbs ties „visiškai pakeisti“, tai bus gana trumpas laikas, per kurį QGIS bus nestabilus ir nuolat keisis dėl nuolatinių QGIS 3.0 atnaujinimų.
    4. Jei kuriate „evoliuciniu“ būdu, rizikuojate, kad 3.0 versijos kūrimas gali užtrukti ilgiau, nebent lojalių kūrėjų grupė dirbs su tuo ir ruošiasi perkelti.

    Pasiūlymai

Atsižvelgiant į visą pirmiau pateiktą informaciją siūloma viena iš dviejų veiksmų krypčių:

1 pasiūlymas:

Išleiskite tarpinę versiją 2.16 ir pradėkite dirbti su 3.0 versija kaip prioritetinį, su 8 mėnesių kūrimo langu. Pakeitimai, atlikti 2.16 versijoje, bus suderinami su 3.0 versija (žr. Python3 / pytq5).

2 pasiūlymas:

Lunging kartą 3.0 su daugiau pratęsimo langą QT5, Python 3.0 ir PyQt5 ir paklausti kūrėjams padaryti savo darbą 3.0. Tęskite 2.x versijas reguliariais laiko tarpais, kol 3.0 bus paruoštas.

Alternatyvūs pasiūlymai

Turite alternatyvų pasiūlymą? QGIS yra suinteresuota žinoti apie galimas alternatyvas. Jei norite pateikti pasiūlymą, siųskite adresu Tim@qgis.org su tema „QGIS 3.0 pasiūlymas“.

The QGIS tinklaraštis, Kur paskelbtas šis leidinys.

Golgis Alvarezas

Rašytojas, tyrinėtojas, žemėtvarkos modelių specialistas. Jis dalyvavo kuriant ir įgyvendinant tokius modelius kaip: Nacionalinė turto administravimo sistema SINAP Hondūre, Hondūro jungtinių savivaldybių valdymo modelis, Nikaragvos kadastro valdymo integruotas modelis – registras, SAT teritorijos administravimo sistema Kolumbijoje. . Geofumadas žinių tinklaraščio redaktorius nuo 2007 m. ir AulaGEO akademijos, apimančios daugiau nei 100 kursų GIS – CAD – BIM – skaitmeninių dvynių temomis, kūrėjas.

Susiję straipsniai

Komentuoti

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

Atgal į viršų mygtukas