A QGIS 3.4 LTR változásnaplója

image0

Release date: 2018-10-26

A QGIS 3 első hosszútávú kiadása (LTR) a QGIS 3.4 most megjelent. Öt konszolidációs pont kiadás után(3.4.5) lecseréli a korábbi LTR-t csomag tárházakban 2019 februárban (lásd a kiadási tervet). Egy egy gigantikus előrelépés a projektben - az első hosszútávú kiadás, mely 3.x platformon. A 2.18-as LTR-ből áttérő felhasználók számára az új LTR-verzióban új funkciók és változások hatalmas listája található. Kérjük ne feledkezzen meg róla, hogy a 3.x modulok inkompatibilisek 2.x modulokkal, nézze át körültekintően a modulok használatát - és ha lehetősége van rá segítse a régi modulok migrációját az új platformra. Ha még eddig még nem tette meg vessen egy pillantást a 3.0 verzió és a 3.2 verzió változásnaplójára, hogy megértse a változások teljes körét a 3.4 verzióban.

Köszönet

Köszönetet szeretnénk mondani a fejlesztőknek, a dokumentáció készítőknek, a tesztelőknek és sokaknak akik önként felajánlták az idejüket és erőfeszítésüket (vagy adományt adtak, hogy mások tegyék). A QGIS közösség nevében reméljük élvezni fogja ezt a kiadást! Ha idővel, pénzzel vagy más módon támogatást akar nyújtani, hogy a QGIS-t még fantasztikusabbá tegyük, kérjük nézze meg a qgis.org oldalt és segítsen!

QGIS is supported by donors and sustaining members. A current list of donors who have made financial contributions large and small to the project can be seen on our donors list. If you would like to become an official sustaining member, please visit our sustaining members page for details. Supporting QGIS helps us to fund our six monthly developer meetings, maintain project infrastructure and fund bug fixing efforts. A complete list of current supporters is provided below - our very great thank you to all of our supporters!

A QGIS szabad szoftver és semmi sem kötelezi arra, hogy fizessen használatáért. Valójában a QGIS használatára bátorítjuk az embereket, legyenek bárhol a világon, pénzügyi és társadalmi helyzettől függetlenül. Hiszünk benne, hogy térbeli döntéstámogatási eszközök biztosítása jobb társadalmakat eredményez az emberiség egészének hasznára.

image1

Általános

Funkció: Flatpak

A QGIS most elérhető mint egy flatpak alkalmazás a flathub-on. A flatpak (korábban xdg-app) egy segédprogram szoftver telepítéshez, csomag kezeléshez és alkalmazás virtualizációhoz asztali Linux számítógépeken. Lehetővé teszi a felhasználóknak, hogy különböző QGIS verziókat telepítsenek Linux-on, anélkül hogy újra fordítanák vagy Dockert használnának. Ez egy teljes csomag, az összes könyvtárat tartalmazza és saját felhasználói profil elhelyezést használ. Némi szabad háttértárra és új szokásokra lesz szüksége a flatpak-kel dolgozáshoz, de megéri!

image28

Ezt a funkciót támogatta Aleix Pol

Ezt a funkciót fejlesztette Aleix Pol

Funkció: SVG fájlok beágyazhatók a projektekbe és a szimbólumokba

Lehetővé teszi a jelrendszerben, címkékben, stb. használt SVG képek közvetlen beágyazását a projekt fájlba (vagy QML stílusba vagy QPT nyomtatási sablonba), az svg szabványos base64 kódolású szöveglánccá kódolásával.

Továbbá a beágyazott fájlok kinyerhetők a projektből és a szimbólumokból és lementhetők a háttértárra mint SQV fájlok.

Ezt a funkciót támogatta SMEC/SJ

Ezt a funkciót fejlesztette: Nyall Dawson

Funkció: OpenCL alapú gyorsítás

Ezt a funkciót támogatta a QGIS.org

Ezt a funkciót fejlesztette: Alessandro Pasotti

Kifejezések

Funkció: Új kifejezés függvények és változók

Sok új kifejezés függvényt adtunk a QGIS 34-hez. Ezek közé tartozik a tömbök és szótár objektumok kezelésére szolgáló sok hasznos függvény.

  • json_to_map: JSON kódólt szöveg konvertálása szótár típusú objektummá

  • map_to_json: Egy szótár konvertálása JSON kódolt szöveggé

  • hstore_to_map: hstore érték átalakítása egy térkép (szótár) típusú objektumba

  • map_to_hstore: Egy szótár típusú objektum konvertálása hstore értékké

  • array_foreach: Cilus egy tömbön és minden elemre végrehajt egy kifejezést a tömb minden egyes elemére és egy új tömböt ad vissza, amely minden számított értéket tartalmaz

  • array_filter : Egy tömb szűrése egy kifejezéssel

  • raster_value: Egy megadott pontban a raszterből vett értéket adja vissza

  • to_dms: Egy numerikus értéket fok, perc, másodperc alakú szöveggé konvertál

  • to_dm: Egy numerikus értéket fok, perc alakú szöveggé konvertál

  • line_substring: Visszaadja a vonal (vagy görbe) geometria azon részét, ami a meghatározott kezdő és záró távolság (a vonal kezdőpontjától mérve) közé esik. A Z és M koordináták lineárisan interpolálva a lesznek a létező értékekből.

  • generate_series(start,stop,step): Létrehoz egy számsorozatot tartalmazó tömböt.

