QGIS

QGIS 3.0 - Како, кога и што; тоа подразбира

Многумина се прашуваат:

Кога ќе се ослободи QGIS 3.0?

Минатата година (2015) проектниот тим почна да истражува кога и како требаше да биде пуштен QGIS 3.0. Тие ветија, според еден пост од Анита Грасе, што тие јасно ќе им го пренесоа на корисниците и развивачите на нивните планови пред да започне QGIS 3.0. Тие неодамна се обидоа да изнесат некои размислувања за објавување на QGIS 3.0 и на крајот од објавата постои можност да ги презентираме нашите идеи.

Зошто 3.0?

QGis_LogoОбично, голема верзија е резервирана за време кога се прават големи промени во API-то на вашиот софтвер. Оваа пауза не е тривијална одлука за проектот QGIS бидејќи ние сме стотици илјади корисници кои зависат од QGIS, како за наша сопствена употреба, така и за услуги обезбедени на трети страни.

Повремено кршењето на API е неопходно за да се прилагоди на надградбата на архитектурата со подобрени пристапи, нови библиотеки и корекции на одлуките донесени во минатото.

Кои се последиците од кршењето на API?

Една од причините зошто ова кршење на API во QGIS 3.0 е дека тоа ќе има големо влијание, како што може да се скрши развиените стотици додатоци, кои повеќе нема да биде компатибилен со новиот API и авторите на овие треба да направите преглед на нивните случувања за да се обезбеди компатибилност со новиот API.

Степенот на потребните промени во голема мера зависи од:

  • Колку промени на API влијаат на тековната функционалност.
    Во колку поени авторите на приклучоците користат делови од API-то што ќе го променат.
  • Кои ќе бидат главните промени за 3.0?

Постојат четири клучни области што сакате да ги промените во 3.0:

 

Qt4 ажурирање на QT5: Ова е основниот сет на библиотеки на кои QGIS е изграден на највисоко ниво, ние зборуваме за CORE-функционалното ниво на платформата. QT обезбедува и библиотеки за управување со меморијата, операции за поврзување и графичко управување. Qt4 (на кој во моментов се базира QGIS) моментално не се развива од одржувачите на библиотеката Qt и може да има проблеми со функционалноста со некои платформи (на пр. OS X), па дури и да го олесни управувањето со бинарните верзии (на пр. Дебиан Тестирање и следното издание на Дебиан „Рашири“). Процесот на доведување на QGIS на QT5 веќе има важен напредок (главно она што го направи Матијас Кун) што заедно со Марко Бернасоки пушат на Android „QField“ целосно базиран на QT5. Сепак, има некои ограничувања во пуштањето и воведувањето на новиот QT5 поради неговото влијание врз QGIS - особено со графичките контроли за веб-прелистувачи (главно се користат во Composer и неколку други места во QGIS).

Ажурирај PyQt4 во PyQt5: Овие промени се однесуваат на јазикот Пајтон за Qt во API на QGIS Пајтон се базира. Се јавува промена на QT5 C ++ библиотеката, исто така, се очекува да се префрли на PyQt5 Пајтон библиотека, така што тие можат да ги искористат предностите на нови API во Python QT5.
2.7: Ажурирање на Python 3 во Пајтон Во моментов сè работи на Пајтон 2.7. Python 3 е најновата верзија на python и ја препорачуваат оние што го водат тој проект. Пајтон 2 е малку некомпатибилен со Пајтон 3 (скоро пропорционален на некомпатибилноста помеѓу QGIS 2 и Qgis 3). Многу програмери го направија Python Python 3 во голема мера заостанат компатибилен со Python 2, но компатибилноста наназад не е толку голема.
Подобрување на QGIS API себе: Еден од проблемите со одржувањето на компатибилноста на API помеѓу верзиите е тоа што треба да живеете со вашиот избор на дизајн на долги патеки. Се прават сите напори во QGIS да не се скрши API во низа помали изданија. Објавувањето на верзијата QGIS за 3.0 со API што моментално не е поддржано ќе ни даде можност да „чистиме куќа“ со поправање работи во API со кои не сме во согласност. Можете да видите привремена листа на предложените промени за 3.0 API.

Како да ја поддржите промената на 3.0 API

Како што веќе споменавме, верзијата 3.0 ќе се расипе со QGIS верзија 2.x и постои можност да се расипат многу додатоци, постојни апликации и друг код што се базираат на тековниот API. Па, што може да се направи за да се ублажат промените? Матијас Кун, Јирген Фишер, Ниал Досон, Мартин Добијас и други врвни развивачи бараа начини да ги ублажат бројот на промени во паузите на API, продолжувајќи да ја унапредуваат базата на кодови QGIS базирана на следната генерација на библиотеки и сопствен внатрешен API. За време на нашиот последен состанок на Управувачкиот комитет на проектот QGIS, ние геофумиравме низ различни можности. Следната табела резимира што Матиах Кун милостиво го сумираше и дека делумно се обидовме да го преведеме во овој напис според тоа објавено на вашиот блог:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Датум на издавање Крај на февруари 4 месеци подоцна 2.14 Циклус 8 месеци?
Сметки Ажурирајте го Python кодот од јадрото QGIS како Python 3 компатибилен и компатибилен со PyQt5 (делумна имплементација за клучните функционалности, на пр. Конзола, python core додатоци итн.)
Qt4 Si

