QGIS

QGIS ៣.០ - តើធ្វើដូចម្តេចពេលនិងអ្វី; វាបង្កប់ន័យ

ពួកយើងជាច្រើនបានសួរ:

តើ QGIS 3.0 នឹងត្រូវបានចេញផ្សាយនៅពេលណា?

កាលពីឆ្នាំមុនក្រុមគម្រោងបានចាប់ផ្តើមស៊ើបអង្កេតពេលណានិងរបៀប QGIS 2015 នឹងត្រូវបានចេញផ្សាយ។ ពួកគេបានសន្យាថាយោងតាមការប្រកាសពី នាងអានីតា Graserដែលពួកគេនឹងបង្ហាញយ៉ាងច្បាស់ដល់អ្នកប្រើប្រាស់និងអ្នកអភិវឌ្ឍន៍គំរោងរបស់ពួកគេមុនពេលដាក់ឱ្យប្រើ 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 ត្រូវបានបង្កើតឡើងនៅកម្រិតកំពូល យើងនិយាយអំពីកម្រិតមុខងារស្នូលនៃវេទិកា។ QT ក៏ផ្តល់បណ្ណាល័យដើម្បីអនុវត្តការគ្រប់គ្រងអង្គចងចាំ ប្រតិបត្តិការតភ្ជាប់ និងការគ្រប់គ្រងក្រាហ្វិក។ Qt4 (ដែល QGIS បច្ចុប្បន្នផ្អែកលើ) បច្ចុប្បន្នមិនត្រូវបានបង្កើតឡើងដោយអ្នកថែទាំបណ្ណាល័យ Qt ហើយអាចមានបញ្ហាមុខងារជាមួយវេទិកាមួយចំនួន (ឧ. OS X) ហើយថែមទាំងធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការគ្រប់គ្រងកំណែប្រព័ន្ធគោលពីរ (ឧទាហរណ៍ ការធ្វើតេស្ត Debian និងការចេញផ្សាយ Debian បន្ទាប់ "លាតសន្ធឹង") ។ ដំណើរការនៃការនាំយក QGIS ទៅ QT5 មានការជឿនលឿនដ៏សំខាន់មួយ (ជាចម្បងនូវអ្វីដែល Matthias Kuhn បានធ្វើ) ដែលរួមគ្នាជាមួយ Marco Bernasocchi ជក់បារីនៅលើ Android "QField" ដោយផ្អែកលើ QT5 ទាំងស្រុង។ ទោះយ៉ាងណាក៏ដោយ មានដែនកំណត់មួយចំនួនក្នុងការទទួលបាន QT5 ថ្មី និងដំណើរការដោយសារតែឥទ្ធិពលរបស់វាទៅលើ QGIS ជាពិសេសជាមួយនឹងធាតុក្រាហ្វិកកម្មវិធីរុករកតាមអ៊ីនធឺណិត (ភាគច្រើនត្រូវបានប្រើប្រាស់នៅក្នុងកម្មវិធីតែង និងកន្លែងមួយចំនួនផ្សេងទៀតនៅក្នុង QGIS)។

