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) функционалдық мәселелері болуы мүмкін және тіпті екілік нұсқаларды (мысалы, Debian Testing және келесі Debian шығарылымы) басқаруды жеңілдетуі мүмкін. «Созу»). QGIS-ті QT5-ке жеткізу процесі қазірдің өзінде маңызды ілгерілеушілікке ие (негізінен Маттиас Кунның жасағаны), ол Марко Бернасокчимен бірге толығымен QT5 негізіндегі Android «QField» түтінін шығарады. Дегенмен, QGIS-ке, атап айтқанда, веб-шолғыштың виджеттеріне (негізінен Composer-де, сонымен қатар QGIS-тің бірнеше басқа жерлерінде қолданылады) әсеріне байланысты жаңа QT5-ті қосу және іске қосуда кейбір шектеулер бар.

PyQt4-ге PyQt5-ге жаңартыңыз: Бұл QGIS Python API негізделген Qt үшін Python тіліне салыстырмалы өзгерістер. QT5 C ++ кітапханасын өзгертіңіз туындайды, сондай-ақ, олар Python QT5 жаңа API пайдасы пайдалана алады, сондықтан PyQt5 Python кітапхана беруге күтілуде.
2.7: Python 3-ті Python-ға жаңарту Қазіргі уақытта барлығы Python 2.7-де жұмыс істейді. Python 3 - бұл python-дің ең соңғы нұсқасы және оны осы жобаны басқарушылар ұсынады. Python 2 Python 3-ке сәл сәйкес келмейді (QGIS 2 мен Qgis 3 арасындағы сәйкессіздікке пропорционалды). Көптеген әзірлеушілер Python 3 Python-ды Python 2-ге негізінен артқа үйлесімді етіп жасады, бірақ кері үйлесімділік соншалықты жақсы емес.
QGIS API-ні өзі жетілдіру: Нұсқалар арасындағы API үйлесімділігін сақтаудағы мәселелердің бірі - сіз өзіңіздің дизайн таңдауыңызбен ұзақ уақытқа өмір сүруіңіз керек. QGIS-те API-ны кішігірім шығарылымдар сериясында бұзбау үшін барлық күш-жігер жұмсалады. Қазіргі уақытта қолдау көрсетілмейтін API бар 3.0 үшін QGIS нұсқасын шығару API ішіндегі біз сәйкес келмейтін нәрселерді түзету арқылы «үйді тазалау» мүмкіндігін береді. Сіз уақытша тізімін көре аласыз 3.0 API үшін ұсынылған өзгертулер.

3.0 API интерфейсін өзгертуді қалай қолдауға болады

Жоғарыда айтылғандай, 3.0 нұсқасы QGIS 2.x нұсқасымен бұзылады және көптеген плагиндердің, қолданыстағы қосымшалардың және ағымдағы API-ге негізделген басқа кодтардың бұзылу мүмкіндігі бар. Сонымен, өзгерістерді азайту үшін не істеуге болады? Маттиас Кун, Юрген Фишер, Найолл Доусон, Мартин Добиас және басқа да үздік әзірлеушілер QGIS код базасын кітапханалардың және өзінің ішкі API-нің келесі буынына негізделген ілгерілетуді жалғастыра отырып, API үзілістерінің санын азайту жолдарын іздеді. QGIS Жобасын басқару комитетінің соңғы отырысы барысында ол әртүрлі мүмкіндіктермен геомаздандырылды. Келесі кестеде Маттиас Кунның мейірімділікпен қорытындылаған тұжырымдамасы келтірілген және біз осы мақалада ішінара транслитерациялауға тырысқанымыз Сіздің блогымда орналастырылған:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Шығару күні Ақпанның соңы 4 ай өткен соң 2.14 8 айлар циклі?
Ескертулер QGIS ядросының Python кодын жаңартып, Python 3 және PyQt5 үйлесімді болуы керек (негізгі функцияларды жартылай орындау, мысалы, консоль, python ядросының плагиндері және т.б.)
Qt4 Si

Debian Stretch-те (бір жыл ішінде)

(webkit жойылған)

иә Жоқ
Qt5 Жоқ

QWebView - барлық платформаларда жаңа ауыстырылмайды. Сондай-ақ QPainter Engine-ді жібереді.

Si Si
PyQt4 Si Si Жоқ
PyQt5 Жоқ Si Si
Python 2 Si Si Жоқ
Python 3 Жоқ Si Si
API тазалау Жоқ Жоқ Si
Орауыштар
PyQt5 -> PyQt4
~ 90% артқа қарай үйлесімділікті қамтамасыз етеді
Жоқ Si Si
Mainstream екілік Qt4 негізделген Qt4 негізделген Qt5 негізделген
Қаржыландырудың басымдығы Python орауыштары

