QGIS

QGIS 3.0 - Jak, kdy a co; to naznačuje

Mnozí z nás se ptají:

Kdy bude QGIS 3.0 uvolněn?

V loňském roce (2015) projektový tým začal zkoumat, kdy a jak má být QGIS 3.0 propuštěn. Slíbili podle postu Anita Graser, které před vydáním QGIS 3.0 jasně sdělili uživatelům a vývojářům svých plánů. Nedávno se pokusili odhalit některé úvahy týkající se vydání QGIS 3.0 a na konci příspěvku je pro nás příležitost představit naše nápady.

Proč 3.0?

QGis_LogoHlavní verze je obvykle vyhrazena pro dobu, kdy dojde k velké změně rozhraní API vašeho softwaru. Tento zlom není pro projekt QGIS triviálním rozhodnutím, protože jsme statisíce uživatelů závislých na QGIS, a to jak pro vlastní potřebu, tak pro služby poskytované třetím stranám.

Občas prolomení je potřeba API pro uložení aktualizací architektury s zlepšených přístupů, nových knihoven a opravách rozhodnutí učiněných v minulosti.

Jaké jsou důsledky porušení API?

Jedním z důvodů, proč se toto porušení API v QGIS 3.0 je, že to bude mít velký dopad, který by mohl rozbít stovky rozvinutých pluginů, které již nebudou kompatibilní s novým API a autory nich dělat přezkoumání jejich vývoje s cílem zajistit kompatibilitu s novým rozhraním API.

Rozsah potřebných změn do značné míry závisí na:

  • Mnoho změn API ovlivní aktuální funkčnost.
    Kolik bodů pluginy autoři použili části API, které by se mohly změnit.
  • Jaké jsou hlavní změny 3.0?

Existují čtyři klíčové oblasti, které jsou při pohledu na změnu v 3.0:

 

Qt4 k aktualizaci QT5: Jedná se o základní sadu knihoven, na kterých je QGIS postaven na špičkové úrovni, hovoříme o CORE-funkční úrovni platformy. QT také poskytuje knihovny pro provádění správy paměti, operací připojení a správy grafiky. Qt4 (na kterém je QGIS v současné době založen) není v současné době vyvíjen správci knihovny Qt a může mít funkční problémy s některými platformami (např. OS X) a dokonce může usnadnit správu binárních verzí (např. Debian Testing a další vydání Debianu "Protáhnout se"). Proces zavedení QGIS do QT5 již má důležitý pokrok (hlavně to, co udělal Matthias Kuhn), že spolu s Marco Bernasocchi kouří na Androidu „QField“ založeném výhradně na QT5. Existují však určitá omezení při uvádění nového QT5 do provozu kvůli jeho dopadu na QGIS – zejména s widgety webového prohlížeče (používané hlavně v Composeru a také na několika dalších místech v QGIS).

PyQt4 k aktualizaci PyQt5: Jedná se o relativní změny jazyka Pythonu pro Qt, na kterém je založen QGIS Python API. Vyvstává změnit na QT5 knihovna C ++, se také očekává, že přechod na PyQt5 knihovny Pythonu, takže mohou využívat výhod nových API v Pythonu QT5.
Aktualizace Python 2.7 3 na adresu: V současné době vše běží na Pythonu 2.7. Python 3 je nejnovější verze pythonu a je doporučován těmi, kteří vedou tento projekt. Python 2 je mírně nekompatibilní s Pythonem 3 (téměř úměrný nekompatibilitě mezi QGIS 2 a Qgis 3). Mnoho vývojářů způsobilo, že python Python 3 je do značné míry zpětně kompatibilní s Pythonem 2, ale zpětná kompatibilita není tak velká.
Zlepšení Qgis vlastní API: Jedním z problémů s udržováním kompatibility API mezi verzemi je, že musíte dlouhodobě žít se svými volbami designu. V QGIS je vynaloženo veškeré úsilí, aby nedošlo k porušení API v sérii menších verzí. Vydání verze QGIS pro 3.0 s API, které není aktuálně podporováno, nám dá příležitost „vyčistit dům“ tím, že opravíme věci v API, se kterými nejsme v souladu. Můžete se podívat na předběžný seznam 3.0 navrhla změny API.

Jak podpořit změnu API 3.0

Jak již bylo zmíněno, verze 3.0 se rozbije s QGIS verze 2.x a existuje možnost, že se rozbije mnoho pluginů, existujících aplikací a dalšího kódu založeného na aktuálním API. Co lze tedy udělat pro zmírnění změn? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias a další špičkoví vývojáři hledali způsoby, jak zmírnit počet změn přerušení API a zároveň pokračovat v rozšiřování základny kódů QGIS založené na nové generaci knihoven a vlastním interním API. Během našeho posledního zasedání řídícího výboru projektu QGIS jsme geofumed přes různé možnosti. Následující tabulka shrnuje to, co laskavě shrnul Matthias Kuhn a které jsme se v tomto článku částečně pokusili přepsat podle toho, co Jsou zveřejněny na svém blogu:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Datum vydání Konec února 4 2.14 měsíců ¿Cycle 8 měsíce?
Bankovky Aktualizace jádra QGIS Pythonu Python 3 být kompatibilní a podporuje PyQt5 (částečné provádění v klíčových funkcí, například konzole Python jádro zásuvné moduly atd)
Qt4 Si

