QGIS

QGIS 3.0 - miten, milloin ja mitä; se merkitsee

Monet kysyvät itseltään:

Milloin QGIS 3.0 vapautetaan?

Viime vuonna (2015) projektiryhmä alkoi tutkia, milloin ja miten QGIS 3.0 julkaistaan. He lupasivat sen mukaan Anita Graser, jonka he aikovat välittää selkeästi suunnitelmien käyttäjille ja kehittäjille ennen QGIS 3.0: n julkaisua. He ovat äskettäin yrittäneet esittää joitain näkökohtia QGIS 3.0 -julkaisulle, ja viestin lopussa meillä on mahdollisuus esittää ideoitamme.

Miksi 3.0?

QGis_LogoTyypillisesti pääversio on varattu aikoihin, jolloin ohjelmistosi sovellusliittymään tehdään suuri muutos. Tämä tauko ei ole triviaali päätös QGIS-projektille, koska olemme satoja tuhansia käyttäjiä, jotka ovat riippuvaisia ​​QGIS: stä, sekä omaan käyttöön että kolmansille osapuolille tarjottavien palvelujen osalta.

Sovellusliittymän rikkominen on ajoittain välttämätöntä, jotta arkkitehtuurin päivittäminen voidaan parantaa ja parempia lähestymistapoja, uusia kirjastoja ja aiempien päätösten korjauksia voidaan korjata.

Mitä seurauksia API: n rikkomisesta?

Yksi syy siihen, miksi tämä API: n rikkominen QGIS 3.0: ssa on, että sillä on suuri vaikutus, joka voi rikkoa satoja kehittyneitä laajennuksia, jotka eivät enää olisi yhteensopivia uuden API: n kanssa, ja näiden kirjoittajien olisi tehtävä tarkastele niiden kehitystä yhteensopivuuden varmistamiseksi uuden API: n kanssa.

Tarvittavien muutosten laajuus riippuu suurelta osin seuraavista seikoista:

  • Kuinka monta muutosta sovellusliittymään vaikuttaa nykyiseen toimintoosi.
    Kuinka monta pistettä plugin-kirjoittajat ovat käyttäneet sovelluksen osia, jotta ne muuttuisivat.
  • Mikä on tärkeimmät muutokset 3.0: lle?

3.0issa on neljä keskeistä aluetta, joita haluat muuttaa:

 

Qt4-päivitys QT5: Tämä on kirjastojen perusjoukko, jonka QGIS on rakennettu huipputasolle, puhumme alustan CORE-toiminnallisesta tasosta. QT tarjoaa myös kirjastoja muistinhallintaan, yhteystoimintoihin ja grafiikan hallintaan. Qt4:ää (johon QGIS tällä hetkellä perustuu) eivät tällä hetkellä kehitä Qt-kirjastojen ylläpitäjät, ja sillä voi olla toiminnallisia ongelmia joidenkin alustojen (esim. OS X) kanssa ja jopa helpottaa binääriversioiden hallintaa (esim. Debianin testaus ja seuraava Debian-julkaisu "Venyttää"). QGIS:n tuomisessa QT5:een on jo tärkeä edistysaskel (pääasiassa se, mitä Matthias Kuhn on tehnyt), että yhdessä Marco Bernasocchin kanssa poltetaan täysin QT5:een perustuvaa Android "QFieldia". Uuden QT5:n käyttöönotossa on kuitenkin joitain rajoituksia, koska se vaikuttaa QGIS:ään – erityisesti verkkoselainwidgeteissä (käytetään pääasiassa Composerissa ja myös muutamissa paikoissa QGIS:ssä).