PyQt4 ធ្វើឱ្យទាន់សម័យ PyQt5: ទាំងនេះគឺជាការផ្លាស់ប្តូរដែលទាក់ទងទៅនឹងភាសា Python សម្រាប់ Qt ដែលផ្អែកលើ QGIS Python API ។ , កើតឡើងផ្លាស់ប្តូរបណ្ណាល័យ QT5 C ++ ត្រូវបានគេរំពឹងថានឹងផ្ទេរទៅបណ្ណាល័យពស់ថ្លាន់ PyQt5 ដូច្នេះពួកគេអាចទាញយកប្រយោជន៍ពីអត្ថប្រយោជន៍នៃ API ថ្មីនេះនៅក្នុង Python QT5 នេះ។
ធ្វើឱ្យទាន់សម័យ Python Python បាន 2.7 3 ទៅ: បច្ចុប្បន្នអ្វីគ្រប់យ៉ាងដំណើរការលើ Python 2.7 ។ ពស់ថ្លាន់ ៣ គឺជាពស់ថ្លាន់ជំនាន់ចុងក្រោយហើយត្រូវបានណែនាំដោយអ្នកដែលដឹកនាំគម្រោងនោះ។ Python 3 មិនត្រូវគ្នានឹង Python 2 ទេ (ស្ទើរតែសមាមាត្រនឹងភាពមិនឆបគ្នារវាង QGIS 3 និង Qgis 2) ។ អ្នកអភិវឌ្ឍន៍ជាច្រើនបានធ្វើឱ្យពស់ថ្លាន់ពស់ថ្លាន់ភាគ ៣ ដើរថយក្រោយឆបគ្នាជាមួយពស់ថ្លាន់ ២ ប៉ុន្តែភាពឆបគ្នាថយក្រោយគឺមិនអស្ចារ្យទេ។
ធ្វើឱ្យប្រសើរឡើង API របស់របស់ខ្លួន QGIS: បញ្ហាមួយក្នុងចំណោមបញ្ហាជាមួយនឹងការរក្សាភាពឆបគ្នា API រវាងកំណែគឺថាអ្នកត្រូវរស់នៅជាមួយជម្រើសរចនារបស់អ្នកសម្រាប់រយៈពេលយូរ។ រាល់កិច្ចខិតខំប្រឹងប្រែងត្រូវបានធ្វើឡើងនៅក្នុង QGIS មិនឱ្យបំបែក API នៅក្នុងការចេញផ្សាយតិចតួចជាបន្តបន្ទាប់។ ការចេញផ្សាយកំណែ QGIS សម្រាប់ 3.0 ជាមួយនឹង API ដែលមិនត្រូវបានគាំទ្រនឹងផ្តល់ឱ្យយើងនូវឱកាសមួយដើម្បី "សម្អាតផ្ទះ" ដោយជួសជុលអ្វីៗនៅក្នុង API ដែលយើងមិនអនុលោមតាម។ អ្នកអាចឃើញបញ្ជីបណ្តោះអាសន្ននៃ 3.0 បានស្នើការផ្លាស់ប្តូរទៅ API.

តើធ្វើដូចម្តេចដើម្បីគាំទ្រដល់ការផ្លាស់ប្តូរ API របស់ 3.0

ដូចដែលបានបញ្ជាក់រួចមកហើយកំណែ ៣.០ នឹងបែកជាមួយនឹង QGIS ជំនាន់ ២.x ហើយមានលទ្ធភាពដែលកម្មវិធីជំនួយជាច្រើនកម្មវិធីដែលមានស្រាប់និងលេខកូដផ្សេងទៀតដែលផ្អែកលើ API បច្ចុប្បន្ននឹងបែក។ ដូច្នេះតើអាចធ្វើអ្វីខ្លះដើម្បីកាត់បន្ថយការផ្លាស់ប្តូរ? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias និងអ្នកអភិវឌ្ឍន៍កំពូល ៗ ផ្សេងទៀតបានរិះរកវិធីដើម្បីកាត់បន្ថយចំនួននៃការផ្លាស់ប្តូរការបំបែក API ខណៈពេលកំពុងបន្តជំរុញ QGIS codebase ដោយផ្អែកលើបណ្ណាល័យជំនាន់ក្រោយនិង API ផ្ទៃក្នុងរបស់វា។ ក្នុងអំឡុងពេលប្រជុំចុងក្រោយរបស់យើងនៃគណៈកម្មាធិការដឹកនាំគម្រោង QGIS យើងបានបង្កើតភូមិសាស្ត្រតាមរយៈលទ្ធភាពផ្សេងៗគ្នា។ តារាងខាងក្រោមសង្ខេបពីអ្វីដែលម៉ាត់ធីសខេឃួនសង្ខេបដោយគុណធម៌ហើយយើងបានព្យាយាមសរសេរតាមផ្នែកខ្លះនៅក្នុងអត្ថបទនេះយោងទៅតាមអ្វីដែល ពួកគេបានចេញផ្សាយនៅលើ blog របស់គាត់:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
កាលបរិច្ឆេទការចេញផ្សាយ ចុងបញ្ចប់នៃខែកុម្ភៈ ខែ 4 2.14 វដ្ត 8 ខែ¿?
កំណត់ចំណាំ ធ្វើឱ្យទាន់សម័យនៃស្នូលកូដ Python បាន 3 ពស់ថ្លាន់ QGIS ទៅជានិងការគាំទ្រ PyQt5 ត្រាប់តាម (អនុវត្តដោយផ្នែកសម្រាប់ឧមុខងារកុងសូលគន្លឹះ, កម្មវិធីជំនួយស្នូលពស់ថ្លាន់ល)
Qt4 Si