Emellett néhány új változó is elérhetővé vált a QGIS kifejezésekben való felhasználásra:

  • @canvas_cursor_point: Egy olyan pontértéket tartalmaz, ami az egérmutató aktuális pozícióját jeleníti meg a fő térkép vásznon belül

  • @map_layers: Az összes olyan réteg tömbjét tartalmazza, amelyek a térképen láthatóak

  • @map_layer_ids: Az összes olyan réteg azonosítóinak tömbjét tartalmazza, amelyek a térképen láthatóak

image2

Ezt a funkciót fejlesztette: Etienne Trimaille, Matteo Ghetta, Matthias Kuhn, Mathieu Pellerin, Nyall Dawson

Funkció: Kód kiegészítés a kifejezés szerkesztőhöz

Automatikus kód kiegészítés a kifejezés szerkesztőben.

  • A változók, a függvény nevek és a mezők nevei automatikusan megjelennek és beszúródnak a kifejezések írásakor

  • A függvény paraméterek megjelennek a kitöltésük közben

image3

Ezt a funkciót támogatta: OPENGIS.ch

Ezt a funkciót fejlesztette: Matthias Kuhn (OPENGIS.ch)

Térkép eszközök

Funkció: Elemek azonosítása vagy kiválasztása egy létező felület alapján

Gyakran hasznos a meglévő felület által lefedett elemek kiválasztása/azonosítása. Ehhez a felhasználók az „Elemek kiválasztása felülettel” és az „Elemek azonosítása felülettel” eszközöket használhatták, de manuálisan kellett nyomon követni az érdekelt felületet. Ez az új funkció lehetővé teszi a felhasználó számára, hogy a jobb egérgombbal rákattintson a térképre, és kiválasszon egy meglévő felület elemet az adott helyen a felugró menüből - ez a felület lesz használva inputként a kiválasztáshoz vagy az azonosításhoz.

image4

Ezt a funkciót támogatta: Leicestershire Megyei Tanács

Ezt a funkciót fejlesztette: Peter Petrik (Lutra Consulting)

Felhasználói felület

Funkció: Exportált fájlok automatikus kiválasztása a fájlkezelőben

Amikor egy üzenetsáv elem hivatkozik egy létrehozott fájlra (például egy elrendezés vagy térképréteg exportálása után), a hivatkozás most közvetlenül megnyitja a fájlt tartalmazó mappát az operációs rendszer fájlböngészőjében ÉS előre kiválasztja a létrehozott fájlt. Ez egy rendkívül praktikus gyorsbillentyű, ami felgyorsítja a fájl műveleteket a QGIS-ből történő exportálás után!

image5

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: Új „Könyvtár megnyitása” beállítás a letiltott projektekhez az üdvözlő oldalon

Ez az új lehetőség az üdvözlőoldalon található a letiltott projekteknél a jobb gombbal elérhető környezeti menüben, ami lehetővé teszi a felhasználók számára, hogy megnyissák a legközelebbi elérési utat az eredeti projekt helyhez a fájlkezelőben, remélhetőleg segítve a hiányzó/áthelyezett/átnevezett projektek megtalálásában.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: UX fejlesztések az ideiglenes munka rétegekhez

A QGIS-ben az ideiglenes munka rétegek nagyon hasznosak lehetnek, ha „eldobható” rétegre van szükség, például az adatok több lépésben történő előfeldolgozásakor. Azonban ezek csapdák lehetnek az egyszeri felhasználók számára, akik esetleg nem veszik észre, hogy a réteg tartalmát véglegesen elveszítik, amikor az aktuális QGIS projektet bezárják. Ennek megfelelően egy új mutató ikon került hozzáadásra, ami a réteg fában az ideiglenes munka rétegek mellett jelenik meg, így azonnal kiderül, hogy mely rétegek ideiglenesek.

Ezenkívül sokkal könnyebb az ideiglenes rétegeket különböző formátumokban a lemezre elmenteni. Kattintson az új jelző ikonra, vagy válassza a „Átalakítás megmaradóvá” lehetőséget a réteg környezeti menüjéből. A QGIS ezután rákérdez a helyre, ahová az ideiglenes réteget menteni kell, majd helyben lecseréli azt (megőrizve ugyanazt a réteg azonosítót, stílust, űrlap beállításokat stb.).

image6

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: Feladatkezelő fejlesztések

A QGIS feladatkezelő vezérlő (ami az állapotsorban jelenik meg, ha egy háttérfeladat fut) most megjeleníti a hátralévő időt és a befejezési időt a hosszú futásidejű feladatok esetén. Ez a becsült befejezési idő egy egyszerű lineáris interpoláció segítségével lesz számítva, a feladat eltelt idejére és az aktuális haladásra alapozva, és lehetővé teszi a felhasználók számára, hogy megtudják mennyi idejük van hátra, hogy csak egy kávét készítsenek az irodai konyhában, vagy esetleg járják körbe az épületblokkot egy jó kávézóban készített koffeines ital kedvéért, amíg a hosszú futásidejű feldolgozási feladat befejeződik…