Päivitä PyQt4 PyQt5: Nämä ovat Qt: n python-kielen muutokset, joihin QQL: n Python-API perustuu. QT5 C ++ -kirjaston muuttamista ehdotetaan, mutta Python-kirjastoa odotetaan myös siirtävän PyQt5-ohjelmaan siten, että uuden QT5 API: n etuja voidaan hyödyntää.
Python 2.7in päivittäminen Python 3: Tällä hetkellä kaikki toimii Python 2.7: llä. Python 3 on uusin python-versio, jota projektin johtajat suosittelevat. Python 2 on hieman yhteensopimaton Python 3: n kanssa (melkein verrannollinen QGIS 2: n ja Qgis 3: n väliseen yhteensopimattomuuteen). Monet kehittäjät ovat tehneet python Python 3: sta suurimmaksi osaksi taaksepäin yhteensopivan Python 2: n kanssa, mutta taaksepäin yhteensopivuus ei ole niin suuri.
QGIS API: n kehittäminen itse: Yksi versioiden välisen API-yhteensopivuuden ylläpitämisen ongelmista on se, että sinun on elettävä suunnitteluvalintojen kanssa pitkällä aikavälillä. QGIS pyrkii kaikin keinoin välttämään API:n rikkomista useissa pienissä julkaisuissa. Julkaisemalla QGIS-version 3.0:lle sovellusliittymällä, jota ei tällä hetkellä tueta, voimme "siivota talon" korjaamalla API:ssa asioita, joita emme ole yhteensopivia. Näet alustavan luettelon 3.0-sovellusliittymälle ehdotetut muutokset.

Miten tuetaan 3.0-sovellusliittymän muuttamista

Kuten jo mainittiin, versio 3.0 rikkoo QGIS-versiota 2.x ja on mahdollista, että monet laajennukset, olemassa olevat sovellukset ja muut nykyiseen sovellusliittymään perustuvat koodit hajoavat. Joten mitä voidaan tehdä muutosten lieventämiseksi? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias ja muut huippukehittäjät ovat etsineet tapoja lieventää API-katkeamisten määrää samalla kun jatkoivat QGIS-koodikannan kehittämistä, joka perustuu seuraavan sukupolven kirjastoihin ja sen omaan sisäiseen sovellusliittymään. Viimeisimmässä QGIS-projektin ohjauskomitean kokouksessa kartoitimme erilaisia ​​mahdollisuuksia. Seuraava taulukko esittää yhteenvedon siitä, mitä Matthias Kuhn tiivisti ystävällisesti ja jota olemme osittain yrittäneet translitteroida tässä artikkelissa sen mukaan, mitä Lähetetty blogiin:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Julkaisupäivämäärä Helmikuun lopussa 4 kuukautta myöhemmin 2.14 Sykli 8 kuukausia?
Viesti QGIS-ytimen python-koodin päivittäminen Python 3 -yhteensopivaksi ja PyQt5-yhteensopiva (osittainen toteutus avaintekijöille, kuten konsoli, python-ytimen laajennukset jne.)
Qt4 Si

Epäonnistunut Debian Stretchissä (erääntyy vuodessa)

(Webkit poistettu)

Kyllä Ei
Qt5 Ei

Missing QWebView - uusi korvaus ei ole kaikilla alustoilla. Myös QPainter-moottori puuttuu.

Si Si
PyQt4 Si Si Ei
PyQt5 Ei Si Si
Python 2 Si Si Ei
Python 3 Ei Si Si
API-puhdistus Ei Ei Si
kääreet
PyQt5 -> PyQt4
Tarjoaa ~ 90% taaksepäin yhteensopivuuden
Ei Si Si
Mainstream Binary Qt4-pohjainen Qt4-pohjainen Qt5-pohjainen
Rahoituksen etusija Python kääreitä

Matiasin ehdotuksesta on pidettävä mielessä kaksi tärkeää asiaa:

Ensimmäisessä vaiheessaTyö tehdään sarjassa loppuun 2.x tukea QT5, PyQt5 Python 3.0, tukemalla Qt4, PyQt4 ja Python 2.7. Tämä tarkoittaa, että kaikki muutokset ensimmäisessä vaiheessa olisivat yhteensopivia aikaisempien 2.x-versioiden kanssa. Python toiminnot sisällytetään otetaan käyttöön siten, että vanha API PyQt4 voidaan edelleen käyttää erityisesti silloin, kun laaditaan vastaan ​​QT5, PyQt5, python 3.0. Käyttämällä QGIS koottu vastaan ​​Qt4, PyQt4 ja Python 2.7 ei saa hajota yhteensopivuutta.
Toisessa vaiheessaSe toimisi tuottaa QGIS 3.0, esittelemme uuden API, kokonaan poistaa Python 2.7, mukaan lukien tuki Qt4 ja PyQt4. Uusia ominaisuuksia python tulevat ensimmäisessä vaiheessa säilyy, kun otetaan huomioon kaikki python koodia ja kehitystyötä 2.x versioita QGIS jatkaa työtä 3.x versioissa QGIS. Tässä vaiheessa odotetaan myös käyttöön muutoksia QGIS-sovellusliittymään, joka voi rikkoa joitakin laajennuksia. Tämän ongelman ratkaisemiseksi tarjoamme siirtymisen oppaan, jotta voimme helpottaa siirtymisprosessia 2.x QGIS -versioista 3.x QGIS-versioihin.

