qgis

QGIS 3.0 - Kumaha, iraha sareng naon; éta ngakibatkeun

Seueur urang angger:

Iraha QGIS 3.0 baris dileupaskeun?

Taun ka tukang (2015) tim proyék mimiti nalungtik padahal sareng kumaha anu dileupaskeun QGIS 3.0. Aranjeunna jangji, numutkeun kana pos ti Anita Graser, yén aranjeunna badé jelaskeun nyebatkeun rencana aranjeunna pikeun pangguna sareng pengembang sateuacan ngaluncurkeun QGIS 3.0. Aranjeunna nembé nyobian ngalaan sababaraha pertimbangan pikeun dileupaskeun QGIS 3.0 sareng di akhir pos aya kasempetan pikeun urang nampilkeun ideu kami.

Naha 3.0?

QGis_LogoIlaharna pérsi utama ditangtayungan pikeun waktos-waktos nalika parobihan ageung dilakukeun pikeun API parangkat lunak anjeun. Putus ieu sanés kaputusan alit pikeun proyék QGIS kumargi kami mangratus rébu pangguna anu gumantung kana QGIS, boh pikeun panggunaan urang nyalira boh pikeun jasa anu disayogikeun ka pihak katilu.

Ti jaman ka sarematan API ieu perlu nampilkeun pangénggalan arsitéktur kalayan perbaikan pendekatan, perpustakaan anyar sareng koréksi pikeun kaputusan anu parantos dihijikeun.

Naon konsekuensi megatkeun API?

Salah sahiji alesan kunaon pegatna ieu API di QGIS 3.0 meh bakal gaduh dampak anu hébat, anu tiasa leolak ratusan plugins dikembangkeun anu henteu panjang cocog sareng API anyar sareng pangarang ieu kedah ngalakukeun review ngeunaan kamajuan -na pikeun mastikeun kasaluyuan sareng API anyar.

Kaayaan perobahan nu diperyogikeun gumantung kana saimbang-gedéan:

  • Sakumaha seueur parobahan API ieu mangaruhan pungsionalitas ayeuna.
    Dina sabaraha titik pangarang plugin parantos dianggo bagéan API anu parantos diganti deui.
  • Naon anu perobahan utama kanggo 3.0?

Aya opat wewengkon konci anu anjeun badé robah di 3.0:

 

Apdet Qt4 ka QT5: Ieu mangrupikeun set dasar perpustakaan anu QGIS diwangun dina tingkat luhur, kami nyarioskeun tingkat fungsi CORE tina platform. QT ogé nyayogikeun perpustakaan pikeun ngalaksanakeun manajemén mémori, operasi konektipitas, sareng manajemén grafik. Qt4 (anu dumasar kana QGIS ayeuna) ayeuna henteu dikembangkeun ku pangurus perpustakaan Qt sareng tiasa gaduh masalah fungsionalitas sareng sababaraha platform (sapertos OS X) bahkan ngagampangkeun pikeun ngatur versi binér (sapertos Debian Testing sareng sékrési Debian salajengna. "Manteng"). Prosés mawa QGIS ka QT5 geus boga kamajuan penting (utamana naon Matthias Kuhn geus dipigawé) nu bareng jeung Marco Bernasocchi haseup dina Android "QField" sagemblengna dumasar kana QT5. Nanging, aya sababaraha watesan pikeun ngajalankeun sareng ngajalankeun QT5 énggal kusabab pangaruhna kana QGIS - khususna sareng widget browser wéb (utamana dianggo dina Composer sareng ogé sababaraha tempat sanés di QGIS).

