QGIS

QGIS 3.0 - كيف ومتى وماذا ؛ هذا يعني

كثير منا يسأل:

متى سيتم إطلاق قيس شنومكس؟

في العام الماضي (شنومكس) بدأ فريق المشروع للتحقيق متى وكيف كان قيس شنومكس أن يطلق سراحه. ووعدوا، وفقا لمركز من أنيتا غريسر، والتي كانوا سينقلونها بوضوح إلى المستخدمين والمطورين لخططهم قبل إصدار QGIS 3.0. لقد حاولوا مؤخرًا الكشف عن بعض الاعتبارات الخاصة بإصدار QGIS 3.0 وفي نهاية المنشور هناك فرصة لنا لتقديم أفكارنا.

لماذا 3.0؟

QGis_Logoعادةً ما يتم حجز إصدار رئيسي للأوقات التي يتم فيها إجراء تغيير كبير على واجهة برمجة التطبيقات الخاصة بالبرنامج. هذا الاستراحة ليس قرارًا تافهًا لمشروع QGIS نظرًا لأننا مئات الآلاف من المستخدمين الذين نعتمد على QGIS ، سواء لاستخدامنا الشخصي أو للخدمات المقدمة لأطراف ثالثة.

أحيانا كسر هناك حاجة إلى API لاستيعاب تحديث العمارة مع النهج تحسين والمكتبات الجديدة والتصويبات على قرارات في الماضي.

ما هي النتائج المترتبة على كسر API؟

أحد الأسباب وراء هذا خرق للAPI في QGIS 3.0 هو أنها لن يكون لها تأثير كبير، والذي يمكن أن يكسر مئات من الإضافات المتقدمة التي لن تكون متوافقة مع API الجديد واضعي هذه لها علاقة استعراض تطوراتها لضمان التوافق مع أبي الجديد.

مدى التغييرات المطلوبة يعتمد إلى حد كبير على:

  • العديد من التغييرات API تؤثر على وظيفة الحالية.
    كيف استخدمت العديد من النقاط الإضافات الكتاب أجزاء من API التي من شأنها تغيير.
  • ما هي التغييرات الرئيسية ل3.0؟

هناك أربعة مجالات رئيسية هي التي تبحث عن التغيير في 3.0:

 

Qt4 لتحديث QT5: هذه هي المجموعة الأساسية من المكتبات التي تم بناء QGIS بها على المستوى الأعلى ، ونحن نتحدث عن المستوى الوظيفي الأساسي للمنصة. توفر QT أيضًا مكتبات لأداء إدارة الذاكرة وعمليات الاتصال وإدارة الرسومات. Qt4 (الذي يعتمد عليه QGIS حاليًا) لا يتم تطويره حاليًا من قبل المشرفين على مكتبة Qt وقد يواجه مشكلات وظيفية مع بعض الأنظمة الأساسية (مثل OS X) بل ويجعل من السهل إدارة الإصدارات الثنائية (مثل Debian Testing والإصدار التالي من دبيان) "تمتد"). إن عملية إحضار QGIS إلى QT5 لديها بالفعل تقدم مهم (بشكل رئيسي ما فعله ماتياس كون) والذي جنبًا إلى جنب مع Marco Bernasocchi تدخين على Android "QField" الذي يعتمد بالكامل على QT5. ومع ذلك ، هناك بعض القيود في تشغيل QT5 الجديد وتشغيله بسبب تأثيره على QGIS - لا سيما مع أدوات متصفح الويب (المستخدمة بشكل أساسي في Composer وأيضًا في أماكن قليلة أخرى في QGIS).

