Pievienot
QGIS

QGIS 3.0 - kā, kad un ko; tas nozīmē

Daudzi no mums ir jautā:

Kad būs atbrīvots QGIS 3.0?

Pagājušajā gadā (2015) projekta komanda sāka pētīt, kad un kā būtu jāatbrīvo QGIS 3.0. Viņi solīja, saskaņā ar ziņu no Anita Graser, ko viņi pirms QGIS 3.0 palaišanas skaidri nodeva lietotājiem un savu plānu izstrādātājiem. Viņi nesen ir mēģinājuši atmaskot dažus apsvērumus par QGIS 3.0 izlaišanu, un ziņas beigās mums ir iespēja iepazīstināt ar savām idejām.

Kāpēc 3.0?

QGis_LogoParasti galvenā versija ir rezervēta tiem laikiem, kad tiek veiktas lielas izmaiņas jūsu programmatūras API. Šis pārtraukums nav niecīgs lēmums attiecībā uz QGIS projektu, jo mēs esam simtiem tūkstošu lietotāju, kuri ir atkarīgi no QGIS gan mūsu pašu vajadzībām, gan pakalpojumiem, ko sniedz trešajām personām.

Reizēm laužot API ir nepieciešama, lai pielāgotos atjaunināt arhitektūru ar uzlabotām, jaunas bibliotēkas un labojumiem lēmumiem pagātnē.

Kādas ir sekas pārkāpj API?

Viens no iemesliem, kāpēc šis API pārrāvums QGIS 3.0 ir tas, ka tam būs liela ietekme, kas varētu sabojāt simtiem izstrādātu spraudņu, kas vairs nebūs saderīgi ar jauno API, un to autoriem būtu jādara pārskats par to attīstību, lai nodrošinātu saderību ar jauno API.

Par izmaiņām, kas nepieciešami apjoms lielā mērā ir atkarīgs:

  • Daudzi API izmaiņas ietekmē pašreizējo funkcionalitāti.
    Cik punktus plugins autori ir izmantojuši daļu no API, kas varētu mainīt.
  • Kādas ir galvenās izmaiņas 3.0?

Ir četras galvenās jomas, kas meklē pārmaiņām 3.0:

 

Qt4 uz QT5 atjauninājumu: Šis ir pamata bibliotēku komplekts, kurā QGIS ir veidots visaugstākajā līmenī, mēs runājam par platformas CORE funkcionālo līmeni. QT nodrošina arī bibliotēkas, lai veiktu atmiņas pārvaldību, savienojamības darbības un grafikas pārvaldību. Qt4 (uz kuru pašlaik ir balstīts QGIS) pašlaik neizstrādā Qt bibliotēkas uzturētāji, un var rasties funkcionalitātes problēmas ar dažām platformām (piemēram, OS X) un pat atvieglot bināro versiju pārvaldību (piemēram, Debian testēšana un nākamā Debian versija “Izstiept”). QGIS ieviešanas procesam QT5 jau ir nozīmīgs progress (galvenokārt tas, ko ir paveicis Matiass Kūns), kas kopā ar Marko Bernasoki smēķē Android "QField", kas pilnībā balstīts uz QT5. Tomēr ir daži ierobežojumi jaunā QT5 iedarbināšanai, jo tas ietekmē QGIS, jo īpaši tīmekļa pārlūkprogrammas logrīkus (galvenokārt izmanto Composer un arī dažās citās vietās QGIS).