Emellett a QGIS 3.4 több platformon és alkalommal használja a szabványos operációs rendszer előrehaladási jelentési mechanizmusait. Néhány hosszan futó feladat (amelyek nem futnak a háttérben) esetén, mint például az atlasz exportálás, most az operációs rendszer mechanizmusán keresztül mutatják az előrehaladást, és hasznos befejezési értesítéseket dobnak fel.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: Stíluskezelő fejlesztések

A QGIS Stíluskezelő párbeszédablak (ami lehetővé teszi a felhasználók számára a saját szimbólum és színskála könyvtár beállítását és kezelését) most már nem modálisan nyílik meg, így most már használható a fő QGIS ablak mellett (éppen úgy, mint az Elrendezés kezelő és a Nyomtatási elrendezés tervező párbeszédablakok).

Továbbá javítottuk a szimbólumok előnézeti képeit a Rétegstílus dokkban, hozzáadva egy kapcsolót a nagy ikon nézet és a szimbólumok részletes lista nézet közötti váltásához. A szimbólumok (és a színek!) felett lebegő egérmutató megjeleníti a szimbólum nagy előnézetét. Végül, a szimbólum listákat átalakítottuk, hogy támogassák a magas képernyő felbontásokat .

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: Finomított böngésző panel felület és javított felhasználói élmény

Ezzel a kiadással hatalmas munka lett elvégezve a böngészőpanel felhasználói felületének és élményének javítása érdekében, beleértve a HiDPI javításokat, a tömörített vektor/raszter adathalmaz javításokat és egy frissített ikonkészletet.

Hozzáadtuk a funkcionalitást is, beleértve az új könyvtár létrehozását közvetlenül a böngésző környezeti menüjéből. A böngésző mostantól az SQL Szerver kapcsolatok esetén teljesebb beállítás tartományt jelenít meg, ami megegyezik a meglévő más adatbázis kapcsolatoknál elérhető beállításokkal.

image8

Ezt a funkciót fejlesztette: Mathieu Pellerin (iMHere Asia), Nyall Dawson (North Road)

Funkció: QML diagram és rajz vezérlő

A QGIS 3.4-ben új típusú vektor réteg vezérlő lett hozzáadva a grafikusan vonzó és interaktív elemekhez, mint például a diagramok vagy az műszaki rajzok megjelenítéséhez az attribútum űrlapon. A vezérlő rugalmas konfigurációt nyújt, beleértve példa sablonokat és a kifejezések támogatását.

image9

Ezt a funkciót támogatta: QGIS Projekt

Ezt a funkciót fejlesztette: David Signer és Matthias Kuhn (OPENGIS.ch)

Jelrendszer

Funkció: Háló réteg stílus beállítása

  • Adathalmazok hozzáadása a háló réteghez a tulajdonságok panelből

  • Információs és forrás panel a tulajdonságok panelen

  • Aktív adathalmaz kiválasztása (tulajdonságok vagy stílus panel)

  • Körvonalak/skalárok stílus beállítása (tulajdonságok vagy stílus panel)

  • Háló keret stílus beállítása (tulajdonságok vagy stílus panel)

  • Vektor nyilak stílus beállítása (tulajdonságok vagy stílus panel)

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Peter Petrik (Lutra Consulting)

Funkció: Szimmetrikus osztályozás a fokozatos megjelenítésnél

Ezt a funkciót támogatta: https://github.com/pierreloicq

Ezt a funkciót fejlesztette: https://github.com/pierreloicq

Funkció: Részleges QML exportálás és importálás

A .qml stílus fájlok exportálásakor és importálásakor mostantól ki lehet választani a szakaszok egy részhalmazát. Ez lehetővé teszi a réteg beállítások részeinek mentését és visszaállítását a többi elhagyásával. Például, lehetséges csak a réteg jelrendszer exportálása, és amikor a QML stílusfájlt egy réteghez importálja, akkor az nem érinti az űrlapok és vezérlők vagy más tulajdonságok beállításait. A másolás/beillesztés használata esetén is lehetséges egy-egy stílus szakasz kezelése.

image10

Ezt a funkciót támogatta: qwat group

Ezt a funkciót fejlesztette: Denis Rouzaud (OPENGIS.ch GmbH)

Digitalizálás

Funkció: GPS nyomkövetés fejlesztések

A QGIS 3.4 verzióban ki lett bővítve a beépített GPS nyomkövetési támogatás, hozzáadva a „rögzítési időköz” és a „távolság küszöb” paramétereket. Ezek a beállítások használhatók a kurzor statikus tartására, amikor a vevő statikus állapotban van.

Ezt a funkciót támogatta: Andrea Rossi

Ezt a funkciót fejlesztette: Andrea Rossi

Funkció: Több szög választható a bővített digitalizálás dokkban

Több választási lehetőség lett hozzáadva, lehetővé téve a 5/10/15/18/22.5 fokhoz illesztést a szerkesztés közben.

image11

Ezt a funkciót támogatta: lbartoletti

Ezt a funkciót fejlesztette: lbartoletti

Funkció: A töréspont eszköz képes csak az aktuális réteggel dolgozni

Az új töréspont eszköz sokkal produktívabb. Az összes szerkeszthető réteg töréspontját egyszerre tudja mozgatni, ami nagyszerű a keresztező rétegek topológiájának megőrzéséhez. Számos alkalommal azonban sokan nem akarják az összes réteget egyszerre módosítani. Ehhez adtuk hozzá a töréspont térképeszköz változatát.

