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-г эвдэх ямар үр дагавартай вэ?

QGIS 3.0 дээрх API-г эвдэн сүйтгэх нэг шалтгаан нь шинэ API-тэй нийцэхгүй болсон хэдэн зуун хөгжсөн plugins-г эвдэх боломжтой бөгөөд тэдгээрийн зохиогчид үүнийг хийх хэрэгтэй болно. Шинэ API-тэй нийцтэй байдлыг хангахын тулд тэдний хөгжлийг судлах.

Шаардлагатай өөрчлөлтүүдийн цар хүрээ ихээхэн хамаарна:

  • API-д хэр олон өөрчлөлтүүд одоогийн үйл ажиллагаанд нөлөөлдөг.
    Plugin зохиогчид API-ийн зарим хэсгүүдийг солих болно гэдгийг хэдэн оноогоор зааж өгдөг.
  • 3.0-ийн гол өөрчлөлтүүд юу вэ?

3.0-д өөрчлөлт оруулахаар хайж байгаа дөрвөн үндсэн чиглэл байна:

 

QT4-ийн Qt5 update: Энэ бол QGIS-ийг дээд түвшинд барьж байгуулдаг номын сангуудын үндсэн багц бөгөөд бид платформын CORE-функциональ түвшний талаар ярьж байна. QT нь санах ойн менежмент, холболтын үйл ажиллагаа, график менежментийг гүйцэтгэх сангуудад өгдөг. Qt4 (одоогоор QGIS дээр суурилсан) Qt номын санг хариуцдаг хүмүүс одоогоор боловсруулаагүй байгаа бөгөөд зарим платформуудтай (жишээлбэл, OS X) ажиллагаатай холбоотой асуудал гарч магадгүй, тэр ч байтугай хоёртын хувилбаруудын менежментийг хөнгөвчлөх боломжтой юм. (жишээ нь Debian Testing болон удахгүй болох Debian "Stretch" хувилбар). QGIS-ийг QT5-д хүргэх үйл явц нь Марко Бернасоккитэй хамт QT5 дээр суурилсан Android «QField» дээр тамхи татдаг чухал ахиц дэвшил гарсан (ихэвчлэн Маттиас Куний хийсэн зүйл). Гэсэн хэдий ч QGIS-д нөлөөлж байгаа тул шинэ QT5-ийг эхлүүлэхэд зарим хязгаарлалтууд байдаг, ялангуяа вэб хөтчийн виджетүүд (ихэвчлэн Composer-т ашиглагддаг, мөн QGIS-ийн бусад газруудад ашиглагддаг).

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 2-тэй нэлээд хоцрогдсон нийцтэй болгосон боловч хоцрогдсон нийцтэй байдал нь тийм ч гайхалтай биш юм.
QGIS API-ийг сайжруулах нь: Хувилбаруудын хоорондох API нийцтэй байдлыг хангахад тулгардаг бэрхшээлүүдийн нэг бол дизайны сонголтоо удаан хугацаанд дагаж мөрдөх явдал юм. QGIS-д API хувилбарыг хэд хэдэн жижиг хувилбаруудад оруулахгүй байхыг хичээдэг. Одоогийн байдлаар тохирохгүй API-тэй QGIS-ийн 3.0 хувилбарыг гаргаснаар 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
Хувилбарын огноо 2 дугаар сарын эцэс 4 сарын дараа 2.14 8-ийн мөчлөгүүд?
Тэмдэглэл QGIS-ийн үндсэн Python кодыг Python 3 нийцтэй болон PyQt5 нийцтэй болгох (консол, Python үндсэн залгаас гэх мэт)
Qt4 Si

Debian Stretch-д хуучирсан (нэг жилийн дотор)

(вэбкит арилгасан)

Тийм Үгүй
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% Backwards Compatibility горимоор хангадаг
Үгүй Si Si
Үндсэн хоёртын файл Qt4 дээр суурилсан Qt4 дээр суурилсан Qt5 дээр суурилсан
Санхүүжилтийн тэргүүлэх чиглэл Пайтон боодол

Матиасын саналыг анхаарах хоёр чухал зүйл байдаг:

