qgis

QGIS 3.0 - Qanday qilib, qachon va nima; bu shuni anglatadi

Ko'pchilik o'zimizdan:

QGIS 3.0 qachon chiqariladi?

O'tgan yili (2015) loyiha guruhi QGIS 3.0 ning qachon va qanday qilib ozod bo'lishini o'rganishga kirishdi. Ular bir postga ko'ra, va'da berishdi Anita Graser, ular QGIS 3.0 ni ishga tushirishdan oldin foydalanuvchilar va ishlab chiquvchilarga o'z rejalarini aniq etkazishlari kerak edi. Yaqinda ular QGIS 3.0 versiyasi uchun ba'zi fikrlarni oshkor qilishga urinishdi va xabar oxirida biz o'z g'oyalarimizni taqdim etishimiz uchun imkoniyat mavjud.

Nima uchun 3.0?

QGis_LogoOdatda asosiy versiya sizning dasturiy ta'minotingizning API-siga katta o'zgartirish kiritilganda saqlanadi. Ushbu tanaffus QGIS loyihasi uchun ahamiyatsiz qaror emas, chunki biz QGISga bog'liq bo'lgan yuz minglab foydalanuvchilarmiz, ham o'zimiz uchun, ham uchinchi tomonlarga ko'rsatiladigan xizmatlar uchun.

Vaqti-vaqti bilan APIni sindirish me'morchilikni zamonaviylashtirish, yangi kutubxonalar va o'tmishda qabul qilingan qarorlar uchun tuzatishlar bilan ta'minlash uchun zarur.

APIni buzish oqibatlari qanday?

QGIS 3.0 yilda API bu buzilishi endi yangi API bilan mos bo'ladi rivojlangan plaginlar yuzlab va bu mualliflar ishing bor sindirish mumkin bo'lgan katta ta'sir ega bo'ladi sabablaridan biri uning ishlanmalar, bir Mulohaza yangi API bilan mosligini ta'minlash uchun.

Kerakli o'zgarishlarning darajasi quyidagilarga bog'liq:

  • APIda qancha o'zgarishlar mavjud funksiyani ta'sir qiladi.
    Plagin mualliflari o'zlari o'zgartiradigan API ning ba'zi qismlarini qo'llaganlar.
  • 3.0 uchun asosiy o'zgarishlar nima bo'ladi?

3.0da o'zgartirishni xohlayotgan to'rtta kalit maydon mavjud:

 

Qt4 QT5-ga yangilash: Bu QGIS yuqori darajada qurilgan kutubxonalarning asosiy to'plami, biz platformaning CORE-funktsional darajasi haqida gapiramiz. QT shuningdek, xotirani boshqarish, ulanish operatsiyalari va grafik boshqaruvni amalga oshirish uchun kutubxonalarni taqdim etadi. Qt4 (hozirda QGIS asosida yaratilgan) Qt kutubxonasi saqlovchilari tomonidan ishlab chiqilmagan va ba'zi platformalarda (masalan, OS X) funksionallik bilan bog'liq muammolar bo'lishi mumkin va hatto ikkilik versiyalarni (masalan, Debian Testing va keyingi Debian versiyasi) boshqarishni osonlashtirishi mumkin. "Uzish"). QGIS-ni QT5-ga olib kelish jarayoni allaqachon muhim yutuqlarga ega (asosan Mattias Kuhn qilgan), bu Marko Bernasokki bilan birgalikda butunlay QT5-ga asoslangan Android "QField" da tutun. Biroq, yangi QT5-ni QGIS-ga ta'siri tufayli ishga tushirishda ba'zi cheklovlar mavjud - xususan, veb-brauzer vidjetlari (asosan Composer-da va QGIS-ning boshqa bir qancha joylarida qo'llaniladi).

PyQt4ni PyQt5-ga yangilash: QGIS Python API Qt uchun Python tili bilan bog'liq, bu o'zgarishlar asoslangan. QT5 C ++ kutubxona o'zgartirish tug'iladi, shuningdek, ular Python QT5 yangi API foyda foyda olish mumkin, shunday qilib PyQt5 python kutubxonaga o'tkazish kutilmoqda.
2.7: Python 3ni Python-ga yangilash Hozirda hamma narsa Python 2.7 da ishlaydi. Python 3 - bu pythonning so'nggi versiyasi va ushbu loyihani boshqaruvchilar tomonidan tavsiya etilgan. Python 2 Python 3 bilan bir oz mos kelmaydi (deyarli QGIS 2 va Qgis 3 o'rtasidagi mos kelmaslik bilan mutanosib). Ko'pgina ishlab chiquvchilar Python 3-ni Python 2-ga asosan orqaga qarab moslashtirdilar, ammo orqaga qarab muvofiqligi unchalik katta emas.
QGIS API ning o'zini yangilash: Versiyalar o'rtasida API muvofiqligini saqlab qolish bilan bog'liq muammolardan biri shundaki, siz o'zingizning dizayn tanlovingiz bilan uzoq vaqt yashashingiz kerak. QGIS-da API-ni bir qator kichik nashrlarda buzmaslik uchun barcha harakatlar qilinadi. Hozirda qo'llab-quvvatlanmaydigan API bilan 3.0 uchun QGIS versiyasini chiqarish bizga APIdagi biz mos kelmaydigan narsalarni tuzatish orqali "uyni tozalash" imkoniyatini beradi. ning vaqtinchalik ro'yxatini ko'rishingiz mumkin 3.0 API uchun taklif qilingan o'zgarishlar.