image12

Ezt a funkciót támogatta: Oslandia

Ezt a funkciót fejlesztette: Paul Blottiere (Oslandia)

Funkció: Vonal megfordítása térképeszköz hozzáadása

Egy régóta várt funkció! Nincs többé szükség külső modulra vagy algoritmusra a vonal irányának megfordításához!

image13

Ezt a funkciót támogatta: OSLANDIA

Ezt a funkciót fejlesztette: Loïc Bartoletti

Funkció: Geometria pontosság

A vektor rétegek pontosság tulajdonság beállítással rendelkeznek. A pontosság határozza meg, hogy a csomópontok helyét milyen pontosan kell elmenteni. Az új vagy szerkesztett geometriák minden csomópontja illesztve lesz ennek a felbontásnak a rácsához. A digitalizálás során a rács meg van jelenítve a felhasználónak segítségként.

image14

Ezt a funkciót támogatta: Solothurn kanton

Ezt a funkciót fejlesztette: Matthias Kuhn (OPENGIS.ch)

Funkció: Csomópont másolatok automatikus eltávolítása

Amikor a vektor rétegen egy geometria szerkesztés alatt áll vagy újat ad hozzá, akkor a QGIS képes automatikusan eltávolítani a csomópont másolatokat a geometriákból. Ez a beállítás finomhangolható a vektor rétegek digitalizálás fülén.

Ezt a funkciót támogatta: Solothurn kanton

Ezt a funkciót fejlesztette: Matthias Kuhn (OPENGIS.ch)

Funkció: Geometria érvényesség ellenőrzése

Minden egyes új vagy szerkesztett geometria érvényessége ellenőrizhető, ha ez a beállítás aktiválva van. Ez lehetővé teszi, hogy a QGIS a átláthatóan kommunikáljon felhasználóval, ha az aktuális szerkesztési munkamenet hibás geometriákat hoz létre.

image15

Ezt a funkciót támogatta: Solothurn kanton

Ezt a funkciót fejlesztette: Matthias Kuhn (OPENGIS.ch)

Funkció: Topológia ellenőrzése szerkesztés közben

A topológia ellenőrzés aktiválható a rétegen. Az újonnan hozzáadott vagy szerkesztett geometriákon végrehajtható a topológia ellenőrzés. Az ellenőrzés akkor lesz végrehajtva, amikor menti a réteget vagy rákattint a topológia ellenőrzés gombra a geometria ellenőrzés panelen.

Az alábbi ellenőrzések érhetőek el:

  • Hézagok

  • Átfedések

  • Hiányzó töréspontok a szomszédos felületeknél

Ez a geometria ellenőrző modul képességére épül, amit a Sourcepole valósított meg.

image16

Ezt a funkciót támogatta: Solothurn kanton

Ezt a funkciót fejlesztette: Matthias Kuhn (OPENGIS.ch)

Adatkezelés

Funkció: QGIS projektek fordítása

Mint a QGIS és a modulok, a projektek is Qt fordítási eljárásával fordíthatóak le. Ez azt jelenti, hogy a fordítást a Qt összeállított fordítási forrásfájlnak (.qm fájl) teszi megfelelővé. Amikor a felhasználó megnyit egy projektet, a QGIS ellenőrzi, hogy található-e egy .qm fájl ugyanabban a mappában, mint a .qgs fájl, aminek ugyanaz a neve, mint a .qgs fájlnak, és van-e hozzáfűzve egy nyelvkód, ami egy felhasználói nyelv utótag (a QGIS beállításaiban konfigurált nyelv). A fordítás létrehozásához a projektbeállításokban lehetőség van a .ts fájl létrehozására, ami a Qt Linguist program vagy a Transifex segítségével szerkeszthető.

További információk ebben a blog bejegyzésben

Ezt a funkciót támogatta: QGIS Felhasználói Csoport, Svájc és QGEP Project

Ezt a funkciót fejlesztette: David Signer (OPENGIS.ch)

Funkció: Az attribútum tábla dokkolási módjának váltása igény szerint

Egy gomb került hozzáadásra az attribútum tábla eszköztárához a dokkolt és az ablak üzemmód közötti váltáshoz. Korábban a felhasználóknak módosítaniuk kellett ezt a beállítást a beállítások párbeszédablakban, és meg kellett nyitniuk egy új táblát, hogy átkapcsolhassanak a dokkolt/nem dokkolt mód között, de így eléggé körülményes volt váltani a dokkolt/nem dokkolt módok között miután egy táblát már megnyitott…!

image17

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: Új keresés szűrő az összes réteg közti kereséshez

Egy új keresés szűrő lett hozzáadva, ami lehetővé teszi, hogy a felhasználó a projekt összes rétege közt keresni tudjon a réteg megjelenítés kifejezésével.

A szűrés elindítható az «af» előtag használatával, vagy alapértelmezetté tehető a QGIS beállításaiban -> Keresés -> Minden réteg eleme. A megjelenítés kifejezések a vektor réteg tulajdonságokban vannak meghatározva a megjelenítés fül alatt. Egy-egy réteg beállítható úgy, hogy ne lehessen bennük keresni, ez a Projekt tulajdonságok párbeszédablakban, a Adatforrás fül alatt tehető meg.

image18