PyQt4 uz PyQt5 atjauninājumu: Tās ir relatīvās izmaiņas Ptona valodā Qt, uz kuru balstās QGIS Python API. Ir ierosināts mainīt QT5 C ++ bibliotēku, kā arī ir paredzēts pārvietot Python bibliotēku uz PyQt5, lai varētu izmantot jaunās QT5 API priekšrocības Python.
Atjaunināšana Python Python 2.7 3 uz: Pašlaik viss darbojas uz Python 2.7. Python 3 ir jaunākā pitona versija, un to iesaka tie, kas vada šo projektu. Python 2 ir nedaudz nesaderīgs ar Python 3 (gandrīz proporcionāls QGIS 2 un Qgis 3 nesaderībai). Daudzi izstrādātāji ir padarījuši Python Python 3 lielā mērā savietojamu ar Python 2, taču savietojamība ar atpakaļejošo versiju nav tik liela.
Uzlabojot QGIS ir sava API: Viena no problēmām, kas saistītas ar API saderības uzturēšanu starp versijām, ir tā, ka jums ir jādzīvo ar savām dizaina izvēlēm ilgtermiņā. QGIS tiek darīts viss iespējamais, lai nepārkāptu API virknē nelielu izlaidumu. QGIS versijas izlaišana versijai 3.0 ar pašlaik neatbalstītu API dos mums iespēju "tīrīt māju", izlabojot lietas API, kurām mēs neatbilstam. Jūs varat redzēt provizorisku sarakstu ar 3.0 ierosināja izmaiņas API.

Kā atbalstīt mainot 3.0 API

Kā jau minēts, versija 3.0 pārtrauks QGIS versiju 2.x, un pastāv iespēja, ka daudzi spraudņi, esošās lietojumprogrammas un citi kodi, kas balstīti uz pašreizējo API, saplīsīs. Tātad, ko var darīt, lai mazinātu izmaiņas? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias un citi labākie izstrādātāji ir meklējuši veidus, kā mazināt API pārtraukumu izmaiņu skaitu, turpinot virzīt QGIS koda bāzi, pamatojoties uz nākamās paaudzes bibliotēkām un savu iekšējo API. Pēdējās QGIS projekta vadības komitejas sanāksmes laikā mēs izpētījām dažādas iespējas. Šajā tabulā ir apkopots tas, ko Matiass Kuhs laipni apkopoja un ko mēs šajā rakstā daļēji esam mēģinājuši transliterēt atbilstoši tam, Viņi publicēja savā blogā:


QGIS 2.14 LTR
QGIS 2.16? QGIS 3.0
Izdošanas datums Beigas februāris 4 2.14 mēnešiem ¿Cycle 8 mēnešiem?
Rēķini Atjaunināšana kodols QGIS python kodu Python 3 būt atbilstošu un atbalsta PyQt5 (daļēju izpildi attiecībā uz galveno funkcionalitāti, piemēram, konsole, python galvenie plugins utt)
Qt4 Si

Novecojusi ir Debian Stretch (jāmaksā gadā)

(-webkit noņemts)

Qt5

Garām QWebView - jauns nomaiņa nevis uz visām platformām. Arī Garām QPainter Dzinējs.

Si Si
PyQt4 Si Si
PyQt5 Si Si
Python 2 Si Si
Python 3 Si Si
tīrīšanas API Si
Rituāli
PyQt5 -> PyQt4
~ 90% paredz atpakaļ saderību
Si Si
mainstream Binary Pamatojoties Qt4 Pamatojoties Qt4 Pamatojoties Qt5
Finansējums prioritāte Python ietinēji

Ir divas svarīgas lietas, kas jāatceras par priekšlikuma Matthias:

Pirmajā posmāDarbs tiek veikts sērijā pabeigt 2.x atbalsta QT5, PyQt5 izmantojot Python 3.0, atbalstot Qt4, PyQt4 un Python 2.7. Tas nozīmē, ka visas izmaiņas, kas veiktas pirmajā posmā būtu saderīgs ar iepriekšējām versijām 2.x. Python funkcijas tiks iekļauti tiks ieviesta, lai veco API PyQt4 joprojām var izmantot, jo īpaši, kad tie ir apkopoti pret QT5, PyQt5, Python 3.0. Izmantojot QGIS apkopota pret Qt4, PyQt4 un Python 2.7 nelūst saderību.
Otrajā posmāTā strādās, lai ražotu QGIS 3.0, ieviešot jaunu API, pilnībā noņemt Python 2.7, tostarp atbalstu Qt4 un PyQt4. Jaunas funkcijas python ienāk pirmais posms tiks saglabāta, ņemot vērā visus python kodu un attīstību attiecībā uz 2.x versijas QGIS turpināt strādāt pie 3.x versijām QGIS. Šis posms ir arī paredzēts ieviest izmaiņas QGIS API, kas var tikt bojātas dažas plugins. Lai risinātu šo sniegs vadlīnijas aa migrāciju, lai mēģinātu atvieglot migrāciju versijas 2.x QGIS 3.x ar QGIS versijas.

