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

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 хувилбар) удирдахад хялбар болгодог. "Сунгах"). 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 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-ийн шинэчлэлтийн улмаас QGIS тогтворгүй, байнга өөрчлөгддөг харьцангуй богино хугацаа байх болно.
    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 блог, энэ нийтлэл гарсан.

Голги Альварес

Зохиолч, судлаач, Газар зохион байгуулалтын загварын мэргэжилтэн. Тэрээр Гондурас дахь Өмчийн удирдлагын үндэсний систем SINAP, Гондурасын хамтарсан хотын удирдлагын загвар, Никарагуа дахь кадастрын удирдлагын нэгдсэн загвар, Колумбын нутаг дэвсгэрийн удирдлагын систем SAT зэрэг загваруудыг боловсруулах, хэрэгжүүлэхэд оролцсон. . 2007 оноос хойш Geofumadas мэдлэгийн блогын редактор, GIS - CAD - BIM - Digital Twins сэдвээр 100 гаруй хичээлийг багтаасан AulaGEO академийг бүтээгч.

холбоотой зүйл

Deja НҮБ-ын comentario

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

Дээшээ буцах товч