Эхний шатандажил цуврал 2.x дэмжлэг QT5 дуусгах, PyQt5 Python 3.0 ашиглан Qt4, PyQt4 ба Python 2.7 дэмжих хийж байна. Энэ нь эхний шатанд хийгдсэн бүх өөрчлөлтүүд нь өмнөх 2.x хувилбартай нийцэх болно гэсэн үг юм. Ингэснээр хуучин API PyQt4 QT5, PyQt5, Python 3.0 эсрэг эмхэтгэгдсэн байх үед ч, ялангуяа ашиглаж болно Python боломжуудыг тусгасан болно танилцуулсан болно. Qt4, PyQt4 ба Python 2.7 эсрэг хөрвүүлсэн QGIS ашиглан нийлэмжийг зөрчиж болохгүй юм байна.
Хоёрдугаар шатандЭнэ нь шинэ API нэвтрүүлэх, QGIS 3.0 үйлдвэрлэх бүрэн Qt2.7 болон PyQt4 дэмжлэг, түүний дотор Python 4 устгах ажиллах байсан. Эхний үе шатанд орж Python-д шинэ боломжууд харгалзан бүх Python код болон QGIS-ийн 2.x хувилбаруудад хөгжлийн QGIS-ийн 3.x хувилбарууд дээр үргэлжлүүлэн ажиллах авч, хадгалж болно. Энэ үе шат нь мөн зарим залгаасуудыг эвдэх болно QGIS API-д өөрчлөлт оруулах төлөвтэй байна. Энэ 2.x QGIS 3.x хувилбаруудыг QGIS хувилбарууд шилжилт хөдөлгөөнийг хөнгөвчлөхийн тулд оролдох удирдлага аа шилжилт хөдөлгөөнийг хангах болно шийдвэрлэх.

Caveat emptor

QGIS 3.0-т шилжих хөдөлгөөнийг багасгахад анхаарах хэд хэдэн арга бий.

  • 1. С.Дээр дурдсан хандлага нь залгаасууд дахь python дээр скрипт хийх ажлын хэмжээг багасгахыг хичээдэг боловч энэ нь заавал 100% байх албагүй гэдгийг тэмдэглэх нь зүйтэй. Кодыг өөрчлөх шаардлагатай байх тохиолдол гарах магадлалтай бөгөөд бүх тохиолдолд хамгийн багадаа хэвийн ажиллаж байгаа эсэхийг баталгаажуулах шаардлагатай.
    2. Энэхүү шилжилт хөдөлгөөний үйл явцад цаг заваа сайн дураараа зарцуулж буй хөгжүүлэгчдэд төлөх албан ёсны санхүүгийн эх үүсвэр байхгүй байна. Үүнээс болоод үйл явцын хэсэг тус бүр хэр удаан үргэлжлэхийг тодорхой цаг хугацаа өгөхөд хэцүү байх болно. Төлөвлөлт хийхдээ энэхүү тодорхойгүй байдлыг харгалзан үзэх ёстой. Мэдээж хэрэг үүнийг хэрэгжүүлэхэд туслах хандивыг урьж байна.
    3. QGIS 2.x цувралын шинэ боломжуудыг санхүүжүүлж байгаа хөгжүүлэгчид, байгууллагууд байж магадгүй бөгөөд энэ нь таны ажилд нөлөөлж болзошгүй юм. Эдгээр төслийн төлөвлөгөө, төсөвт QGIS 3.x платформ руу шилжих хөдөлгөөнд тулгарч буй тодорхой хуваарилалтыг оруулах шаардлагатай байна.
    4. Хэрэв QGIS баг "нийт өөрчлөлт" дээр ажилладаг бол харьцангуй богино хугацаанд QGIS 3.0 шинэчлэгдэж байгаа тул тогтворгүй, байнга өөрчлөгдөж байх болно.
    4. Хэрэв та "хувьслын" аргаар хөгжиж байгаа бол хөгжүүлэгчдийн үнэнч бүлгийг ажиллуулж, шилжин суурьшихад бэлэн байлгахгүй л бол 3.0 хөгжүүлэлт удаан үргэлжлэх эрсдэлтэй болно.

    Санал

Дээрх бүх мэдээллээс харахад хоёр үйл ажиллагааны аль нэгийг санал болгож байна:

1 Санал:

2.16 завсрын хувилбарыг гаргаад, дараа нь 3.0 хувилбар дээр тэргүүлэх чиглэлд ажиллаж эхлэх бөгөөд 8 сар хөгжүүлэх цонхтой болно. 2.16 хувилбарт оруулсан өөрчлөлтүүд 3.0 хувилбартай нийцтэй байхыг эрэлхийлэх болно (python3 / pytq5-г үзнэ үү).

2 Санал:

нэг удаа Lunging QT3.0, Python 5 болон PyQt3.0 дээр илүү өргөтгөсөн хугацаа цонх нь 5 болон 3.0 ажлаа хийх хөгжүүлэгчдэд асуу. 2.x хувилбарыг үргэлжлүүлэн 3.0 бэлэн болтол үргэлжлүүлээрэй.

Алтернатив саналууд

Өөр санал байна уу? QGIS нь боломжит хувилбаруудын талаар мэдэх сонирхолтой байна. Хэрэв та санал оруулахыг хүсвэл илгээнэ үү tim@qgis.org "QGIS 3.0 санал" гэсэн гарчигтай.

Нь QGIS блог, энэ нийтлэл гарсан.

Хариултаа үлдээнэ үү

Таны и-мэйл хаяг хэвлэгдсэн байх болно.

Энэ сайт нь спамыг багасгахын тулд Akismet-ийг ашигладаг. Таны сэтгэдлийн өгөгдөл хэрхэн боловсруулагдаж байгааг мэдэж аваарай.