Aggregering är kort och gott ”sammanslagning”. Innebörden kan däremot betyda mycket mera. Inom GIS så kanske det används mest för att reducera komplexitet i data så att en karta inte blir ”kluddig”, men begreppet används även i QGIS för att slå samman olika texter till en textsträng som kan hanteras på ett enklare sätt.
Ett sätt att aggregera är att använda klustring. I QGIS kan man aktivera klustring för exempelvis punkter.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-4-1024x693.png)
Beroende på inställningar så samlas närliggande geometrier i en gemensam punkt och ges ett utseende baserat på hur många punkter som är samlade.
Det går att ”klustra” även andra geometrier, exempelvis polygoner. Ett exempel är byggnader.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-5-1024x509.png)
I större skala så är en byggnadspolygon det som beskriver en samling byggnader på ett tydligt sätt, men när man minskar skalan så kan det snabbt bli otydligt. Då kan det i stället vara bättre att representera byggnaderna med punktsymboler, lite beroende på hur stor byggnaden är.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-6-1024x559.png)
Genom att lägga till ett symbollager som använder en geometrigenerator och centroiden för polygonerna med den lämplig symbol, så kan man dynamiskt växla mellan polygon och punkt med ett uttryck för symbollagrets synlighet. I det här fallet så visas punkterna om skalan är större än byggnadens area i kvadratmeter. Här kan man justera och vrida och vända på beräkningen så att växlingen sker där man önskar det. Fördelen med att göra så här i stället för att växla alla byggnader samtidigt är att de största byggnaderna, som kanske är enklast att känna igen och orientera sig efter är synliga i lite större skalor.
Om man har mycket tålamod så kan man även ta ett ytterligare steg och aggregera geometrierna till större ytor som kan representera närliggande byggnader i form av ännu större omslutande polygoner.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-7-1024x413.png)
Även här kan man laborera med värden och inställningar, men det tar lång tid att iterera över alla objekt på det sätt som visas i bilden ovan och det finns säkert bättre sätt.
Funktionen aggregate() kan så mycket mer än detta.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-8-1024x771.png)
Låt oss ta några exempel med de två polygonlager som visas i bilden ovan. För att summera siffrorna i de blå polygonerna och skriva ut dessa som en etikett i den gröna polygonen så används ett aggregate() uttryck för etiketten i det gröna lagret.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-9-1024x524.png)
Aggregate pekar först på ett lager där aggregeringen skall tillämpas. Allt inne i funktionen refererar till det namngivna lagret, även $geometry. Vill man referera till det grundläggande lagrets egenskaper så får man använda variabeln @parent. Om således en blå polygon ($geometry) finns inuti den gröna polygonen (geometry(@parent)), så kommer aggregeringsfunktionen ”sum” att användas för att summera värdet i attributet ”värde”.
Aggregate() funktionen kan även ”själv-aggregera”. Det går därför även att skapa en aggregera funktion på det blå lagret som samlar egenskaper från andra blå polygoner.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-10-1024x517.png)
Med ett aggregate() uttryck kan en etikett skapas som förutom värdet även anger polygonens ”namn” och vilka polygoner som är närmaste grannar.
Detta är en själv-aggregering där uttrycket körs på varje geometri, men för varje geometri så testas alla andra geometrier i lagret mot om de delar någon del med den polygon som läggs på geometrin med angivet avstånd. Här kan man laborera lite så att det blir ett önskvärt resultat.
Det finns massor med användbara aggregate-funktioner och det går att läsa mer om dessa i den hjälp som är inbyggd i uttrycksbyggaren.
![](https://geosupportsystem.se/wp-content/uploads/2023/04/image-12-1024x327.png)
Varje funktion använder lite olika variabler i övrigt, varav några används i exemplen i hjälprutan. Vill man ha mer hjälp så går det att klicka på ”Hjälp” knappen och sedan klicka sig fram till ”aggregates functions”. Här finns mängder av detaljer för hur de olika funktionerna kan användas.
Jag vet inte hur vanligt det är i andra GIS med så här kraftfulla funktioner, men i QGIS så är det ett exempel på hur mycket som faktiskt är möjligt om man bara har lite tålamod och inte förväntar sig att allt skall lösa sig automatiskt. Wow!