Ezt a funkciót támogatta: Opengis.ch

Ezt a funkciót fejlesztette: Denis Rouzaud

Funkció: Nem eltávolítható (kötelező) rétegek kiemelve a rétegfában

Egy új állapotjelző „zárolt” ikon van megjelenítve minden olyan rétegnél, amely „kötelezőként” van megjelölve az aktuális projektben. Ez az ikon azonnali visszajelzést ad a felhasználónak, hogy a résztvevő réteget nem lehet eltávolítani a projektből.

A kötelező rétegek beállíthatóak a Projekt tulajdonságok párbeszédablakban, az Adatforrás fülön.

image19

Ezt a funkciót támogatta: Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) az ERIKUS projekten belül

This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia

Funkció: Raszter réteg hozzáfűzése egy létező GeoPackage adatbázisba

Amikor egy raszter réteget ment GeoPackage adatbázisba, akkor a réteget mostantól hozzá lehet fűzni egy létező fájlhoz.

image20

Ezt a funkciót támogatta: Borys Jurgiel

Ezt a funkciót fejlesztette: Borys Jurgiel

Űrlapok és Vezérlők

Funkció: „Adatlefúró” (kaszkád) űrlapok a QGIS Érték kapcsolat vezérlőben

Új képességek és logika érhető el a QGIS „Érték kapcsolat vezérlőben”, ami lehetővé teszi az összetett, dinamikus szűrők létrehozását a QGIS attribútum űrlapban. A képesség használható a QGIS-ben az „adatlefúró” űrlapok végrehajtásához, ahol egy mező elérhető értékei egy másik mező értékeitől függenek:

image21

Ezt a funkciót támogatta: QGIS felhasználók közösségi finanszírozása

Ezt a funkciót fejlesztette: Alessandro Pasotti (North Road mellett)

Térkép összeállítás

Funkció: 3D térkép elemek

Ez a funkció lehetővé teszi a felhasználóknak a saját 3D térkép nézeteik hozzáadását a nyomtatási elrendezéshez.

image22

Ezt a funkciót támogatta: QGIS felhasználók közösségi finanszírozása

Ezt a funkciót fejlesztette: Lutra Consulting

Feldolgozás

Funkció: Új „Szerkesztés helyben” mód

A nagy számú nagylelkű támogatónak köszönhetően <https://north-road.com/edit-features-in-place-using-qgis-spatial-operations-campaign/>`__, közösségi támogatás jóvoltából „helyben szerkesztés” módszert adtunk a Feldolgozáshoz a 3.4 verzióban. Amikor egy vektor érteg aktív és szerkeszthető, ez a módszer lehetővé teszi, hogy a felhasználók a kiválasztott algoritmust közvetlenül a réteg elemein hajtsa végre, helyben módosítva az attribútumokat és a geometriákat. Minden szerkesztést hozzá adjuk a réteg „szerkesztési pufferéhez”, így visszavonhatja és újra végrehajthatja a módosításokat az adatforrásba való mentés előtt.

For those power users who perform frequent data edits, this functionality is also exposed via QGIS 3.0’s “Locator bar” (that “type to locate” bar which sits in the bottom-left corner). Typing ‘ef’ (“edit features”) followed by the name of the corresponding operation allows you to perform the edits directly via the keyboard. E.g.

  • Select a bunch of line features

  • Press Ctrl + K (activates the locator bar)

  • Type “ef reverse”

  • Press enter – the selected line features will be reversed immediately!

image23

This feature was funded by Crowdfunding campaign

This feature was developed by North Road

Feature: Store models inside project

Some Processing models are so intrinsically linked to the logic inside a particular project that they have no meaning (or are totally broken) outside of that project (e.g. models which rely on the presence of particular map layers, relations, etc). Accordingly, from QGIS 3.4, Processing models can be stored inside QGIS project files. Any models stored within a project are made available as soon as that project is opened. This also avoids cluttering up the „global” model provider with models which make no sense, and makes it easier to distribute a single project all relevant models included.

Models are stored inside projects by clicking the new „Embed in Project” button in the Modeler dialog toolbar. Models can be removed from a project from the model’s right click menu in the toolbox.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: Sample Raster Values

A new algorithm was added for sampling raster layer values at point locations.

image24

This feature was funded by Faunalia

This feature was developed by Matteo Ghetta (Faunalia)

Feature: New «Raster pixels to polygons» algorithm

This algorithm converts a raster layer into a vector layer, with a polygon feature corresponding to each pixel from the raster and a single field containing the band value from the raster.

Ezt a funkciót támogatta SMEC/SJ

Ezt a funkciót fejlesztette: Nyall Dawson

Feature: K Means clustering algorithm

QGIS 3.4 adds a native „k-means clustering” algorithm. Based on a port of PostGIS» ST_ClusterKMeans function, this algorithm adds a new cluster ID field to a set of input features which identifies the feature’s cluster based on a k-means clustering approach. If non-point geometries are used as input, the clustering is based off the centroid of the input geometries.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: dbscan spatial clustering algorithm

This new native algorithm implements an optimised DBSCAN density based scanning cluster approach for clustering 2d point features.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: Improved algorithms