ក្នុងដេបៀន Stretch បដិសេធ (ដោយសារតែនៅក្នុងមួយឆ្នាំ)

(-webkit យកចេញ)

បាទ ទេ
Qt5 ទេ

បាត់ QWebView - ជំនួសថ្មីមិនត្រូវបាននៅលើគ្រប់វេទិកាទាំងអស់។ ដូចគ្នានេះផងដែរនឹក QPainter ម៉ាស៊ីន។

Si Si
PyQt4 Si Si ទេ
PyQt5 ទេ Si Si
ពស់ថ្លាន់ 2 Si Si ទេ
ពស់ថ្លាន់ 3 ទេ Si Si
ការសម្អាត API ទេ ទេ Si
រុំ
PyQt5 -> PyQt ៤
ផ្តល់ ~ ភាពឆបគ្នា 90% ថយក្រោយ
ទេ Si Si
ប្រព័ន្ធគោលពីរពហុវិនាទី Qt4 ផ្អែកលើ Qt4 ផ្អែកលើ Qt5 ផ្អែកលើ
អាទិភាពលើការផ្តល់មូលនិធិ រុំ Python

មានចំណុចសំខាន់ពីរដែលត្រូវចងចាំអំពីសំណើរបស់ Matias:

នៅដំណាក់កាលដំបូងការងារនេះត្រូវបានធ្វើរួចនៅក្នុងស៊េរីដើម្បីបញ្ចប់ QT2 ការគាំទ្រ 5.x, PyQt5 ប្រើប្រាស់ Python បាន 3.0 គាំទ្រ Qt4, PyQt4 និង Python 2.7 ។ នេះបង្កប់ន័យថាការផ្លាស់ប្តូរទាំងអស់ដែលបានធ្វើនៅក្នុងដំណាក់កាលដំបូងនេះនឹងត្រូវឆបគ្នាជាមួយកំណែមុន 2.x ។ លក្ខណៈពិសេសពស់ថ្លាន់នឹងត្រូវបានដាក់បញ្ចូលនឹងត្រូវបានណែនាំដូច្នេះ API របស់ PyQt4 ចាស់នៅតែអាចត្រូវបានប្រើជាពិសេសនៅពេលចងក្រងប្រឆាំងនឹង QT5, PyQt5, ពស់ថ្លាន់ 3.0 ។ ដោយប្រើ QGIS ចងក្រងប្រឆាំងនឹង Qt4, PyQt4 និង Python 2.7 នឹងមិនបំបែកភាពឆបគ្នា។
នៅដំណាក់កាលទីពីរវានឹងធ្វើការដើម្បីផលិត QGIS 3.0 ណែនាំ API ថ្មីនេះទាំងស្រុងយក Python បាន 2.7, រួមបញ្ចូលទាំងការគាំទ្រសម្រាប់ Qt4 និង PyQt4 ។ លក្ខណៈពិសេសថ្មីនៅក្នុងការពស់ថ្លាន់ចូលទៅក្នុងដំណាក់កាលដំបូងនឹងត្រូវបានរក្សាយកទៅក្នុងគណនីទាំងអស់កូដ Python និងការអភិវឌ្ឍសម្រាប់កំណែ 2.x នៃ QGIS បន្តធ្វើការនៅលើកំណែ 3.x នៃ QGIS ។ ដំណាក់កាលនេះត្រូវបានគេរំពឹងថានឹងបង្ហាញពីការផ្លាស់ប្តូរនៅក្នុង API របស់ QGIS ដែលអាចធ្វើឱ្យខូចកម្មវិធីជំនួយមួយចំនួន។ ដើម្បីដោះស្រាយបញ្ហានេះនឹងផ្តល់នូវការធ្វើចំណាកស្រុកធ្វើការណែនាំដើម្បីព្យាយាមដើម្បីជួយសម្រួលដល់ការធ្វើចំណាកស្រុករបស់កំណែ 2.x QGIS 3.x QGIS កំណែ។

