Idagdag
qgis

QGIS 3.0 - Paano, kailan at ano; ito ay nagpapahiwatig

Marami ang nagtatanong sa ating sarili:

Kailan mapapalabas ang QGIS 3.0?

Noong nakaraang taon (2015) ang pangkat ng proyekto ay nagsimulang mag-imbestiga kung kailan at paano ibababa ang QGIS 3.0. Ipinangako nila, ayon sa isang post mula sa Anita Graser, na malinaw nilang ihahatid ang kanilang mga plano sa mga gumagamit at developer bago ilunsad ang QGIS 3.0. Kamakailan ay sinubukan nilang ilantad ang ilan sa mga pagsasaalang-alang para sa isang paglabas ng QGIS 3.0 at sa pagtatapos ng post mayroong isang pagkakataon para maipakita namin ang aming mga ideya.

Bakit 3.0?

QGis_LogoKadalasan ang isang pangunahing bersyon ay nakalaan para sa mga oras kung kailan ang isang malaking pagbabago ay ginawa sa API ng iyong software. Ang pahinga na ito ay hindi isang maliit na desisyon para sa proyekto ng QGIS dahil daan-daang libong mga gumagamit kami na umaasa sa QGIS, kapwa para sa aming sariling paggamit at para sa mga serbisyong ibinibigay sa mga third party.

Paminsan-minsan na paglabag sa API ay kinakailangan upang mapaunlakan ang pag-update ng arkitektura sa pinabuting mga pamamaraang, mga bagong aklatan at pagwawasto sa mga pagpapasya na ginawa sa nakaraan.

Ano ang mga kahihinatnan ng paglabag sa API?

Ang isang dahilan kung bakit ito paglabag ng mga API sa QGIS 3.0 ay na ito ay magkakaroon ng malaking epekto, na maaaring masira daan-daang mga maunlad na mga plugin na ay hindi na katugma sa ang bagong API at ang mga may-akda sa mga ito ay na gawin isang pagsusuri ng kanilang mga pag-unlad upang masiguro ang pagiging tugma sa bagong API.

Ang lawak ng mga kinakailangang pagbabago ay nakasalalay sa isang malaking lawak sa:

  • Gaano karaming mga pagbabago sa API ang nakakaapekto sa kasalukuyang pag-andar.
    Sa kung gaano karaming mga puntos ang ginamit ng mga may-akda ng plugin ang mga bahagi ng API na magbabago.
  • Ano ang mga pangunahing pagbabago para sa 3.0?

Mayroong apat na pangunahing lugar na iyong hinahanap upang mabago sa 3.0:

 

Qt4 update sa QT5: Ito ang pangunahing hanay ng mga aklatan na ang QGIS ay binuo sa pinakamataas na antas, pinag-uusapan natin ang antas ng CORE-functional ng platform. Nagbibigay din ang QT ng mga aklatan upang magsagawa ng pamamahala ng memorya, mga pagpapatakbo ng koneksyon, at pamamahala ng graphics. Ang Qt4 (na kasalukuyang nakabatay sa QGIS) ay kasalukuyang hindi binuo ng mga tagapangasiwa ng Qt library at maaaring magkaroon ng mga isyu sa functionality sa ilang mga platform (hal. OS X) at kahit na gawing mas madali ang pamamahala ng mga binary na bersyon (hal. Debian Testing at ang susunod na paglabas ng Debian "Mag-unat"). Ang proseso ng pagdadala ng QGIS sa QT5 ay mayroon nang mahalagang pag-unlad (pangunahin kung ano ang ginawa ni Matthias Kuhn) na kasama ng usok ni Marco Bernasocchi sa Android "QField" na ganap na nakabatay sa QT5. Gayunpaman, may ilang mga limitasyon sa pagpapatakbo at pagpapatakbo ng bagong QT5 dahil sa epekto nito sa QGIS – partikular sa mga widget ng web browser (pangunahing ginagamit sa Composer at ilang iba pang lugar sa QGIS).

