QGIS

QGIS 3.0 - Necə, nə vaxt və nə; bu nəzərdə tutur

Bizə çox xahiş olunur:

QGIS 3.0 nə vaxt buraxılacaq?

Ötən il (2015) layihənin komandası QGIS 3.0-in necə və necə sərbəst buraxılacağını araşdırmağa başladı. Onlar bir posta görə söz verdilər Anita GraserQGIS 3.0-ı işə salmadan əvvəl planlarını istifadəçilərə və inkişaf etdiricilərə açıq şəkildə çatdıracaqları. Bu yaxınlarda bir QGIS 3.0 versiyası üçün bəzi mülahizələri ortaya qoymağa çalışdılar və yazının sonunda fikirlərimizi təqdim etmək üçün bir fürsət var.

Niyə 3.0?

QGis_LogoTipik olaraq böyük bir versiya, proqramınızın API-də böyük bir dəyişiklik edildiyi zamanlar üçün qorunur. Bu fasilə QGIS layihəsi üçün əhəmiyyətsiz bir qərar deyil, çünki QGIS-dən asılı olan yüz minlərlə istifadəçiyik, həm öz istifadəimiz üçün, həm də üçüncü tərəflərə göstərilən xidmətlər üçün.

Bəzən API keçmişdə edilən qərarlar təkmilləşdirilmiş yanaşmalar, yeni kitabxana və düzəldilməsi ilə memarlıq yenilənməsi yerləşdirilməsi üçün tələb olunur qırılma.

API qırılma nəticələri hansılardır?

QGIS 3.0 ilə API bu pozulması artıq yeni API ilə uyğun olardı inkişaf etmiş plugins yüzlərlə və bu müəllifləri etmək lazımdır qıra bilər böyük təsiri olacaq ki, niyə bir səbəbi Yeni API ilə uyğunluğunu təmin etmək üçün inkişaflarını nəzərdən keçirir.

lazım dəyişikliklər dərəcədə əsasən asılıdır:

  • Bir çox API dəyişikliklər cari funksionallığı təsir göstərir.
    Neçə xal plugins müəllifləri dəyişdirmək API hissələri istifadə.
  • 3.0 əsas dəyişikliklər hansılardır?

3.0 da dəyişiklik axtarır dörd əsas sahələri var:

 

QT4 yeniləmə Qt5: Bu, QGIS-in ən yüksək səviyyədə qurulduğu əsas kitabxana dəstidir, biz platformanın CORE-funksional səviyyəsindən danışırıq. QT həmçinin yaddaşın idarə edilməsi, əlaqə əməliyyatları və qrafiklərin idarə edilməsi üçün kitabxanalar təqdim edir. Qt4 (Hazırda QGIS-in əsasındadır) hazırda Qt kitabxanasının sahibləri tərəfindən hazırlanmır və bəzi platformalarda (məsələn, OS X) funksionallıq problemləri ola bilər və hətta ikili versiyaları (məsələn, Debian Testi və növbəti Debian buraxılışı) idarə etməyi asanlaşdıra bilər. "Uzanmaq"). QGIS-in QT5-ə gətirilməsi prosesi artıq əhəmiyyətli bir irəliləyişə malikdir (əsasən Matthias Kuhn nə edib) ki, Marco Bernasocchi ilə birlikdə tamamilə QT5-ə əsaslanan Android "QField"-də siqaret çəkir. Bununla belə, yeni QT5-in QGIS-ə – xüsusən də veb-brauzer vidcetlərinə (əsasən Composer-də və həmçinin QGIS-də bir neçə başqa yerlərdə) təsirinə görə işə salınmasında bəzi məhdudiyyətlər var.

