qgis

QGIS 3.0 - Sut, pryd a beth; mae'n awgrymu

Mae llawer yn gofyn ein hunain:

Pryd fydd QGIS 3.0 yn cael ei ryddhau?

Y llynedd (2015) dechreuodd y tîm prosiect ymchwilio pryd a sut y byddai QGIS 3.0 i'w ryddhau. Fe wnaethon nhw addo, yn ôl swydd o Anita Graser, yr oeddent am eu cyfleu'n glir i ddefnyddwyr a datblygwyr eu cynlluniau cyn lansio QGIS 3.0. Yn ddiweddar maent wedi ceisio nodi rhai o'r ystyriaethau ar gyfer datganiad QGIS 3.0 ac ar ddiwedd y swydd mae cyfle inni gyflwyno ein syniadau.

Pam 3.0?

QGis_LogoYn nodweddiadol, mae fersiwn fawr wedi'i chadw ar gyfer adegau pan fydd newid mawr yn cael ei wneud i API eich meddalwedd. Nid yw'r toriad hwn yn benderfyniad dibwys i'r prosiect QGIS gan ein bod ni'n gannoedd o filoedd o ddefnyddwyr sy'n dibynnu ar QGIS, at ein defnydd ein hunain ac am wasanaethau a ddarperir i drydydd partïon.

Mae angen torri'r API o bryd i'w gilydd i ddarparu ar gyfer diweddaru'r pensaernïaeth gyda dulliau gwell, llyfrgelloedd newydd a chywiriadau i benderfyniadau a wnaed yn y gorffennol.

Beth yw canlyniadau torri'r API?

Un rheswm pam y toriad hwn o'r API yn QGIS 3.0 yw y bydd yn cael effaith fawr, a allai dorri cannoedd o ategion datblygedig a fyddai bellach yn gydnaws â'r API newydd ac awduron o'r rhain wedi ei wneud adolygiad o'u datblygiadau i sicrhau cydnaws â'r API newydd.

Mae maint y newidiadau angenrheidiol yn dibynnu i raddau helaeth ar:

  • Faint o newidiadau i'r API sy'n effeithio ar y swyddogaeth gyfredol.
    Ar sawl pwynt y mae'r awduron ategyn wedi defnyddio rhannau o'r API y byddent yn newid.
  • Beth fydd y prif newidiadau ar gyfer 3.0?

Mae pedwar maes allweddol yr ydych yn dymuno eu newid yn 3.0:

 