3.0 API-ni o'zgartirishni qanday qo'llab-quvvatlash mumkin?

Yuqorida aytib o'tilganidek, 3.0 versiyasi QGIS 2.x versiyasi bilan ishlamaydi va ko'plab API plaginlari, mavjud dasturlar va joriy API asosida ishlaydigan boshqa kodlarning buzilishi ehtimoli mavjud. Xo'sh, o'zgarishlarni yumshatish uchun nima qilish kerak? Matthias Kuhn, Yurgen Fischer, Nyall Dawson, Martin Dobias va boshqa eng yaxshi dasturchilar QGIS kod bazasini keyingi avlod kutubxonalari va o'zining ichki API-lariga asoslangan holda rivojlantirishda API tanaffuslari sonini kamaytirish yo'llarini qidirmoqdalar. QGIS Loyiha Boshqaruv qo'mitasining so'nggi yig'ilishida u turli xil imkoniyatlar bilan geofumed qilingan. Matias Kunning xushmuomalalik bilan xulosa qilgani va biz ushbu maqolada qisman nimaga ko'ra translyatsiya qilishga harakat qilganimiz quyidagi jadvalda keltirilgan. blogingizda e'lon qilingan:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Chiqish sanasi Fevral oxiri 4 oydan keyin 2.14 8 oylik davr bormi?
Eslatmalar Python 3 mos keluvchi va PyQt5 mos keluvchi yadroli QGIS ning python kodini yangilash (asosiy funktsiyalar uchun qisman dastur, masalan, konsol, python yadro plaginlari va boshqalar)
Qt4 Si

Debian Stretch (bir yil ichida)