Varoittajat

On olemassa muutamia temppuja, jotka olisi otettava käyttöön varmistaakseen, että siirtyminen QGIS 3.0 -järjestelmään ei ole yhtä tuskallista.

  • 1. SOn huomattava, että vaikka edellä esitetty lähestymistapa yrittää minimoida python-komentosarjojen työn määrän laajennuksissa, tämä ei välttämättä ole 100%. Todennäköisesti joissakin tapauksissa koodia on muutettava ja ainakin kaikissa tapauksissa sitä on todennäköisesti tarkistettava sen varmistamiseksi, että se toimii edelleen oikein.
    2. Ei ole virallisesti vahvistettua taloudellista resurssia kehittäjille, jotka vapaaehtoisesti käyttävät aikansa tähän siirtoprosessiin. Tämän vuoksi on hyvin vaikeaa antaa tarkkoja aikatauluja kuinka kauan prosessin jokainen osa kestää. Tämä epävarmuus on otettava huomioon suunnittelussa. Tietenkin lahjoitukset ovat tervetulleita auttamaan tämän toteuttamisessa.
    3. Siellä voi olla kehittäjiä ja instituutioita, jotka rahoittavat QGIS 2.x -sarjan uusia ominaisuuksia, ja tämä voi vaikuttaa työhösi. Näiden hankkeiden suunnitelmiin ja budjetteihin on sisällytettävä tietty määräraha, jotta voidaan siirtyä QGIS 3.x -alustalle.
    4. Jos QGIS-tiimi työskentelee "totaalisen muutoksen" parissa, on suhteellisen lyhyt aika, jonka aikana QGIS on epävakaa ja muuttuu jatkuvasti QGIS 3.0:n jatkuvan päivityksen vuoksi.
    4. Jos kehität "evolutionaarisella" tavalla, olet vaarassa, että 3.0:n kehitys saattaa kestää kauemmin, ellei sinulla ole uskollinen ryhmä kehittäjiä, jotka työskentelevät sen parissa ja valmistelevat sitä portaamiseen.

    ehdotukset

Kaikkien edellä mainittujen tietojen perusteella ehdotetaan kahta toimintalinjaa:

1-ehdotus:

Julkaise väliaikainen versio 2.16 ja aloita sitten version 3.0 käyttö etusijalla 8 kuukauden kehitysikkunalla. Versiossa 2.16 tehdyt muutokset pyrkivät olemaan yhteensopivia version 3.0 kanssa (katso python3 / pytq5).

2-ehdotus:

Juoksutus kerran 3.0 entistä pitkäkestoisina ikkuna QT5, Python 3.0 ja PyQt5 ja pyytää kehittäjät tekemään työnsä 3.0. Jatka 2.x-versiota säännöllisin väliajoin, kunnes 3.0 on valmis.

Vaihtoehtoiset ehdotukset

Onko sinulla vaihtoehtoinen ehdotus? QGIS on kiinnostunut tietämään mahdollisista vaihtoehdoista. Jos haluat lähettää ehdotuksen, lähetä se osoitteeseen tim@qgis.org aiheella "QGIS 3.0 -ehdotus".

Tulisi noudattaa QGIS-blogi, Mistä tämä julkaisu tuli ulos.

Golgi Alvarez

Kirjailija, tutkija, maanhoitomallien asiantuntija. Hän on osallistunut muun muassa seuraavien mallien konseptointiin ja käyttöönottoon: National System of Property Administration SINAP Hondurasissa, Hondurasin kuntien hallintomalli, Kiinteistöhallinnon integroitu malli - Rekisteri Nicaraguassa, SAT-alueen hallintojärjestelmä Kolumbiassa . Geofumadas-tietoblogin toimittaja vuodesta 2007 ja AulaGEO Academyn luoja, joka sisältää yli 100 kurssia GIS - CAD - BIM - Digital Twins -aiheista.

Aiheeseen liittyvät artikkelit

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Takaisin alkuun -painiketta