សញ្ញាល្អី

មានល្បិចពីរដែលគួរតែត្រូវបានដាក់ឱ្យដើម្បីធានាថាការធ្វើចំណាកស្រុកទៅ QGIS 3.0 ស្តាប់ទៅពុំសូវឈឺចាប់។

  • 1. សវាគួរតែត្រូវបានគេកត់សម្គាល់ថាខណៈពេលដែលវិធីសាស្រ្តដែលបានកំណត់ខាងលើព្យាយាមកាត់បន្ថយបរិមាណការងារលើស្គ្រីបពស់ថ្លាន់នៅក្នុងកម្មវិធីជំនួយវាមិនចាំបាច់ 100% ទេ។ វាទំនងជាមានករណីដែលលេខកូដត្រូវតែត្រូវបានកែសំរួលហើយក្នុងករណីទាំងអស់យ៉ាងហោចណាស់វាទំនងជាត្រូវធ្វើការកែលម្អឡើងវិញដើម្បីធានាថាវានៅតែដំណើរការបានត្រឹមត្រូវ។
    2. មិនមានធនធានហិរញ្ញវត្ថុដែលត្រូវបានបង្កើតឡើងជាផ្លូវការដើម្បីបង់ថ្លៃដល់អ្នកអភិវឌ្ឍន៍ដែលស្ម័គ្រចិត្តវិនិយោគពេលវេលារបស់ពួកគេសម្រាប់ដំណើរការធ្វើចំណាកស្រុកនេះ។ ដោយសារតែបញ្ហានេះវានឹងមានការលំបាកខ្លាំងណាស់ក្នុងការផ្តល់ពេលវេលាជាក់លាក់សម្រាប់រយៈពេលនីមួយៗនៃដំណើរការនេះ។ ភាពមិនច្បាស់លាស់នេះត្រូវតែយកមកពិចារណាក្នុងផែនការ។ ជាការពិតណាស់ការបរិច្ចាគត្រូវបានស្វាគមន៍ក្នុងការជួយធ្វើឱ្យរឿងនេះកើតឡើង។
    3. អាចមានអ្នកអភិវឌ្ឍន៍និងស្ថាប័ននៅទីនោះដែលកំពុងផ្តល់មូលនិធិដល់លក្ខណៈពិសេសថ្មីសម្រាប់ស៊េរី QGIS 2.x ហើយបញ្ហានេះអាចប៉ះពាល់ដល់ការងាររបស់អ្នក។ វាចាំបាច់ក្នុងការបញ្ចូលក្នុងផែនការនិងថវិកានៃគម្រោងទាំងនេះការបែងចែកជាក់លាក់ដើម្បីប្រឈមនឹងការធ្វើចំណាកស្រុកទៅកាន់វេទិកា QGIS 3.x ។
    4. ប្រសិនបើក្រុម QGIS ធ្វើការលើ "ការផ្លាស់ប្តូរសរុប" វានឹងមានពេលវេលាដ៏ខ្លីមួយក្នុងអំឡុងពេលដែល QGIS នឹងមិនស្ថិតស្ថេរ និងផ្លាស់ប្តូរឥតឈប់ឈរ ដោយសារការអាប់ដេតបន្តទៅ QGIS 3.0 ។
    4. ប្រសិនបើអ្នកអភិវឌ្ឍតាមវិធី 'វិវត្តន៍' អ្នកប្រថុយប្រថានដែលការអភិវឌ្ឍន៍ 3.0 អាចចំណាយពេលយូរជាងនេះ លុះត្រាតែអ្នកមានក្រុមអ្នកអភិវឌ្ឍន៍ដ៏ស្មោះត្រង់ធ្វើការលើវា ហើយរៀបចំវាឱ្យរួចរាល់។

    ការផ្តល់យោបល់