(webkit o'chirildi)

ha Yo'q
Qt5 Yo'q

QWebView - barcha yangi platformalarda emas. Bundan tashqari, QPainter Engineni sog'inadi.

Si Si
PyQt4 Si Si Yo'q
PyQt5 Yo'q Si Si
Python 2 Si Si Yo'q
Python 3 Yo'q Si Si
API tozalash Yo'q Yo'q Si
Sopolchilar
PyQt5 -> PyQt4
~% 90% qayta moslashuvni ta'minlaydi
Yo'q Si Si
Mainstream Ikkilik Qt4 asosida Qt4 asosida Qt5 asosida
Moliyalashtirish ustuvorligi Python paketlari

Matiyasning taklifi haqida ikkita muhim narsa mavjud:

Birinchi bosqichdaQt2, PyQt5, Python 5 yordamida Qt3.0, PyQt4 va Python 4ni qo'llab-quvvatlash uchun 2.7.x seriyasida ish bajariladi. Bu birinchi bosqichda kiritilgan barcha o'zgarishlar oldingi 2.x versiyalariga mos keladi degan ma'noni anglatadi. Bu Python funksiyalarini kiritadi, shuning uchun sobiq PyQt4 API hali QT5, PyQt5, Python 3.0ga qarshi kompilyatsiya qilishda ishlatilishi mumkin. Qt4, PyQt4 va Python 2.7ga qarshi olingan QGISdan foydalanilganda hech qanday uzilishlar bo'lmaydi.
Ikkinchi bosqichdaQT3.0 va PyQt2.7-ni qo'llab-quvvatlashni o'z ichiga olgan Python 4 ni butunlay yo'q qiladigan yangi APIni joriy etish, QGIS 4 ishlab chiqarishga harakat qilasiz. Birinchi bosqichda kiritilgan yangi python xususiyatlari, barcha python kodi va 2.x versiyalarining QGIS versiyalari uchun QGIS ning 3.x versiyalarida ishlashga davom etishini yodda tuting. Ushbu bosqichda shuningdek, ba'zi plaginlarni buzishi mumkin bo'lgan QGIS API-ga o'zgarishlar kiritilishi kutilmoqda. Bunga erishish uchun biz 2.x QGIS versiyalaridan 3.x QGIS versiyalariga ko'chib o'tish jarayonini osonlashtirishga harakat qilish uchun ko'chirish qo'llanmasini taqdim etamiz.

Uyg'otuvchi buyurtmachi

QGIS 3.0-ga ko'chib o'tishni kamaytirishni ta'minlash uchun bir nechta fokuslar mavjud.

  • 1. SShuni ta'kidlash kerakki, yuqorida keltirilgan yondashuv plaginlarda python skriptlari bo'yicha ishlarning hajmini minimallashtirishga harakat qilsa-da, bu 100% bo'lishi shart emas. Ehtimol, kodni o'zgartirish kerak bo'lgan holatlar bo'lishi mumkin va hech bo'lmaganda, uning to'g'ri ishlashiga ishonch hosil qilish uchun uni qayta ko'rib chiqish kerak bo'ladi.
    2. Ushbu migratsiya jarayoni uchun o'z vaqtini ixtiyoriy ravishda sarflagan ishlab chiquvchilarga to'lash uchun rasmiy ravishda tashkil etilgan moliyaviy resurs yo'q. Shu sababli, jarayonning har bir qismi qancha vaqt ketishini aniq vaqt oralig'ida berish juda qiyin bo'ladi. Rejalashtirishda ushbu noaniqlikni hisobga olish kerak. Albatta, xayr-ehsonlar buni amalga oshirishda yordam berish uchun xush kelibsiz.
    3. QGIS 2.x seriyasining yangi xususiyatlarini moliyalashtiradigan ishlab chiquvchilar va muassasalar bo'lishi mumkin va bu sizning ishingizga ta'sir qilishi mumkin. Ushbu loyihalarning rejalari va byudjetlariga QGIS 3.x platformasiga o'tish uchun ma'lum bir mablag'ni kiritish kerak.
    4. Agar QGIS jamoasi "umumiy o'zgarish" ustida ishlasa, QGIS 3.0 ga doimiy yangilanishlar tufayli QGIS beqaror va doimiy o'zgarib turadigan nisbatan qisqa vaqt bo'ladi.
    4. Agar siz “evolyutsion” yoʻl bilan rivojlansangiz, unda sizda sodiq dasturchilar guruhi boʻlmasa va uni portga tayyorlamaguningizcha, 3.0 ni ishlab chiqish koʻproq vaqt olishi mumkin.

    Takliflar

Yuqoridagi barcha ma'lumotlarga qaraganda, ikki yo'nalishdan biri taklif etiladi:

1 taklifi:

Vaqtinchalik 2.16 versiyasini chiqaring va 3.0 oylik ishlab chiqish oynasi bilan ustuvor yo'nalish sifatida 8 versiyasida ishlashni boshlang. 2.16 versiyasida kiritilgan o'zgarishlar 3.0 versiyasiga mos kelishini qidiradi (qarang: python3 / pytq5).

2 taklifi:

bir marta Lunging QT3.0, Python 5 va PyQt3.0 haqida yanada kengaytirilgan davomiyligi oyna bilan 5 va 3.0 o'z ishlarini bajarish uchun chiquvchilar so'rang. 2 tayyor qadar odatdagi chastota bilan 3.0.x versiyalari bilan davom ettirish.

Muqobil takliflar

Sizda muqobil taklif bormi? QGIS mumkin bo'lgan alternativalar to'g'risida bilishdan manfaatdor. Agar siz taklif kiritmoqchi bo'lsangiz, iltimos yuboring tim@qgis.org "QGIS 3.0 taklifi" mavzusi bilan.

Bu QGIS blogi, bu nashr etilgan.

Golji Alvares

Yozuvchi, tadqiqotchi, yerni boshqarish modellari bo'yicha mutaxassis. U Gondurasdagi SINAP milliy mulk boshqaruvi tizimi, Gondurasdagi qoʻshma munitsipalitetlarni boshqarish modeli, Kadastr boshqaruvining integratsiyalashgan modeli - Nikaraguada registr, Kolumbiyadagi SAT hududini boshqarish tizimi kabi modellarni kontseptuallashtirish va amalga oshirishda ishtirok etgan. . 2007 yildan beri Geofumadas bilimlar blogining muharriri va GIS - CAD - BIM - Digital Twins mavzularida 100 dan ortiq kurslarni o'z ichiga olgan AulaGEO Akademiyasining yaratuvchisi.

Haqida Maqolalar

Izoh qoldirish

Sizning email manzilingiz chop qilinmaydi. Kerakli joylar bilan belgilangan *

Yuqoriga qaytish tugmasi