I-update ang PyQt4 sa PyQt5: Ito ang mga kamag-anak na pagbabago sa wikang Python para sa Qt kung saan batay sa QGIS Python API. Arises baguhin ang QT5 C ++ library, ay din inaasahan na ilipat sa PyQt5 python library upang maaari silang samantalahin ang mga benepisyo ng mga bagong API sa Python QT5.
2.7: Ina-update ang Python 3 sa Python Sa kasalukuyan ang lahat ay tumatakbo sa Python 2.7. Ang Python 3 ay ang pinakabagong bersyon ng sawa at inirerekumenda ng mga nangunguna sa proyekto. Ang Python 2 ay bahagyang hindi tugma sa Python 3 (halos proporsyonal sa hindi pagkakatugma sa pagitan ng QGIS 2 at Qgis 3). Maraming mga developer ang gumawa ng sawa ng Python 3 na higit na umaatras na katugma sa Python 2, ngunit ang paatras na pagiging tugma ay hindi ganon kahusay.
Pagpapabuti ng QGIS API mismo: Ang isa sa mga problema sa pagpapanatili ng pagiging tugma ng API sa pagitan ng mga bersyon ay kailangan mong mamuhay kasama ang iyong mga pagpipilian sa disenyo para sa mahabang panahon. Ang bawat pagsusumikap ay ginawa sa QGIS na hindi masira ang API sa isang serye ng mga menor de edad na paglabas. Ang pagpapalabas ng bersyon ng QGIS para sa 3.0 na may API na hindi kasalukuyang sinusuportahan ay magbibigay sa amin ng pagkakataong "maglinis ng bahay" sa pamamagitan ng pag-aayos ng mga bagay sa API na hindi namin sinusunod. Makakakita ka ng pansamantalang listahan ng mga pagbabago na ipinanukalang para sa 3.0 API.

Paano suportahan ang pagpapalit ng 3.0 API

Tulad ng nabanggit na, ang bersyon 3.0 ay masisira sa bersyon ng QGIS 2.x at mayroong isang pagkakataon na maraming mga plugin, umiiral na mga application at iba pang code na batay sa kasalukuyang API ay masisira. Kaya ano ang maaaring gawin upang mapagaan ang mga pagbabago? Si Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias, at iba pang mga nangungunang developer ay naghahanap ng mga paraan upang mapagaan ang bilang ng mga pagbabago sa break ng API habang patuloy na isusulong ang QGIS codebase na batay sa susunod na henerasyon ng mga aklatan at sarili nitong panloob na API. Sa panahon ng aming huling pagpupulong ng QGIS Project Steering Committee na ito ay geofumed sa pamamagitan ng iba't ibang mga posibilidad. Ang sumusunod na talahanayan ay nagbubuod sa kung anong kabutihang loob na binuod ni Matthias Kuhn at bahagyang sinubukan naming transliterate sa artikulong ito alinsunod sa kung ano nai-post sa iyong blog:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Fecha de lanzamiento Katapusan ng Pebrero 4 buwan mamaya 2.14 Cycle 8 Months?
tala I-update ang python code ng core QGIS upang maging kapwa 3 compatible at PyQt5 compatible (bahagyang pagpapatupad para sa key functionality hal console, sawa core plugin atbp)
Qt4 Si

Deprecated sa Debian Stretch (dahil sa isang taon)

(inalis ang webkit)

Oo Hindi
Qt5 Hindi

Nawala ang QWebView - hindi bagong kapalit sa lahat ng mga platform. Lumalabas din ang QPainter Engine.

Si Si
PyQt4 Si Si Hindi
PyQt5 Hindi Si Si
Python 2 Si Si Hindi
Python 3 Hindi Si Si
API Cleanup Hindi Hindi Si
Mga wrapper
PyQt5 -> PyQt4
Nagbibigay ng ~ 90% Backwards Compatibility
Hindi Si Si
Mainstream Binary Batay sa Qt4 Batay sa Qt4 Batay sa Qt5
Pagpapauna sa pagpopondo Mga balot sawa

Mayroong dalawang mahahalagang bagay na dapat tandaan tungkol sa panukala ni Matias:

Sa unang yugtoTrabaho ay tapos na sa mga serye upang makumpleto 2.x suporta QT5, PyQt5 gamit Python 3.0, supporting Qt4, PyQt4 at Python 2.7. Ito ay nagpapahiwatig na ang lahat ng mga pagbabago na ginawa sa ang unang yugto ay magiging tugma sa naunang bersyon 2.x. Python tampok ay inkorporada ay ipinakilala sa gayon na ang lumang API PyQt4 maaari pa ring gamitin lalo na kapag pinagsama-sama laban QT5, PyQt5, Python 3.0. Sa pamamagitan ng paggamit QGIS pinagsama-sama laban Qt4, PyQt4 at Python 2.7 hindi masira compatibility.
Sa ikalawang yugtoGusto ito gumagana upang makabuo ng QGIS 3.0, nagpapakilala sa mga bagong API, ganap na alisin ang Python 2.7, kabilang ang suporta para sa Qt4 at PyQt4. Mga bagong tampok sa python pagpasok ng unang yugto ay pananatilihin, nang isinasaalang-alang ang lahat ng mga python code at developments para 2.x bersyon ng QGIS patuloy na gagana sa mga bersyon ng QGIS 3.x. Sa bahaging ito, inaasahan mo ring ipakilala ang mga pagbabago sa QGIS API na maaaring masira ang ilang mga plugin. Upang matugunan ang magbibigay ng patnubay aa migration upang subukan upang mapadali ang paglipat ng mga bersyon 2.x QGIS 3.x QGIS bersyon.