Apdet PyQt4 kana PyQt5: Di handap ieu mangrupakeun parobahan relatif kana basa Python pikeun Qt numana API QGIS Python dumasar. Hal ieu diajengkeun perpustakaan QT5 C ++, ogé diharepkeun pikeun mindahkeun perpustakaan Python kana PyQt5 supados mangpaat API QT5 anyar di Python tiasa dimangpaatkeun.
Ngamutahirkeun Python 2.7 ka Python 3: Ayeuna sadayana ngajalankeun dina Python 2.7. Python 3 mangrupikeun versi panganyarna tina python sareng disarankeun ku anu mingpin proyék éta. Python 2 rada sauyunan sareng Python 3 (ampir sabanding sareng sauyunan antara QGIS 2 sareng Qgis 3). Seueur pamekar anu parantos ngadamel Python Python 3 kalolobaan mundur ka kompatibel sareng Python 2, tapi kasaluyuan mundur henteu saé pisan.
Pamutahiran API QGIS sorangan: Salah sahiji masalah sareng ngajaga kasaluyuan API antara versi nyaéta yén anjeun kedah hirup sareng pilihan desain anjeun pikeun jarak anu panjang. Saban usaha dilakukeun dina QGIS pikeun henteu ngarecah API dina séri pelepasan minor. Ngaleupaskeun versi QGIS pikeun 3.0 sareng API anu ayeuna henteu dirojong bakal masihan kami kasempetan pikeun "ngabersihan bumi" ku ngalereskeun hal-hal dina API anu kami henteu patuh. Anjeun tiasa ningali daptar samentara tina Parobahan nu diajukeun pikeun API 3.0.

Kumaha carana ngarobih parobahan tina 3.0 API

Sakumaha anu parantos didadarkeun, vérsi 3.0 bakal putus sareng versi QGIS 2.x sareng aya kamungkinan seueur plugins, aplikasi anu aya sareng kode sanés anu dumasar kana API ayeuna bakal rusak. Janten naon anu tiasa dilakukeun pikeun mitigasi parobihan? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias, sareng pamekar top anu sanés parantos milari cara pikeun ngirangan jumlah parobihan parobihan API bari neraskeun mayunan codebase QGIS anu didasarkeun kana perpustakaan generasi payun sareng API internalna nyalira. Salami rapat terakhir kami tina Komite Pengarah Proyék QGIS, éta geofumed ngaliwatan sababaraha kamungkinan. Tabel di handap ieu nyimpulkeun naon anu Matthias Kuhn marahmay diringkeskeun sareng yén kami parantos nyobaan transliterasi dina tulisan ieu numutkeun naon dipasang dina blog-Na:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Tanggal dileupaskeun Ahir Pébruari Bulan 4 engké 2.14 Siklus bulan 8?
catetan Ngamutahirkeun kode python inti QGIS janten Python 3 cocog sareng PyQt5 cocog (palaksanaan parsial pikeun fungsionalitas konci misalna konsol, python core plugins jrrd)
Qt4 Si

Deprecated dina Debian Stretch (akibat sataun)

(webkit dihapus)

nuhun teu
Qt5 teu

Misses QWebView - ngagantian anyar henteu dina sadaya platform. Ogé sono QPainter Engine.

Si Si
PyQt4 Si Si teu
PyQt5 teu Si Si
Python 2 Si Si teu
Python 3 teu Si Si
Cleanup API teu teu Si
Wrappers
PyQt5 -> PyQt4
Nyadiakeun ~ 90% mundur kasaluyuan
teu Si Si
Main binér Dumasar Qt4 Dumasar Qt4 Dumasar Qt5
Prioritas waragad Python wrappers

Aya dua hal penting nu badé milari kana proposal Matías:

Dina fase kahiji, pagawéan dipigawé dina serial 2.x pikeun ngabéréskeun pangrojong pikeun QT5, PyQt5, migunakeun Python 3.0, ngarojong Qt4, PyQt4 sareng Python 2.7. Ieu ngakibatkeun yen sakabeh perobahan anu dijieun dina mimiti tahap bakal cocog sareng versi 2.x saméméhna. Fitur Python bakal diwanohkeun supados API PyQt4 heubeul masih tiasa dianggo lolobana nalika ngarékam QT5, PyQt5, Python 3.0. Nalika nganggo QGIS disusun ngalawan Qt4, PyQt4 na Python 2.7 pasti moal bakal kasaluyuan pegatna.
Dina fase kadua, urang bakal dianggo pikeun ngahasilkeun QGIS 3.0, ngawanohkeun API anyar éta, Python 2.7 bakal ngaleungitkeun sacara lengkep, kaasup pangrojong pikeun Qt4 sareng PyQt4. Fungsionalitas Python anyar anu diwanohkeun dina léngkah kahiji bakal dipiara, dia nunjukkeun yén sadaya kode python sarta pamekaran vérsi 2.x tina QGIS baris terus digawé dina versi 3.x tina QGIS. Dina tahap ieu diperkirakeun ngawanohkeun parobahan QGIS API anu tiasa mendakan sababaraha plugins. Pikeun ngerjakeun ieu, urang bakal ngadamel pituduh hijrah pikeun nyobaan mempermudah prosés migrasi vérsi 2.x QGIS kana versi 3.x QGIS.