Some miscellaneous improvements to existing Processing algorithms include:

  • The Reverse line direction algorithm now works with MultiLineString geometry inputs

  • Extend lines: support for dynamic (data defined) start and end distances was added

  • Offset lines: support for dynamic offset distance was added

  • The Join by Field Value and Join by Location algorithms can now optionally export unmatched records

  • Join by Field Value also reports counts of matched/unmatched features

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: Filter Vertices by M and Filter Vertices by Z algorithms

Two new algorithms were added for filtering line/polygon vertices by their M or Z values. A minimum and maximum M/Z value can be entered, and if the vertices fall outside these ranges they will be discarded from the output geometry. Both the minimum and maximum filter values can also be data defined, so can vary per feature.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: „Array of Translated Features” algorithm

This new algorithm creates copies of features in a layer, by creating multiple translated (offset) versions of the feature. Each copy is displaced by a preset amount in the x/y/z/m axis.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: „Array of offset (parallel) lines” algorithm

This new algorithm creates copies of line features in a layer, by creating multiple parallel versions of each feature. Each copy is offset by a preset distance.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: Choice of units for non degree/unknown distances

When an algorithm has a distance parameter in meters/feet/etc (i.e. non-geographic distances), a combo box has been added allowing choice of the unit type.

(QGIS doesn’t (and should never) expose this for distances in degrees – it’s up to users in this situation to choose a suitable local projection and reproject their data to match.)

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson

Feature: „Drape features to z/m” algorithms

These two new algorithms can set geometry vertex z or m values to values sampled from a raster band. Values can optionally be scaled using a (data definable) scale value.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: „Raster pixels to points” algorithm

A new „pixels to points” algorithm was added in QGIS 3.4, which creates a point feature at the center of every pixel. nodata pixels are skipped.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: Line substring algorithm

This new, much-requested, algorithm returns the portion of a line (or curve) which falls between the specified start and end distances (measured from the beginning of the line). Z and M values are linearly interpolated from existing values.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: „Interpolate point on line” algorithm

This new algorithm creates a point geometry interpolated at a set distance along line (or polygon boundary) geometries. Curved input geometries are fully supported. Z or M values are linearly interpolated based on existing values.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: k-neighbour concave hull

This feature was funded by https://qgis.org

This feature was developed by Detlev Neumann, Rudi von Staden

Feature: Python scripts which implement algorithms now execute the algorithm on drag and drop and browser double click

When appropriate, scripts will now launch a processing algorithm dialog upon:

  • Dragging and dropping a Python script onto the main window

  • Using the browser panel’s right-click run script action

image25

Ezt a funkciót támogatta: iMhere Asia

Ezt a funkciót fejlesztette: Mathieu Pellerin

Feature: New GDAL’s rearrange band algorithm

A new GDAL provider «Rearrange band» algorithm was added to the processing toolbox. The algorithm allows to output rasters continuing a subset of a given input raster’s bands, and offers the possibility to re-order the bands.

image26

This feature was funded by iMHere Asia

Ezt a funkciót fejlesztette: Mathieu Pellerin

Feature: „Precalculated” values for model algorithm parameters

A new option is present for all parameters of using a „precalculated expression”. This expression is evaluated once before the child algorithm is executed and used during the execution of that algorithm.

This feature was funded by QGIS

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: „Categorize a layer using a style XML file” algorithm

This new algorithm sets a vector layer’s renderer to a categorized renderer using matching symbols from a style database.

A specified expression (or field name) is used to create categories for the renderer, with QGIS creating a category for each unique value within the layer. Each category is individually matched to the symbols which exist within the specified QGIS XML style database. Whenever a matching symbol name is found, the category’s symbol will be set to this matched symbol.

The matching is case-insensitive by default, but can be made case-sensitive if required. Optionally, non-alphanumeric characters in both the category value and symbol name can be ignored while performing the match. This allows for greater tolerance when matching categories to symbols.

If desired, tables can also be output containing lists of the categories which could not be matched to symbols, and symbols which were not matched to categories.

image27

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: New mode for Snap geometries algorithm

The new mode „Snap to anchor nodes (single layer only)” makes sure that any two vertices of the vector layer are at least at distance given by the threshold value.

This algorithm comes handy when doing vector overlay operations such as intersection, union or difference to prevent possible topological errors caused by numerical errors if coordinates are very close to each other. After running the algorithm some previously valid geometries may become invalid and therefore it may be useful to run Fix geometries algorithm afterwards.

Ezt a funkciót támogatta InaSAFE DFAT

Ezt a funkciót fejlesztette: Martin Dobias (Lutra Consulting)

Adatszolgáltatók

Feature: OAuth2 authentication method plugin

  • Supports authentication code, implicit and resource owner grant flows

  • Allows for preconfigured connections, read from default locations

  • Offers caching of access token beyond QGIS restarts

  • Save/load configurations

This feature was funded by Monsanto Company

This feature was developed by Larry Shaffer, Alessandro Pasotti

Feature: Mesh layer: New mesh layer format support

Mesh layers represent data on variable size grid with extra components (e.g. time and vector). With introduction of MDAL, users can load the following formats directly in QGIS and explore all other components:

  • GRIB

  • XMDF

  • Netcdf

image29

This feature was funded by Lutra Consulting

Ezt a funkciót fejlesztette: Lutra Consulting

Feature: Mesh layer: add function to identify value on mesh layers

With this API, developers can inspect mesh elements and fetch values spatially and temporally. As an example, you can create time series plot from your mesh layer.