PyQt4 yeniləmə PyQt5: Bunlar QGIS Python API-nın əsaslandığı Qt üçün Python dilində nisbi dəyişikliklərdir. QT5 C ++ kitabxana dəyişdirmək yaranır də Python QT5 yeni API faydaları istifadə edə bilər ki, PyQt5 python kitabxana transfer gözlənilir.
Python Python 2.7 3 yenilənməsi: Hal-hazırda hər şey Python 2.7-də işləyir. Python 3, python-un son versiyasıdır və bu layihəyə rəhbərlik edənlər tərəfindən tövsiyə olunur. Python 2, Python 3 ilə bir qədər uyğun deyil (demək olar ki, QGIS 2 və Qgis 3 arasındakı uyğunsuzluqla mütənasibdir). Python Python 3'ü bir çox inkişaf etdirici, Python 2 ilə geriyə doğru uyğunlaşdırdı, lakin geriyə uyğunluq o qədər də yaxşı deyil.
QGIS öz API təkmilləşdirilməsi: Versiyalar arasında API uyğunluğunun qorunması ilə bağlı problemlərdən biri də odur ki, siz dizayn seçimlərinizlə uzun müddət yaşamalısınız. QGIS-də API-ni bir sıra kiçik buraxılışlarda pozmamaq üçün hər cür səy göstərilir. Hazırda dəstəklənməyən API ilə 3.0 üçün QGIS versiyasını buraxmaq bizə API-də uyğun olmayan şeyləri düzəltmək yolu ilə "ev təmizləmək" imkanı verəcək. Müvəqqəti siyahısını görə bilərsiniz 3.0 API üçün təklif olunan dəyişikliklər.

3.0 API-nın dəyişdirilməsinə necə dəstək verilir?