PyQt4 لتحديث PyQt5: هذه هي التغييرات النسبية في لغة بيثون ل كيو تي التي يستند إليها أبيس قيس بيثون. ينشأ تغيير مكتبة QT5 C ++، ومن المتوقع أيضا أن ينقل إلى مكتبة الثعبان PyQt5 حتى يتمكنوا من الاستفادة من فوائد API جديد في بيثون QT5.
تحديث بيثون بيثون 2.7 3 إلى: يعمل كل شيء حاليًا على Python 2.7. Python 3 هو أحدث إصدار من Python ويوصى به أولئك الذين يقودون هذا المشروع. Python 2 غير متوافق قليلاً مع Python 3 (يتناسب تقريبًا مع عدم التوافق بين QGIS 2 و Qgis 3). لقد جعل العديد من المطورين Python Python 3 متوافقًا إلى حد كبير مع Python 2 ، لكن التوافق مع الإصدارات السابقة ليس رائعًا.
تحسين API QGIS الخاصة: تتمثل إحدى مشكلات الحفاظ على توافق واجهة برمجة التطبيقات بين الإصدارات في أنه يتعين عليك التعايش مع خيارات التصميم الخاصة بك على المدى الطويل. يتم بذل كل جهد في QGIS لعدم كسر واجهة برمجة التطبيقات في سلسلة من الإصدارات الثانوية. سيتيح لنا إصدار إصدار QGIS للإصدار 3.0 مع واجهة برمجة تطبيقات غير مدعومة حاليًا فرصة "تنظيف المنزل" من خلال إصلاح الأشياء في واجهة برمجة التطبيقات التي لا نمتثل لها. تستطيع أن ترى قائمة مؤقتة من اقترح 3.0 تغييرات على API.

كيفية دعم تغيير API 3.0

كما ذكرنا سابقًا ، سيتوقف الإصدار 3.0 عن الإصدار 2.x من QGIS وهناك فرصة لتعطل العديد من المكونات الإضافية والتطبيقات الحالية والأكواد الأخرى التي تستند إلى واجهة برمجة التطبيقات الحالية. إذن ما الذي يمكن عمله لتخفيف التغييرات؟ كان ماتياس كون ، ويورجن فيشر ، ونيال داوسون ، ومارتن دوبياس ، وغيرهم من كبار المطورين يبحثون عن طرق للتخفيف من عدد تغييرات انقطاع واجهة برمجة التطبيقات مع الاستمرار في تطوير قاعدة بيانات QGIS التي تستند إلى الجيل التالي من المكتبات وواجهة برمجة التطبيقات الداخلية الخاصة بها. خلال اجتماعنا الأخير للجنة التوجيهية لمشروع QGIS ، قمنا بالتعديل الجغرافي من خلال الاحتمالات المختلفة. يلخص الجدول التالي ما لخصه ماتياس كون بلطف وأننا حاولنا جزئيًا ترجمته في هذه المقالة وفقًا لما أنها نشرت على بلوق:


QGIS 2.14 LTR
QGIS 2.16 ؟؟؟ قيس شنومكس
صدر نهاية فبراير أشهر شنومك في وقت لاحق شنومكس دورة شنومك أشهر؟
الملاحظات تحديث رمز الثعبان قيس الأساسية لتكون بيثون شنومكس متوافق و بيكتشنومكس متوافق (التنفيذ الجزئي لوظائف رئيسية مثل وحدة التحكم، والمكونات الأساسية الثعبان الخ)
Qt4 Si

إهمال في ديبيان الإمتداد (ويرجع ذلك في السنة)

(-webkit إزالة)

نعم لا
Qt5 لا

يخطئ QWebView - استبدال جديد ليس على جميع المنصات. كما يفتقد QPainter المحرك.

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 وبيثون 2.7. وهذا يعني أن جميع التغييرات التي تمت في المرحلة الأولى ستكون متوافقة مع الإصدارات السابقة 2.x. وسيتم عرض ميزات الثعبان ستدرج بحيث لا يزال من الممكن استخدام API PyQt4 العمر وخصوصا عندما جمعت ضد QT5، PyQt5، بيثون 3.0. عند استخدام قيس تجميعها مع كتسنومكس، بيكتسنومكس وبيثون شنومكس لن يكون هناك أي توافق في الفواصل.
في المرحلة الثانيةوستعمل على إنتاج QGIS 3.0، تقديم API جديد، تماما إزالة بيثون 2.7، بما في ذلك دعم Qt4 وPyQt4. سيتم الحفاظ على الميزات الجديدة في بيثون دخول المرحلة الأولى، مع مراعاة كافة التعليمات البرمجية الثعبان والتطورات لإصدارات 2.x من QGIS مواصلة العمل على إصدارات 3.x من QGIS. في هذه المرحلة، يتوقع منك أيضا إدخال تغييرات على واجهة برمجة تطبيقات قيس التي قد تؤدي إلى كسر بعض المكونات الإضافية. لمعالجة هذا، سوف نقدم دليل الترحيل لمحاولة تسهيل عملية الترحيل من إصدارات XQUMX.x قيس إلى إصدارات XQUMX.x قيس.