image30

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Lutra Consulting

Feature: Mesh layer: allow to choose different vector and scalar dataset

A mesh layer often contains several quantities. For example a netcdf/grib can contain several meteorological quantities. Each quantity can also have multiple components. For example, wind data can contain speed (scalar) and values (grid). With this option, you can overlay scalar and grids from different quantities. In the image below, you can see temperature (grid) and wind (scalar).

image31

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Lutra Consulting

Feature: Mesh layer: allow render vectors/arrows on the user-defined grid

Scalar data are generated usually at the centre/corner of each mesh element. When displaying the scalar data, the arrows might look sparse and often not possible to see the general trend. With this option, arrows can be displayed on a user-defined grid. Extra scalar values will be interpolated on-the-fly and placed on the user-defined grid.

image32

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Lutra Consulting

Feature: JSON/JSONB Type support

The reading of PostgreSQL JSON types is supported. JSON Data can be displayed in the widgets as „Key/Value” (maps), as „List” (arrays) or as text.

image33

Ezt a funkciót támogatta: Solothurn kanton

This feature was developed by David Signer (OPENGIS.ch)

Feature: ESRI Token Authentication support

Support has been added to QGIS» Authentication system for ESRI’s temporary token based authentication. This allows for connection to ArcGIS Feature and Map Servers via an allocated temporary token.

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: SQL Server - Invalid geometry handling

Recent versions of QGIS have switched to a safer approach to reading SQL Server layers, which automatically checks for geometry validity and repairs geometries when needed. This workaround is required to avoid issues with the design of SQL Server’s geometry handling, where encountering any rows with invalid geometries can silently abort a request without returning all the features from a layer. Unfortunately, the workaround comes at a significant performance cost.

In QGIS 3.4 a new setting was added to allow users to manually turn off QGIS» SQL Server invalid geometry handling. Turning on the „Skip invalid geometry handling” setting under a SQL Server connection’s properties causes QGIS to skip all the expensive geometry validation processing, but firmly places the responsibility for ensuring that all features on the database have valid geometries back upon the user/database administrator. This is a „use at your own risk” setting. Improperly enabling this option can lead to missing features and data loss.

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

QGIS szerver

Feature: Server Cache can be manage by plugins

By default, QGIS Server only caches WMS GetCapabilities document in memory. With WMTS implementation, it is necessary to have a way to cache tiles. But the cache manager has not been developed to only cache tiles.

The cache manager plugin can be used to cache:

  • WMS, WFS, WCS, WMTS GetCapabilities dokumentumok

  • WFS DescribeFeatureType dokumentumok

  • WCS DescribeCoverage dokumentumok

  • WMTS GetTile képek

  • WMS GetLegendGraphic képek

Here is a python cache manager class, which do not verify if the QGIS project has changed:

class PyServerCache(QgsServerCacheFilter):

    """ Used to have cache control """

    def __init__(self, server_iface):
        super(QgsServerCacheFilter, self).__init__(server_iface)

        self._cache_dir = os.path.join(tempfile.gettempdir(), "qgs_server_cache")
        if not os.path.exists(self._cache_dir):
            os.mkdir(self._cache_dir)

        self._tile_cache_dir = os.path.join(self._cache_dir, 'tiles')
        if not os.path.exists(self._tile_cache_dir):
            os.mkdir(self._tile_cache_dir)

    def getCachedDocument(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))

        if not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
            return QByteArray()

        doc = QDomDocument(m.hexdigest() + ".xml")
        with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "r") as f:
            statusOK, errorStr, errorLine, errorColumn = doc.setContent(f.read(), True)
            if not statusOK:
                print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
                return QByteArray()

        return doc.toByteArray()

    def setCachedDocument(self, doc, project, request, key):
        if not doc:
            print("Could not cache None document")
            return False
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "w") as f:
            f.write(doc.toString())
        return os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))

    def deleteCachedDocument(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        if os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
            os.remove(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))
        return not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))

    def deleteCachedDocuments(self, project):
        filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
        for f in filelist:
            os.remove(os.path.join(self._cache_dir, f))
        filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
        return len(filelist) == 0

    def getCachedImage(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))

        if not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
            return QByteArray()

        img = QImage(m.hexdigest() + ".png")
        with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "rb") as f:
            statusOK = img.loadFromData(f.read())
            if not statusOK:
                print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
                return QByteArray()

        ba = QByteArray()
        buff = QBuffer(ba)
        buff.open(QIODevice.WriteOnly)
        img.save(buff, 'PNG')
        return ba

    def setCachedImage(self, img, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "wb") as f:
            f.write(img)
        return os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))

    def deleteCachedImage(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        if os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
            os.remove(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))
        return not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))

    def deleteCachedImages(self, project):
        filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
        for f in filelist:
            os.remove(os.path.join(self._tile_cache_dir, f))
        filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
        return len(filelist) == 0

And the way to add it to the QGIS Server cache manager.

servercache = PyServerCache(server_iface) server_iface.registerServerCache(servercache, 100)

Ezt a funkciót támogatta Ifremer

Ezt a funkciót fejlesztette: 3Liz

Funkció: WMTS 1.0.0 támogatás

QGIS Server 3.4 supports WMTS 1.0.0 OGC standard.