Zastaralé v Debianu Stretch (splatná do roka)

(-webkit odstraněn)

Ano Ne
Qt5 Ne

Mine QWebView - nový náhradní ne na všech platformách. Také mine QPainter Engine.

Si Si
PyQt4 Si Si Ne
PyQt5 Ne Si Si
Python 2 Si Si Ne
Python 3 Ne Si Si
Vyčištění API Ne Ne Si
Ovíječky
PyQt5 -> PyQt4
~ 90% zajišťuje zpětné kompatibility
Ne Si Si
mainstream Binary založené Qt4 založené Qt4 založené Qt5
priorita financování python obaly

Existují dvě důležité věci o návrhu Matthias:

V první fáziPráce se provádí v sérii k dokončení 2.x podpory QT5, PyQt5 pomocí Python 3.0, podporující Qt4, PyQt4 a Python 2.7. To znamená, že všechny změny provedené v první etapě by být kompatibilní s předchozími verzemi 2.x. Python funkce budou začleněny bude zaveden tak, že stará API PyQt4 lze používat i nadále, zejména při kompilaci proti QT5, PyQt5, Python 3.0. Pomocí QGISu zkompilované proti Qt4, PyQt4 a Python 2.7 by nezlomí kompatibilitu.
Ve druhé fáziTo bude pracovat pro výrobu QGIS 3.0, zavedení nové API, zcela odstranit Python 2.7, včetně podpory Qt4 a PyQt4. Nové funkce v pythonu vstupující do první fáze bude zachována, s přihlédnutím ke všem Python kód a vývoj pro 2.x verze QGISu pokračovat v práci na verzích 3.x QGISu. Tato fáze se také očekává, že zavedení změn v QGIS API, které se mohou vyskytnout problémy s pluginy. S cílem řešit tento bude vodítkem aa migrace ve snaze usnadnit přechod verzí 2.x QGIS 3.x QGIS verze.

Bez záruky

Existuje několik triků, které mají být požádáni, aby zajistila, že migrace do QGIS 3.0 znít méně bolestivé.

  • 1. SJe třeba poznamenat, že i když se výše uvedený přístup snaží minimalizovat množství práce na skriptování v pythonu v zásuvných modulech, nemusí to nutně být 100%. S největší pravděpodobností budou případy, kdy bude nutné kód vylepšit, a přinejmenším ve všech případech bude pravděpodobně nutné jej revidovat, aby bylo zajištěno jeho správné fungování.
    2. Neexistuje žádný formálně stanovený finanční zdroj, který by platil vývojářům, kteří dobrovolně investují svůj čas do tohoto procesu migrace. Z tohoto důvodu bude velmi obtížné stanovit přesné časové rámce, jak dlouho bude každá část procesu trvat. Tuto nejistotu je třeba zohlednit při plánování. Dary jsou samozřejmě vítány, aby se tak stalo.
    3. Mohou existovat vývojáři a instituce, které financují nové funkce pro řadu QGIS 2.x, což může ovlivnit vaši práci. Je nutné zahrnout do plánů a rozpočtů těchto projektů určitou alokaci na přechod na platformu QGIS 3.x.
    4. Pokud tým QGIS pracuje na „totální změně“, bude relativně krátká doba, během které bude QGIS nestabilní a neustále se měnící kvůli probíhajícím aktualizacím QGIS 3.0.
    4. Pokud vyvíjíte „evolučním“ způsobem, riskujete, že vývoj 3.0 může trvat déle, pokud na něm nepracuje loajální skupina vývojářů a nepřipravují jej na port.

    návrhy

S ohledem na všechny výše uvedené údaje, jeden ze dvou směrů činnosti jsou navrženy:

1 návrh:

Vydejte provizorní verzi 2.16 a poté začněte prioritně pracovat na verzi 3.0 s vývojovým oknem 8 měsíců. Změny provedené ve verzi 2.16 budou usilovat o kompatibilitu s verzí 3.0 (viz python3 / pytq5).

2 návrh:

Skákání jednou 3.0 s více prodlouženou dobu oknem QT5, Python 3.0 a PyQt5 a požádejte vývojáře, aby dělat svou práci v 3.0. Pokračujte 2.x verzích s obvyklou frekvencí až 3.0 je připraven.

alternativní návrhy

Máte alternativní návrh? QGIS má zájem vědět o možných alternativách. Pokud chcete podat návrh, pošlete prosím na adresu Tim@qgis.org s předmětem „Návrh QGIS 3.0“.

By měl následovat QGIS blogOdkud přišla tato publikace.

Golgi Alvarez

Spisovatel, výzkumník, specialista na modely hospodaření s půdou. Podílel se na konceptualizaci a implementaci modelů jako: Národní systém správy majetku SINAP v Hondurasu, Model hospodaření společných obcí v Hondurasu, Integrovaný model správy katastru - Registr v Nikaragui, Systém správy území SAT v Kolumbii . Editor znalostního blogu Geofumadas od roku 2007 a tvůrce Akademie AulaAGEO, která zahrnuje více než 100 kurzů na témata GIS - CAD - BIM - Digitální dvojčata.

Související články

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Také si přečtěte
zavřít
Tlačítko Nahoru