Матиастың ұсынысы туралы екі маңызды нәрсе бар:

Бірінші кезеңдежұмыс Qt2, PyQt5 және Python 5 қолдау, Python 3.0 пайдаланып 4.x қолдау QT4, PyQt2.7 аяқтау үшін сериясы жасалады. Бұл бірінші кезеңде жасалған барлық өзгерістер бұрынғы нұсқаларында 2.x үйлесімді болатынын білдіреді. Python ерекшеліктері QT4, PyQt5, Python 5 қарсы құрастырылған кезде ескі API PyQt3.0 әлі әсіресе пайдалануға болады, сондықтан енгізілетін болады енгізілетін болады. Qt4, PyQt4 және Python 2.7 қарсы құрастырылған QGIS пайдалану арқылы үйлесімділікті сынған емес еді.
Екінші кезеңде, сіз QGIS 3.0 жасау үшін жұмыс істейтін боласыз, жаңа API енгізу, ол Qt2.7 және PyQt4 қолдауын қоса, Python 4-ды толығымен жояды. Q2 және QNISXX нұсқалары үшін барлық питон кодтары мен әзірлеулер QGIS 2.x нұсқаларында жұмыс істеуді жалғастыратындығын ескере отырып, бірінші кезеңде енгізілген жаңа питон функциялары сақталады. Бұл фазада кейбір плагиндерді бұзатын QGIS API-іне өзгерістер енгізу ұсынылады. Бұл мәселені шешу үшін біз 3.x QGIS нұсқаларынан 2.x QGIS нұсқаларына көшіру процесін жеңілдету үшін көші-қон жөніндегі нұсқаулықты ұсынамыз.

Caveat emptor

QGIS 3.0-ке көші-қонды азайтатындығын қамтамасыз ету үшін, бірнеше адымдар бар.

  • 1. С.Айта кету керек, жоғарыда келтірілген тәсіл плагиндердегі питонға сценарий жазу кезінде болатын жұмыс көлемін барынша азайтуға тырысады, бірақ бұл міндетті түрде 100% болмайды. Кодты өзгерту қажет болатын жағдайлар болуы мүмкін, және, ең болмағанда, оның дұрыс жұмыс істеуін қамтамасыз ету үшін оны қайта қарау керек болады.
    2. Осы көші-қон үдерісіне өз уақытын өз еркімен жұмсаған әзірлеушілерге ақы төлейтін ресми түрде құрылған қаржылық ресурс жоқ. Осыған байланысты процестің әр бөлігі қанша уақытқа созылатынын нақты уақыт шеңберінде беру өте қиын болады. Бұл белгісіздік жоспарлау кезінде ескерілуі керек. Әрине, мұны жүзеге асыруға көмектесу үшін қайырымдылық шаралары қабылданады.
    3. QGIS 2.x сериялары үшін жаңа мүмкіндіктерді қаржыландыратын әзірлеушілер мен мекемелер болуы мүмкін және бұл сіздің жұмысыңызға әсер етуі мүмкін. Осы жобалардың жоспарлары мен бюджеттеріне QGIS 3.x платформасына көшу үшін белгілі бір бөлуді енгізу қажет.
    4. Егер QGIS командасы «жалпы өзгеріс» бойынша жұмыс істесе, QGIS 3.0-ге тұрақты жаңартуларға байланысты QGIS тұрақсыз және үнемі өзгеріп тұратын салыстырмалы түрде қысқа уақыт болады.
    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 нұсқасы дайын болғанға дейін тұрақты аралықта 3.0.x нұсқаларын жалғастырыңыз.

Балама ұсыныстар

Сізде балама ұсыныс бар ма? QGIS ықтимал баламалар туралы білуге ​​мүдделі. Егер сіз ұсыныс жібергіңіз келсе, жіберіңіз tim@qgis.org «QGIS 3.0 ұсынысы» тақырыбымен.

The QGIS блогы, онда бұл басылым шыққан.

Гольджи Альварес

Жазушы, зерттеуші, Жер ресурстарын басқару үлгілерінің маманы. Ол: Гондурастағы SINAP мүлікті басқарудың ұлттық жүйесі, Гондурастағы бірлескен муниципалитеттерді басқару моделі, Кадастрды басқарудың біріктірілген моделі - Никарагуадағы тізілім, Колумбиядағы SAT аумақты басқару жүйесі сияқты үлгілерді тұжырымдамалау және енгізуге қатысты. . 2007 жылдан бері Geofumadas білім блогының редакторы және GIS - CAD - BIM - Digital Twins тақырыптары бойынша 100-ден астам курстарды қамтитын AulaGEO академиясының құрушысы.

Қатысты Мақалалар

Пікір қалдыру

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

Басына оралу