Artıq qeyd edildiyi kimi, versiya 3.0 QGIS versiyası 2.x ilə pozulacaq və mövcud API-yə əsaslanan bir çox plaginin, mövcud tətbiqetmənin və digər kodun pozulması ehtimalı var. Bəs dəyişiklikləri azaltmaq üçün nə etmək olar? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias və digər ən yaxşı inkişaf etdiricilər, QGIS kod bazasını yeni nəsil kitabxanalara və öz daxili API-sinə əsaslanaraq inkişaf etdirməyə davam edərkən, API fasiləsi dəyişikliklərinin sayını azaltmaq üçün yollar axtarırdılar. QGIS Layihə Rəhbər Komitəsinin son iclasında müxtəlif imkanlardan istifadə etdik. Aşağıdakı cədvəldə Matthias Kuhnun lütflə xülasə etdiyi və bu məqalədə qismən nəyə görə köçürməyə çalışdığımız öz əksini tapmışdır. Blogunuza göndərilib:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Buraxılış tarixi Fevral sonu 4 ay sonra 2.14 Cycle 8 Aylar?
Qeydlər QGIS əsas python kodunu Python 3 uyğun və PyQt5 uyğun olmasını (əsas funksionallıq üçün qismən tətbiq, məsələn konsol, python core plugins və s.
Qt4 Si

Debian Stretch (bir il ərzində)

(Webkit silindi)

bəli Yox
Qt5 Yox

QWebView qaçırır - bütün platformalarda yeni əvəz. QPainter Mühərrikin də qaçırdı.

Si Si
PyQt4 Si Si Yox
PyQt5 Yox Si Si
Python 2 Si Si Yox
Python 3 Yox Si Si
API təmizlənməsi Yox Yox Si
Wrappers
PyQt5 -> PyQt4
~ 90% Geri Uyğunluq təmin edir
Yox Si Si
Mainstream İkili Qt4 əsaslıdır Qt4 əsaslıdır Qt5 əsaslıdır
Maliyyələşdirmə prioriteti Python sarmalayıcılar

Matiasın təklifi ilə bağlı iki əsas şey var:

Birinci mərhələdəiş Qt2, PyQt5 və Python 5 dəstək Python 3.0 istifadə PyQt4, 4.x dəstək QT2.7 başa çatdırmaq üçün sıra edilir. Bu, birinci mərhələdə edilmiş bütün dəyişikliklərin əvvəlki 2.x versiyalarına uyğun olacağını nəzərdə tutur. QT4, PyQt5, Python 5 qarşı tərtib zaman köhnə API PyQt3.0 hələ xüsusilə istifadə edilə bilər ki, daxil olacaq Python xüsusiyyətləri təqdim olunacaq. Qt4, PyQt4 və Python 2.7-ə qarşı tərtib edilən QGIS istifadə edildikdə, heç bir fasilə uyğunluğu olmayacaqdı.
İkinci mərhələdəQT3.0 və PyQt2.7 dəstəyi daxil olmaqla, Python 4-nı tamamilə aradan qaldıracaq, yeni API təqdim edən QGIS 4 istehsal etməyə çalışacaqsınız. ilk mərhələsinə daxil python yeni funksiyalar nəzərə bütün python kodu və QGIS of 2.x versiyaları üçün inkişafları QGIS of 3.x versiyasını işə davam alaraq, təmin olunacaq. Bu mərhələdə siz də QGIS API'sinə bəzi plaginləri poza biləcək dəyişikliklər təqdim etməyi planlaşdırırsınız. Bunu həll etmək üçün, 2.x QGIS versiyalarından 3.x QGIS versiyalarına keçid prosesini asanlaşdırmaq üçün bir köç təlimatçısı verəcəyik.

Caveat emptor

QGIS 3.0-ə köç etmənin daha az acı verdiyini təmin etmək üçün qoyulmalı olan bir neçə tövsiyə var.

  • 1. SQeyd etmək lazımdır ki, yuxarıda göstərilən yanaşma plaginlərdə piton ssenarisi üzərində iş həcmini minimuma endirməyə çalışsa da, bu mütləq 100% olmayacaqdır. Çox güman ki, kodun düzəldilməli olduğu hallar olacaq və heç olmasa, normal işləməyə davam etməsini təmin etmək üçün yenidən nəzərdən keçirilməlidir.
    2. Bu köç prosesi üçün vaxtını könüllü xərcləyən inkişaf etdiricilərə ödəmək üçün rəsmi olaraq müəyyən edilmiş maliyyə mənbəyi yoxdur. Bu səbəbdən, prosesin hər hissəsinin nə qədər davam edəcəyi üçün dəqiq vaxt çərçivələri vermək çox çətin olacaq. Planlaşdırmada bu qeyri-müəyyənlik nəzərə alınmalıdır. Əlbətdə ki, bunun baş verməsinə kömək etmək üçün ianələr açıqdır.
    3. QGIS 2.x seriyası üçün yeni xüsusiyyətləri maliyyələşdirən inkişaf etdiricilər və təşkilatlar ola bilər və bu işinizə təsir göstərə bilər. Bu layihələrin planlarına və büdcələrinə QGIS 3.x platformasına köç etmək üçün müəyyən bir ayırma daxil etmək lazımdır.
    4. QGIS komandası "ümumi dəyişiklik" üzərində işləyirsə, QGIS 3.0-a davamlı yeniləmələr səbəbindən QGIS-in qeyri-sabit olacağı və daim dəyişəcəyi nisbətən qısa bir müddət olacaq.
    4. Əgər siz “təkamül yolu ilə” inkişaf etsəniz, onun üzərində işləyən və onu porta hazırlayan sadiq bir qrup tərtibatçıya malik olmasanız, 3.0 inkişafının daha uzun çəkə bilməsi riskini daşıyırsınız.

    Təkliflər

Bütün yuxarıda göstərilən məlumatlar nəzərə alınmaqla, iki hərəkət istiqamətindən biri təklif olunur:

1 Təklifi:

Keçici 2.16 versiyasını buraxın və sonra 3.0 aylıq inkişaf pəncərəsi ilə prioritet olaraq 8 versiyasında işləməyə başlayın. 2.16 versiyasında edilən dəyişikliklər 3.0 versiyası ilə uyğun olmağa çalışacaqdır (bax python3 / pytq5).

2 Təklifi:

bir dəfə lunging QT3.0, Python 5 və PyQt3.0 bir daha geniş duration pəncərə ilə 5 və 3.0 onların iş üçün developers xahiş edirik. 2 hazır olduğuna qədər müntəzəm olaraq 3.0.x versiyaları ilə davam edin.

Alternativ təkliflər

Alternativ təklifiniz var? QGIS, mümkün alternativlər haqqında bilməkdə maraqlıdır. Bir təklif göndərmək istəyirsinizsə, göndərin Tim@qgis.org “QGIS 3.0 Təklifi” mövzusu ilə.

Məqalələr QGIS blogu, Bu nəşrin çıxdığı yerdən.

Golgi Alvarez

Yazıçı, tədqiqatçı, Torpaq İdarəetmə Modelləri üzrə mütəxəssis. O, Hondurasda SINAP Milli Əmlak İdarəetmə Sistemi, Hondurasda Birgə Bələdiyyələrin İdarəetmə Modeli, Kadastr İdarəetməsinin İnteqrasiya Modeli - Nikaraquada Reyestr, Kolumbiyada SAT Ərazi İdarəetmə Sistemi kimi modellərin konseptuallaşdırılması və həyata keçirilməsində iştirak etmişdir. . 2007-ci ildən Geofumadas bilik bloqunun redaktoru və GIS - CAD - BIM - Digital Twins mövzularında 100-dən çox kursu özündə birləşdirən AulaGEO Akademiyasının yaradıcısıdır.

əlaqəli məqalələr

Şərh yaz

E-poçt ünvanından dərc olunmayacaq. Lazım alanlar qeyd olunur *

Başa dön düyməsini basın