مسؤولية المشتري

هناك اثنين من الحيل التي ينبغي وضعها في مكان لضمان أن الهجرة إلى قيس شنومكس يبدو أقل إيلاما.

  • 1. S.تجدر الإشارة إلى أنه بينما يحاول النهج الموضح أعلاه تقليل مقدار العمل على برمجة Python النصية في المكونات الإضافية ، فلن يكون هذا بالضرورة 100٪. من المرجح أن تكون هناك حالات يجب فيها تعديل الشفرة ، وفي جميع الحالات على الأقل ، من المحتمل أن تتم مراجعتها للتأكد من استمرارها في العمل بشكل صحيح.
    2. لا يوجد مورد مالي محدد رسميًا للدفع للمطورين الذين يستثمرون وقتهم طواعية في عملية الترحيل هذه. لهذا السبب ، سيكون من الصعب جدًا تحديد أطر زمنية دقيقة للمدة التي سيستغرقها كل جزء من العملية. يجب أن يؤخذ هذا الشك في الاعتبار في التخطيط. التبرعات هي بالطبع موضع ترحيب للمساعدة في تحقيق ذلك.
    3. قد يكون هناك مطورون ومؤسسات تمول ميزات جديدة لسلسلة QGIS 2.x وقد يؤثر ذلك على عملك. من الضروري تضمين خطط وميزانيات هذه المشاريع تخصيصًا معينًا لمواجهة الانتقال إلى منصة QGIS 3.x.
    4. إذا كان فريق QGIS يعمل على "تغيير كلي" ، فسيكون هناك وقت قصير نسبيًا يكون خلاله QGIS غير مستقر ويتغير باستمرار بسبب التحديثات المستمرة لـ QGIS 3.0.
    4. إذا قمت بالتطوير بطريقة "تطورية" ، فإنك تخاطر بأن تطوير 3.0 قد يستغرق وقتًا أطول ما لم يكن لديك مجموعة مخلصين من المطورين يعملون عليه ويجهزونه للتنفيذ.

    مقترحات

وفي ضوء جميع المعلومات الواردة أعلاه، يقترح أحد خطي العمل:

اقتراح شنومكس:

قم بتحرير الإصدار المؤقت 2.16 ثم ابدأ العمل على الإصدار 3.0 كأولوية ، مع نافذة تطوير مدتها 8 أشهر. ستسعى التغييرات التي تم إجراؤها في الإصدار 2.16 إلى التوافق مع الإصدار 3.0 (انظر python3 / pytq5).

اقتراح شنومكس:

الإندفاع مرة واحدة 3.0 مع نافذة مدة أكثر موسعة على QT5، بيثون 3.0 وPyQt5 ونسأل المطورين للقيام بعملهم في 3.0. متابعة الإصدارات 2.x على فترات منتظمة حتى شنومكس جاهز.

مقترحات بديلة

هل لديك اقتراح بديل؟ QGIS مهتمة بمعرفة البدائل الممكنة. إذا كنت ترغب في تقديم اقتراح ، من فضلك أرسل إلى tim@qgis.org مع موضوع "QGIS 3.0 اقتراح".

ينبغي أن يتبع QGIS بلوق، وجاء من أين هذا المنشور.

جولجي الفاريز

كاتب وباحث متخصص في نماذج إدارة الأراضي. شارك في وضع المفاهيم وتنفيذ نماذج مثل: النظام الوطني لإدارة الممتلكات SINAP في هندوراس ، نموذج إدارة البلديات المشتركة في هندوراس ، النموذج المتكامل لإدارة السجل العقاري - التسجيل في نيكاراغوا ، نظام إدارة الإقليم SAT في كولومبيا . محرر مدونة Geofumadas المعرفية منذ عام 2007 ومنشئ أكاديمية AulaGEO التي تضم أكثر من 100 دورة تدريبية حول موضوعات GIS - CAD - BIM - التوائم الرقمية.

مقالات ذات صلة

ترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

أقرأ هذا الخبر
اغلاق
العودة إلى الزر العلوي