Jag har inte haft tid att jobba med QGIS speciellt mycket den senaste tiden, vilket inte minst gjort att jag inte riktigt hängt med i svängarna när det gäller nya funktioner i QGIS. I och med releasen av 3.38 noterade jag däremot något som för mig kommer att vara väldigt användbart, som kan vara värt att titta närmare på.
Det är en så pass viktig funktion för mig att jag tidigare skapat ett plugin för att ge mig tillgång till verktygen i QGIS.
Det handlar om ett enkelt sätt att filtrera höjddata, och då framför allt punktmolnsdata efter höjdvärde.
Mitt plugin (Point Cloud Filter Slider, ovan) är ett mycket enkelt plugin som använder den inbyggda filterfunktionen för ett lager och som med två reglage gör det möjligt för mig att ”skära” ett punktmoln efter godtyckligt attribut. Normalt är det alltid höjd jag är intresserad av, men i praktiken är det just ett attribut som det filtrerar på. Det går därför att använda sliders på valfritt annat kompatibelt attribut om man nu skulle vilja det.
Funktionen kan sedan användas för att exempelvis digitalisera byggnader betydligt enklare än om man har hela punktmolnet ofiltrerat. Det går att filtrera manuellt, men med detta plugin kan jag enkelt justera filtergränserna medan jag jobbar.
Det uppstår ett problem när jag har data som täcker ett stort intervall med värden då det inte går att göra filterurvalet hur litet som helst i det grafiska gränssnittet. Men med den nya funktionen som nu finns i 3.38 så kommer jag inte längre att behöva mitt plugin, samtidigt som problemet med små intervall kan hanteras.
För alla lager med höjddata (behöver ”aktiveras” i lageregenskaperna för rasterdata, under ”Elevation”) så kan man använda en ”Elevation Controller” som är ett reglage med liknande funktionalitet som mitt plugin, fast mycket bättre…
Som standard sätts reglagets ändlägen till 0 och 100, vilket kanske borde kunna sättas till det aktuella lagrets min/max i stället, men det är enkelt att justera detta i inställningarna (lilla knappen med kugghjul över reglaget). Ändlägen är sedan min/max på reglaget och min/max i datasetet skrivs ut vid reglaget om de finns inom det angivna intervallet (i alla fall för de punktmolnsdata jag testar med).
Intervall och ”filter” regleras sedan med två handtag på reglaget. Det går att justera dessa individuellt, men det går även att flytta intervallet i sin helhet längs reglaget.
Är man bara intresserad av ett mindre intervall kan man begränsa urvalet till just detta, och därmed få högre ”upplösning” i reglagets rörelse.
Jag skriver sedan ”filter”, just för att jag inte tror att verktyget använder den inbyggda filterfunktionen på samma sätt som jag gör i mitt plugin. Här fungerar det mycket mera sömlöst och snyggt. Nästan helt utan fördröjning (beroende på data). Dessutom så appliceras ”filtret” på projektet som helhet och inte enskilda lager. Alla lager med höjddata, som standard eller aktiverat i lagerinställningarna, hanteras av reglaget.
Det lilla problem jag haft är att data inte renderas alls när man aktiverar verktyget. Det beror sannolikt på att defaultvärden inte passar med datavärden. Ställ bara in ett rimligt intervall och ”uppdatera” kartan (knappen ”Refresh” eller F5).
Skulle önskat intervall vara svårt att ställa in med reglagen går det att ange ett fast intervall som inte kan ändras med reglagen. Detta gör det möjligt att använda även ett mycket litet intervall på en skala som är väldigt stor.
Det vore nu trevligt med lite förbättringar av verktyget också. Det är redan fantastiskt mycket bättre än mitt eget plugin, men det finns potential att bli ännu bättre. För det första bör omfånget på reglaget automatiskt ställas in på ett valt lagers min/max första gången man använder verktyget (”Set elevation range to selected layer min/max”).
För det andra vore det bra om man kunde skala om min/max i omfånget efter aktuella reglagepositioner (”Set elevation range to current slider values”). Tänk dig att reglagen är min/max efter datavärden. Justera min/max till det område du är intresserad av och med ett klick så sträcker du sedan ut hela intervallet till dessa värden. Samtidigt så bör det gå att ”nollställa” intervallet till min/max för data, även det med ett knapptryck.
Då återstår det bara att kika närmare på alla andra nya funktioner som jag missat de senaste versionerna av QGIS…