Caveat emptor

Aya sababaraha tip anu kedah diperhatoskeun pikeun mastikeun yén migrasi ka QGIS 3.0 disada kirang nyeri.

  • 1. SPerhatoskeun yén nalika pendekatan anu ditetepkeun di luhur nyobian ngirangan seueur padamelan dina skrip python dina plugins, ieu moal merta janten 100%. Aya kamungkinan bakal aya kasus dimana kode na kedah dirobih sareng dina sadaya kasus sahenteuna, éta sigana bakal dirévisi pikeun mastikeun yén éta tetep tiasa leres fungsina.
    2. Teu aya sumberdaya finansial anu ditetepkeun sacara resmi pikeun mayar pamekar anu sacara sukarela nanem modal waktosna pikeun prosés migrasi ieu. Kusabab ieu, bakal hésé pisan masihan pigura waktos anu pasti salami sabaraha bagéan unggal prosés bakal dilakukeun. Kateupastian ieu kedah diperhatoskeun dina perencanaan. Tangtos sumbangan disambut pikeun ngabantosan ngajantenkeun ieu kajantenan.
    3. Meureun aya pamekar sareng lembaga di luar sana anu ngabiayaan fitur-fitur anyar kanggo séri QGIS 2.x sareng ieu tiasa mangaruhan karya anjeun. Perlu dilebetkeun kana rencana sareng anggaran proyék-proyék ieu, alokasi anu tangtu pikeun nyanghareupan hijrah ka platform QGIS 3.x.
    4. Lamun tim QGIS dianggo dina "total robah", bakal aya waktu relatif pondok salila QGIS bakal teu stabil sarta terus robah alatan apdet lumangsung QGIS 3.0.
    4. Lamun ngamekarkeun dina cara 'évolusionér', anjeun ngajalankeun resiko nu 3.0 ngembangkeun bisa nyandak deui iwal mun boga grup satia pamekar digawé di dinya tur meunangkeun eta siap port.

    Usulan

Dina cahya sadaya inpormasi di luhur, aya salah sahiji tina dua jalur aksi anu diusulkeun:

Usul 1:

Ngaleupaskeun versi samentawis 2.16 teras ngamimitian ngagarap vérsi 3.0 salaku prioritas, kalayan jandéla pangembangan 8 bulan. Parobihan anu dilakukeun dina vérsi 2.16 bakal milarian cocog sareng vérsi 3.0 (tingali python3 / pytq5).

Usul 2:

Jalankeun sakaligus ka 3.0 kalayan jandela anu leuwih ngalegaan dina QT5, Python 3.0 na PyQt5, sareng ngajak pamekar anu dianggo kana 3.0. Terus ka versi 2.x ku frékuénsi anu biasa dugi 3.0 geus siap.

Usulan alternatif

Naha anjeun ngagaduhan usulan alternatif? QGIS resep terang perkawis kamungkinan alternatip. Upami anjeun hoyong kirimkeun proposal, punten kirimkeun ka tim@qgis.org kalawan subjék "QGIS 3.0 Proposal".

Real perlu dilegakeun nuturkeun QGIS blog, Dimana ieu publikasi ieu asalna.

Golgi Alvarez

Panulis, panalungtik, spesialis dina Modél Manajemén Tanah. Anjeunna milu dina konseptualisasi sareng palaksanaan model sapertos: Sistem Nasional Administrasi Harta SINAP di Honduras, Model Manajemén Kotamadya Bersama di Honduras, Modél Terpadu Manajemén Cadastre - Pendaptaran di Nikaragua, Sistem Administrasi Wilayah SAT di Kolombia. . Éditor tina blog pangaweruh Geofumadas saprak 2007 sareng panyipta Akademi AulaGEO anu kalebet langkung ti 100 kursus ngeunaan topik GIS - CAD - BIM - Digital Twins.

Artikel nu patali

Ninggalkeun comment hiji

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

Deui tombol luhur