Diweddariad Qt4 i QT5: Dyma'r set sylfaenol o lyfrgelloedd y mae QGIS wedi'u hadeiladu ar y lefel uchaf, rydyn ni'n siarad am lefel swyddogaethol CORE y platfform. Mae QT hefyd yn darparu llyfrgelloedd i berfformio rheoli cof, gweithrediadau cysylltedd, a rheoli graffeg. Nid yw Qt4 (y mae QGIS yn seiliedig arno ar hyn o bryd) yn cael ei ddatblygu gan gynhalwyr llyfrgell Qt ac efallai y bydd ganddo broblemau ymarferoldeb gyda rhai platfformau (ee OS X) a hyd yn oed ei gwneud hi'n haws rheoli fersiynau deuaidd (ee Debian Testing a'r datganiad Debian nesaf “Ymestyn”). Mae'r broses o ddod â QGIS i QT5 eisoes wedi symud ymlaen yn bwysig (yn bennaf yr hyn y mae Matthias Kuhn wedi'i wneud) sydd ynghyd â mwg Marco Bernasocchi ar yr Android "QField" yn seiliedig yn gyfan gwbl ar QT5. Fodd bynnag, mae rhai cyfyngiadau o ran cael y QT5 newydd ar waith oherwydd ei effaith ar QGIS - yn enwedig gyda widgets porwr gwe (a ddefnyddir yn bennaf yn Composer a hefyd ychydig o leoedd eraill yn QGIS).

Diweddaru PyQt4 i PyQt5: Dyma'r newidiadau cymharol i'r iaith Python ar gyfer Qt y mae API Python QGIS wedi'i seilio arno. Yn codi newid y QT5 C ++ llyfrgell, Mae disgwyl hefyd i drosglwyddo i lyfrgell python PyQt5 fel y gallant fanteisio ar y manteision y API newydd yn Python QT5.
2.7: Diweddaru Python 3 i Python Ar hyn o bryd mae popeth yn rhedeg ar Python 2.7. Python 3 yw'r fersiwn ddiweddaraf o python ac mae'n cael ei argymell gan y rhai sy'n arwain y prosiect hwnnw. Mae Python 2 ychydig yn anghydnaws â Python 3 (bron yn gymesur â'r anghydnawsedd rhwng QGIS 2 a Qgis 3). Mae llawer o ddatblygwyr wedi gwneud python Python 3 yn ôl-gydnaws i raddau helaeth â Python 2, ond nid yw'r cydnawsedd yn ôl mor wych â hynny.
Gwella'r API QGIS ei hun: Un o'r problemau gyda chynnal cydweddoldeb API rhwng fersiynau yw bod yn rhaid i chi fyw gyda'ch dewisiadau dylunio ar gyfer y tymor hir. Gwneir pob ymdrech yn QGIS i beidio â thorri'r API mewn cyfres o fân ddatganiadau. Bydd rhyddhau fersiwn QGIS ar gyfer 3.0 gydag API nad yw'n cael ei gefnogi ar hyn o bryd yn rhoi cyfle i ni "lanhau tŷ" trwy osod pethau yn yr API nad ydym yn cydymffurfio â nhw. Gallwch weld rhestr dros dro o newidiadau arfaethedig ar gyfer yr API 3.0.

Sut i gefnogi newid yr API 3.0

Fel y soniwyd eisoes, bydd fersiwn 3.0 yn torri gyda fersiwn 2.x QGIS ac mae posibilrwydd y bydd llawer o ategion, cymwysiadau presennol a chod arall sy'n seiliedig ar yr API cyfredol yn torri. Felly beth ellir ei wneud i liniaru'r newidiadau? Mae Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias a datblygwyr gorau eraill wedi bod yn chwilio am ffyrdd i liniaru nifer y newidiadau i egwyl API wrth barhau i hyrwyddo'r cod-cod QGIS yn seiliedig ar y genhedlaeth nesaf o lyfrgelloedd a'i API mewnol ei hun. Yn ystod ein cyfarfod diwethaf o Bwyllgor Llywio Prosiect QGIS, aethom trwy amrywiol bosibiliadau. Mae'r tabl canlynol yn crynhoi'r hyn a grynhodd Matthias Kuhn yn raslon a'n bod wedi ceisio trawslythrennu yn yr erthygl hon yn rhannol yn ôl yr hyn bostio ar eich blog:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Dyddiad Cyhoeddi Diwedd mis Chwefror 4 mis yn ddiweddarach 2.14 Beic 8 Misoedd?
Mesurau Diweddaru cod python QGIS craidd i fod yn Python 3 yn gydnaws a PyQt5 cydnaws (gweithredu rhannol ar gyfer ymarferoldeb allweddol ee consola, ategion craidd python ac ati)
Qt4 Si

Dibynadwy yn Debian Stretch (sy'n ddyledus mewn blwyddyn)

(dileu pecyn gwe)

Ydy Na
Qt5 Na

Misses QWebView - ailosod newydd nid ar bob llwyfan. Hefyd yn colli peiriant QPainter.

Si Si
PyQt4 Si Si Na
PyQt5 Na Si Si
Python 2 Si Si Na
Python 3 Na Si Si
API Glanhau Na Na Si
Cyflenwyr
PyQt5 -> PyQt4
Yn darparu ~ Cydweddu 90% Yn ôl
Na Si Si
Deuawd Prif Ffrwd Qt4 Seiliedig Qt4 Seiliedig Qt5 Seiliedig
Blaenoriaeth ariannu Cyflenwyr Python

Mae dau beth pwysig i'w cadw mewn cof ynghylch cynnig Matias:

Yn y cam cyntafMae'r gwaith yn cael ei wneud yn y gyfres i gwblhau QT2 cefnogi 5.x, PyQt5 gan ddefnyddio Python 3.0, cefnogi Qt4, PyQt4 a Python 2.7. Mae hyn yn awgrymu y byddai'r holl newidiadau a wnaed yn y cam cyntaf yn gydnaws â fersiynau cynharach 2.x. Bydd nodweddion Python yn cael eu hymgorffori yn cael eu cyflwyno fel y gall y API PyQt4 hen yn dal yn cael ei ddefnyddio yn enwedig pan luniwyd yn erbyn QT5, PyQt5, Python 3.0. Trwy ddefnyddio QGIS a luniwyd yn erbyn Qt4, PyQt4 a Python 2.7 ni fyddai torri yn gydnaws.
Yn yr ail gamByddai'n gweithio i gynhyrchu QGIS 3.0, cyflwyno'r API newydd, yn gyfan gwbl gael gwared ar y Python 2.7, gan gynnwys cymorth ar gyfer Qt4 a PyQt4. Bydd nodweddion newydd yn python mynd i mewn i'r cam cyntaf yn cael ei gynnal, gan gymryd i ystyriaeth yr holl cod Python a datblygiadau ar gyfer fersiynau 2.x o QGIS yn parhau i weithio ar y fersiynau 3.x o QGIS. Disgwylir hefyd y cam hwn i gyflwyno newidiadau yn y API QGIS allai dorri rhai plugins. I fynd i'r afael bydd hyn yn darparu mudo arweiniad aa i geisio hwyluso ymfudiad fersiynau 2.x QGIS 3.x QGIS fersiwn.

Emptor Caveat

Mae ychydig o driciau y dylid eu rhoi ar waith i sicrhau bod ymfudiad i QGIS 3.0 yn llai poenus.

  • 1. S.Dylid nodi, er bod y dull a nodir uchod yn ceisio lleihau faint o waith ar sgriptio python mewn ategion, ni fydd hyn o reidrwydd yn 100%. Yn fwyaf tebygol, bydd achosion lle mae'n rhaid newid y cod ac ym mhob achos o leiaf, mae'n debygol y bydd yn rhaid ei ddiwygio er mwyn sicrhau ei fod yn parhau i weithredu'n iawn.
    2. Nid oes adnodd ariannol wedi'i sefydlu'n ffurfiol i dalu datblygwyr sy'n buddsoddi eu hamser o'u gwirfodd ar gyfer y broses fudo hon. Oherwydd hyn, bydd yn anodd iawn rhoi union fframiau amser ar gyfer pa mor hir y bydd pob rhan o'r broses yn ei gymryd. Rhaid ystyried yr ansicrwydd hwn wrth gynllunio. Wrth gwrs mae croeso i roddion helpu i wneud i hyn ddigwydd.
    3. Efallai bod datblygwyr a sefydliadau allan yna sy'n ariannu nodweddion newydd ar gyfer cyfresi QGIS 2.x a gallai hyn effeithio ar eich gwaith. Mae angen cynnwys dyraniad penodol yng nghynlluniau a chyllidebau'r prosiectau hyn i wynebu'r ymfudiad i blatfform QGIS 3.x.
    4. Os yw tîm QGIS yn gweithio ar "newid llwyr", bydd amser cymharol fyr pan fydd QGIS yn ansefydlog ac yn newid yn gyson oherwydd diweddariadau parhaus i QGIS 3.0.
    4. Os byddwch yn datblygu mewn ffordd 'esblygiadol', rydych mewn perygl y gallai datblygiad 3.0 gymryd mwy o amser oni bai bod gennych grŵp ffyddlon o ddatblygwyr yn gweithio arno ac yn ei baratoi i'w gludo.

    Awgrymiadau

Yng ngoleuni'r holl wybodaeth uchod, cynigir un o'r ddwy linell weithredu:

Cynnig 1:

Rhyddhewch fersiwn dros dro 2.16 ac yna dechreuwch weithio ar fersiwn 3.0 fel blaenoriaeth, gyda ffenestr ddatblygu o 8 mis. Bydd newidiadau a wneir yn fersiwn 2.16 yn ceisio bod yn gydnaws â fersiwn 3.0 (gweler python3 / pytq5).

Cynnig 2:

Hyrddio unwaith 3.0 gyda mwy estynedig ffenestr hyd ar QT5, Python 3.0 a PyQt5 a gofyn i ddatblygwyr i wneud eu gwaith yn 3.0. Parhau gyda'r fersiynau 2.x gydag amlder arferol tan 3.0 yn barod.

Cynigion amgen

Oes gennych chi gynnig arall? Mae gan QGIS ddiddordeb mewn gwybod am ddewisiadau amgen posib. Os ydych chi am gyflwyno cynnig, anfonwch ef at tim@qgis.org gyda'r testun “Cynnig QGIS 3.0”.

Y QGIS blog, lle daeth y cyhoeddiad hwn allan.

Golgi Alvarez

Awdur, ymchwilydd, arbenigwr mewn Modelau Rheoli Tir. Mae wedi cymryd rhan yn y cysyniadu a gweithredu modelau megis: System Genedlaethol Gweinyddu Eiddo SINAP yn Honduras, Model Rheoli Cyd-Dinesydd yn Honduras, Model Integredig o Reoli Stentiau - Cofrestrfa yn Nicaragua, System Weinyddu'r Diriogaeth SAT yn Colombia . Golygydd blog gwybodaeth Geofumadas ers 2007 a chrëwr yr Academi AulaGEO sy'n cynnwys mwy na 100 o gyrsiau ar bynciau GIS - CAD - BIM - Gefeilliaid Digidol.

Erthyglau Perthnasol

Gadael sylw

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Meysydd gofynnol yn cael eu marcio â *

Yn ôl i'r brig botwm