Caveat emptor

Mayroong ilang mga trick na dapat ilagay sa lugar upang matiyak na ang migration sa QGIS 3.0 ay mas mababa masakit.

  • 1. SDapat pansinin na habang ang diskarte na itinakda sa itaas ay sumusubok na i-minimize ang dami ng trabaho sa pag-script ng python sa mga plugin, hindi ito kinakailangang 100%. Malamang na may mga kaso kung saan dapat mai-tweak ang code at sa lahat ng mga kaso kahit papaano, malamang na ito ay mabago upang matiyak na patuloy itong gumana nang maayos.
    2. Walang pormal na itinatag na mapagkukunang pampinansyal upang bayaran ang mga developer na kusang-loob na namumuhunan ng kanilang oras para sa proseso ng paglipat na ito. Dahil dito, napakahirap na magbigay ng eksaktong mga frame ng oras kung gaano katagal ang tatagal ng bawat bahagi ng proseso. Ang kawalang-katiyakan na ito ay dapat isaalang-alang sa pagpaplano. Siyempre ang mga donasyon ay maligayang pagdating upang makatulong na maganap ito.
    3. Maaaring may mga developer at institusyon doon na nagpapopondo ng mga bagong tampok para sa serye ng QGIS 2.x at maaari itong makaapekto sa iyong trabaho. Kinakailangan na isama sa mga plano at badyet ng mga proyektong ito, isang tiyak na paglalaan upang harapin ang paglipat sa QGIS 3.x platform.
    4. Kung ang pangkat ng QGIS ay gumagawa sa isang "kabuuang pagbabago", magkakaroon ng medyo maikling panahon kung saan ang QGIS ay magiging hindi matatag at patuloy na nagbabago dahil sa patuloy na pag-update sa QGIS 3.0.
    4. Kung bubuo ka sa paraang 'ebolusyonaryo', nanganganib ka na ang pag-develop ng 3.0 ay maaaring magtagal maliban kung mayroon kang isang tapat na grupo ng mga developer na nagtatrabaho dito at inihahanda itong i-port.

    Mga mungkahi

Sa liwanag ng lahat ng impormasyon sa itaas, ang isa sa dalawang linya ng aksyon ay iminungkahi:

1 na Panukala:

Pakawalan ang isang pansamantalang bersyon 2.16 at pagkatapos ay magsimulang magtrabaho sa bersyon 3.0 bilang isang priyoridad, na may window ng pag-unlad na 8 buwan. Ang mga pagbabagong ginawa sa bersyon 2.16 ay hahanaping maging katugma sa bersyon 3.0 (tingnan ang python3 / pytq5).

2 na Panukala:

Lunging sa isang beses 3.0 na may isang mas pinalawig na tagal window sa QT5, Python 3.0 at PyQt5 at hilingin sa mga developer na gawin ang kanilang trabaho sa 3.0. Magpatuloy sa mga bersyon ng 2.x sa regular na mga pagitan hanggang handa ang 3.0.

Mga alternatibong panukala

Mayroon ka bang alternatibong panukala? Interesado ang QGIS na malaman ang tungkol sa mga posibleng kahalili. Kung nais mong magsumite ng isang panukala, mangyaring ipadala sa tim@qgis.org na may paksang “QGIS 3.0 Proposal”.

Ang QGIS blog, kung saan lumabas ang publikasyong ito.

Golgi Alvarez

Manunulat, mananaliksik, dalubhasa sa Land Management Models. Lumahok siya sa konseptwalisasyon at pagpapatupad ng mga modelo tulad ng: National System of Property Administration SINAP sa Honduras, Model of Management of Joint Municipalities in Honduras, Integrated Model of Cadastre Management - Registry in Nicaragua, System of Administration of the Territory SAT sa Colombia . Editor ng Geofumadas knowledge blog mula noong 2007 at tagalikha ng AulaGEO Academy na kinabibilangan ng higit sa 100 mga kurso sa GIS - CAD - BIM - Digital Twins na mga paksa.

Kaugnay na Artikulo

Mag-iwan ng komento

Ang iyong email address ay hindi nai-publish.

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.

Bumalik sa tuktok na pindutan