In QGIS project properties, the user can define:

  • which part of the project (all the project, layer groups or layers) has to be published through WMTS standard

  • the min scale of the tiles

QGIS Server reuse the CRS defined in the WMS for WMTS.

To manage the tile cache, a QGIS Server plugin with a QgsServerCacheFilter class has to be installed and loaded by QGIS Server.

image34

Ezt a funkciót támogatta Ifremer

Ezt a funkciót fejlesztette: 3Liz

Feature: Add ability to define min. scale for WMTS

This feature was funded by https://github.com/rldhont

Ezt a funkciót fejlesztette: https://github.com/rldhont

Feature: Support QGIS Server logs to stderr

It’s now possible to configure QGIS Server to make it write its logs to stderr. This is done by setting the QGIS_SERVER_LOG_FILE env var to the special value „stderr”.

Ezt a funkciót támogatta: OSLANDIA

This feature was developed by Eric Lemoine

Modulok

Funkció: titkosított zip-ek kezelése a Modulkezelőben

A Modulkezelő képes helyi zip fájlokból modulokat telepíteni, akkor is ha titkosított.

image35

Ezt a funkciót támogatta: Borys Jurgiel

Ezt a funkciót fejlesztette: Borys Jurgiel

Feature: Offline Editing GeoPackage

With the offline editing functionality it is possible to select whether the export should create a SpatiaLite or a GeoPackage file for offline usage.

Ezt a funkciót támogatta Oester Messtechnik

This feature was developed by David Signer (OPENGIS.ch)

Programozhatóság

Feature: QgsSpatialIndexKDBush

A very fast static spatial index for 2D points based on a flat KD-tree, using https://github.com/mourner/kdbush.hpp

Compared to QgsSpatialIndex, this index: - supports single point features only (no multipoints) - is static (features cannot be added or removed from the index after construction) - is much faster! - supports true „distance based” searches, i.e. return all points within a radius from a search point

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Funkció: QgsRasterDataProvider::sample metódus a hatékony raszter mintavételhez egy adott pontban

Ez egy alternatíva a QgsRasterDataProvider::identify metódushoz, mely kevésbé hatékony de erőteljesebb

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: New geometry API call to return a curve substring

New PyQGIS API has been added to make it easy to retrieve a substring from a LineString/Curve geometry:

QgsCurve::curveSubstring -  Returns a new curve representing a substring of a curve, from a start distance and end distance.

If z or m values are present, the output z and m will be interpolated using the existing vertices» z or m values. The method also handles curved geometries without loss or segmentation.

Ezt a funkciót támogatta: North Road

Ezt a funkciót fejlesztette: Nyall Dawson (North Road)

Feature: sip Module API Changes

Due to upstream changes within the PyQt/sip library, the recommended way to import this module has changed in QGIS 3.4. For maximum portability, instead of directly calling: import sip plugins should instead use: from qgis.PyQt import sip Using this newer style import will ensure that the code works correct across all platforms and remains functional in future QGIS versions.

Feature: Python vector data providers

Development of the API, a sample provider and tests allowing the creation of vector data provider in pure python.

image36

This feature was funded by Good will

Ezt a funkciót fejlesztette: Alessandro Pasotti

3D funkciók

Funkció: továbbfejlesztett navigáció

This will update camera’s view center as the camera moves around. Before the view center would be always at the zero elevation, which means that with terrain further away from zero elevation tilting and rotation of camera would feel weird due to the center point being far away.

Allow moving camera up/down using page up/down keys

Move camera keeping the position with Ctrl + arrow keys / mouse

image37

Ezt a funkciót támogatta: QGIS felhasználók közösségi finanszírozása

Ezt a funkciót fejlesztette: Martin Dobias (Lutra Consulting)

Funkció: animáció

You can create an animation based on a set of keyframes - camera positions at particular times. QGIS 3D then interpolates the camera positions/rotations in between the keyframes.

To create the keyframes, first set the scene for your map, by rotating, zooming or moving the camera. Then assign a time to the frame. There are several methods for interpolations between keyframes.

image38

Ezt a funkciót támogatta: QGIS felhasználók közösségi finanszírozása

This feature was developed by Martian Dobias (Lutra Consulting)

Feature: Simple rendering of 3D linestrings

This mode of 3D line rendering will use OpenGL line rendering instead of buffering lines into polygons and rendering them as meshes.

The advantage is that the 3D lines do not loose their Z coordinate which is the case currently with „ordinary” 3D rendering after buffering.

The disadvantage is that the lines cannot be wide (supported in Qt3D only since 5.10, but even then their rendering won’t have nice joins/caps) and only ambient color is used from the material.

image39

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Martin Dobias (Lutra Consulting)

Feature: Identification map tool for 3D views

A new Identify Tool was introduced to 3D map. Using this tool, you can inspect features from the 3D scene.

image40

This feature was funded by Department of Environment, Land and Infrastructure Engineering (DIATI)

This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia

Feature: Experimental Python API

Some classes from QGIS 3D have been made available for Python developers. It is now possible to query or change 3D renderers of map layers and read/write properties of contained 3D symbols such as material colors. Please note that for now the API is considered as experimental, so it may change in future 3.x releases.

Ezt a funkciót támogatta: Lutra Consulting

Ezt a funkciót fejlesztette: Martin Dobias (Lutra Consulting)