caveat emptor

Ir dažas viltības, kas jāuzdod, lai nodrošinātu, ka migrācija uz QGIS 3.0 skaņu mazāk sāpīga.

  • 1. SJāatzīmē, ka, lai gan iepriekš izklāstītā pieeja mēģina līdz minimumam samazināt darbu ar python skriptiem spraudņos, tas ne vienmēr būs 100%. Visticamāk būs gadījumi, kad kods būs jāpielāgo un vismaz visos gadījumos tas, visticamāk, būs jāpārskata, lai pārliecinātos, ka tas turpina darboties pareizi.
    2. Nav oficiāli izveidota finanšu resursa, ko maksāt izstrādātājiem, kuri brīvprātīgi iegulda savu laiku šim migrācijas procesam. Tādēļ būs ļoti grūti precīzi norādīt laika posmus, cik ilgu laiku aizņems katra procesa daļa. Šī nenoteiktība jāņem vērā, plānojot. Protams, ir laipni aicināti ziedojumi, lai tas notiktu.
    3. Tur var būt izstrādātāji un iestādes, kas finansē jaunas QGIS 2.x sērijas funkcijas, un tas var ietekmēt jūsu darbu. Šo projektu plānos un budžetos ir jāiekļauj noteikts piešķīrums, lai risinātu migrāciju uz platformu QGIS 3.x.
    4. Ja QGIS komanda strādās pie "totālām izmaiņām", QGIS būs salīdzinoši īss laiks, kurā QGIS būs nestabils un pastāvīgi mainīsies sakarā ar notiekošajiem QGIS 3.0 atjauninājumiem.
    4. Ja jūs izstrādājat "evolucionārā" veidā, jūs riskējat, ka 3.0 izstrāde var aizņemt ilgāku laiku, ja vien jums nav lojāla izstrādātāju grupa, kas strādā pie tā un nesagatavo to pārnešanai.

    priekšlikumi

Ņemot vērā visu iepriekš minēto informāciju, tiek ierosināts viens no diviem darbības virzieniem:

1 priekšlikums:

Izlaidiet provizorisko versiju 2.16 un pēc tam sāciet strādāt ar 3.0 versiju kā prioritāti ar 8 mēnešu attīstības periodu. Izmaiņas, kas veiktas 2.16 versijā, centīsies būt saderīgas ar 3.0 versiju (sk. Python3 / pytq5).

2 priekšlikums:

Lunging reizi 3.0 ar daudz ilgāku ilguma loga QT5, Python 3.0 un PyQt5 un lūgt izstrādātājiem veikt savu darbu 3.0. Turpināt 2.x versijām ar parasto frekvenci līdz 3.0 ir gatava.

alternatīvi priekšlikumi

Vai jums ir alternatīvs priekšlikums? QGIS ir ieinteresēts uzzināt par iespējamām alternatīvām. Ja vēlaties iesniegt priekšlikumu, lūdzu, nosūtiet uz Tim@qgis.org ar tēmu “QGIS 3.0 priekšlikums”.

Ja izpildiet QGIS blogNo kurienes nāca šī publikācija.

Golgi Alvaress

Rakstnieks, pētnieks, zemes apsaimniekošanas modeļu speciālists. Viņš ir piedalījies tādu modeļu konceptualizācijā un ieviešanā kā: Nacionālā īpašuma administrēšanas sistēma SINAP Hondurasā, Hondurasas apvienoto pašvaldību pārvaldības modelis, integrētais kadastra pārvaldības modelis - reģistrs Nikaragvā, teritorijas administrācijas sistēma SAT Kolumbijā. . Geofumadas zināšanu emuāra redaktors kopš 2007. gada un AulaGEO akadēmijas veidotājs, kas ietver vairāk nekā 100 kursus par GIS - CAD - BIM - Digital Twins tēmām.

Saistītie raksti

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāti jūsu komentāru dati.

Atpakaļ uz augšu pogu