Заостанато во дебелиот раст (поради една година)

(отстранети webkit)

Да Не
Qt5 Не

Пропушта QWebView - нова замена не на сите платформи. Исто така го пропушта QPainter Engine.

Si Si
PyQt4 Si Si Не
PyQt5 Не Si Si
Пајтон 2 Si Si Не
Пајтон 3 Не Si Si
Чистење API Не Не Si
Омоти
PyQt5 -> PyQt4
Обезбедува ~ 90% Назад Компатибилност
Не Si Si
Меинстрим Бинарни Врз основа Qt4 Врз основа Qt4 Врз основа Qt5
Приоритет за финансирање Патонски омоти

Постојат две важни работи кои треба да се имаат предвид во врска со предлогот на Матијас:

Во првата фазаРаботата се врши во серијата да заврши 2.x поддршка QT5, PyQt5 користење Пајтон 3.0, поддршка Qt4, PyQt4 и Python 2.7. Ова значи дека сите промени направени во првата фаза ќе бидат компатибилни со претходните верзии на 2.x. Пајтон карактеристики ќе бидат вклучени ќе бидат воведени, така што старите API PyQt4 се уште може да се користи особено кога состави против QT5, PyQt5, python 3.0. Кога го користите QGIS компајлиран против Qt4, PyQt4 и Python 2.7, нема да има компатибилност со дефект.
Во втората фазаТоа ќе работат за да се произведе QGIS 3.0, воведување на нови API, целосно отстранување на Python 2.7, вклучувајќи поддршка за Qt4 и PyQt4. Нови можности во Пајтон да влезат во првата фаза ќе се одржува, земајќи ги предвид сите код Пајтон и случувања за 2.x верзии на QGIS продолжи да работи на верзија на QGIS 3.x. Во оваа фаза, исто така, се очекува да внесете промени во QGIS API што може да ги скрши некои приклучоци. За да одговориме на ова, ќе обезбедиме водич за миграција за да се обидеме да го олесниме процесот на миграција од 2.x QGIS верзиите до верзии 3.x QGIS.

Имиња на закани

Постојат неколку трикови кои треба да се постават за да се обезбеди дека миграцијата кон QGIS 3.0 звучи помалку болно.

  • 1. С.Треба да се напомене дека додека пристапот наведен погоре се обидува да го минимизира обемот на работа на питоматско скриптирање во приклучоци, тоа не мора да биде 100%. Најверојатно ќе има случаи кога кодот треба да се измени и најмалку во сите случаи, тој најверојатно ќе треба да се ревидира за да се осигура дека тој продолжува да функционира правилно.
    2. Нема формално утврден финансиски ресурс за плаќање на програмерите кои доброволно го вложуваат своето време за овој миграциски процес. Поради ова, ќе биде многу тешко да се дадат точни временски рамки колку време ќе трае секој дел од процесот. Оваа несигурност мора да се земе предвид при планирањето. Се разбира, донациите се добредојдени да помогнат да се случи ова.
    3. Таму може да има развивачи и институции кои финансираат нови функции за сериите QGIS 2.x и ова може да влијае на вашата работа. Потребно е да се вклучи одредена алокација во плановите и буџетите на овие проекти за да се соочи со миграцијата кон платформата QGIS 3.x.
    4. Ако тимот на QGIS работи на „тотална промена“, ќе има релативно кратко време во кое QGIS ќе биде нестабилен и постојано се менува поради тековните ажурирања на QGIS 3.0.
    4. Ако се развивате на „еволутивен“ начин, ризикувате развојот на 3.0 да потрае подолго, освен ако немате лојална група програмери кои работат на ова и го подготвуваат за пренос.

    Предлози

Во светло на сите горенаведени информации, се предлага една од двете насоки:

1 Предлог:

Ослободете привремена верзија 2.16 и потоа започнете да работите на верзијата 3.0 како приоритет, со прозорец за развој од 8 месеци. Измените направени во верзијата 2.16 ќе настојуваат да бидат компатибилни со верзијата 3.0 (видете python3 / pytq5).

2 Предлог:

Поставете 3.0 одеднаш со подолг прозорец на QT5, Python 3.0 и PyQt5, и побарајте од програмерите да ја завршат својата работа на 3.0. Продолжете со верзии на 2.x во редовни интервали додека 3.0 не е подготвен.

Алтернативни предлози

Имате алтернативен предлог? QGIS е заинтересиран да знае за можните алтернативи. Ако сакате да доставите предлог, испратете на tim@qgis.org со предмет „Предлог QGIS 3.0“.

На QGIS блог, каде што излезе оваа публикација.

Голџи Алварез

Писател, истражувач, специјалист за модели за управување со земјиштето. Учествувал во концептуализација и имплементација на модели како што се: Национален систем за администрација на имот SINAP во Хондурас, Модел на управување со заеднички општини во Хондурас, Интегриран модел на управување со катастар - регистар во Никарагва, систем на администрација на територијата SAT во Колумбија . Уредник на блогот за знаење Geofumadas од 2007 година и креатор на Академијата AulaGEO која вклучува повеќе од 100 курсеви за теми за GIS - CAD - BIM - Digital Twins.

поврзани написи

Оставете коментар

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени со *

Па проверете
Затвори
Вратете се на почетокот копче