យោងទៅតាមព័ត៌មានខាងលើនេះមួយក្នុងចំណោមសកម្មភាពពីរត្រូវបានគេស្នើឡើង:

សំណើរសុំ 1:

ចេញផ្សាយកំណែបណ្តោះអាសន្ន ២.១៦ ហើយបន្ទាប់មកចាប់ផ្តើមធ្វើការលើកំណែ ៣.០ ជាអាទិភាពជាមួយនឹងបង្អួចអភិវឌ្ឍន៍រយៈពេល ៨ ខែ។ ការផ្លាស់ប្តូរដែលបានធ្វើនៅក្នុងកំណែ ២.១៦ នឹងស្វែងរកភាពត្រូវគ្នាជាមួយនឹងកំណែ ៣.០ (សូមមើល python2.16 / pytq3.0) ។

សំណើរសុំ 2:

Lunging ម្តង 3.0 ជាមួយនឹងបង្អួចរយៈពេលមួយដែលបានពង្រីកបន្ថែមទៀតលើ QT5, Python 3.0 និង PyQt5 និងសួរអ្នកអភិវឌ្ឍន៍ដើម្បីធ្វើការងាររបស់ខ្លួននៅក្នុង 3.0 ។ បន្តជាមួយកំណែ 2.x ជាមួយនឹងប្រេកង់ធម្មតារហូតដល់ 3.0 ត្រៀមខ្លួនជាស្រេច។

សំណើជំនួស

មានសំណើជំនួស? QGIS ចាប់អារម្មណ៍ចង់ដឹងពីជម្រើសដែលអាចកើតមាន។ ប្រសិនបើអ្នកចង់ដាក់ពាក្យស្នើសុំសូមផ្ញើទៅ tim@qgis.org ជាមួយនឹងប្រធានបទ "សំណើ QGIS 3.0" ។

គួរតែអនុវត្តតាម កំណត់ហេតុបណ្ដាញរបស់ QGISអ្នកមកពីណាបានមកសៀវភៅនេះ។

Golgi Alvarez

អ្នកនិពន្ធ អ្នកស្រាវជ្រាវ អ្នកឯកទេសផ្នែកគ្រប់គ្រងដីធ្លី។ គាត់បានចូលរួមក្នុងការបង្កើតគំនិត និងការអនុវត្តគំរូដូចជា៖ ប្រព័ន្ធជាតិនៃការគ្រប់គ្រងអចលនទ្រព្យ SINAP នៅប្រទេសហុងឌូរ៉ាស គំរូនៃការគ្រប់គ្រងក្រុងរួមនៅហុងឌូរ៉ាស គំរូរួមបញ្ចូលគ្នានៃការគ្រប់គ្រងសុរិយោដី - ការចុះបញ្ជីនៅនីការ៉ាហ្គា ប្រព័ន្ធគ្រប់គ្រងដែនដី SAT ក្នុងប្រទេសកូឡុំប៊ី . កម្មវិធីនិពន្ធនៃប្លក់ចំណេះដឹង Geofumadas តាំងពីឆ្នាំ 2007 និងអ្នកបង្កើត AulaAGEO Academy ដែលរួមបញ្ចូលវគ្គសិក្សាច្រើនជាង 100 លើប្រធានបទ GIS - CAD - BIM - Digital Twins ។

អត្ថបទ​ដែល​ទាក់ទង

ទុកឱ្យសេចក្តីអធិប្បាយ

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានបោះពុម្ភ។ អ្នកគួរតែអនុវត្តតាម *

ត្រលប់ទៅកំពូល