Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
18.4. Skapa en rapport
I det här avsnittet får du hjälp med att skapa en rapport i QGIS.
18.4.1. Vad är det?
En GIS-rapport är per definition ett dokument som innehåller information som är organiserad på ett berättande sätt och som innehåller kartor, text, grafik, tabeller etc. En rapport kan upprättas ad hoc, periodiskt, återkommande, regelbundet eller efter behov. Rapporter kan avse specifika perioder, händelser, företeelser, ämnen eller platser.
I QGIS är en Report en förlängning av en Layouts.
Med hjälp av rapporter kan användarna lägga ut sina GIS-projekt på ett enkelt, snabbt och strukturerat sätt.
En rapport kan skapas med
eller i .Observera
Kartorna i QGIS-rapporter beter sig på samma sätt som kartor i tryckta layouter och atlaser. Vi kommer att koncentrera oss på det som är specifikt för QGIS-rapporter. För detaljer om karthantering, se avsnitten om print layouts och atlases.
18.4.2. Kom igång
I dialogrutan Layout Manager kan en rapport skapas genom New from template genom att välja rullgardinsalternativet Empty Report och trycka på knappen Create….
I det här exemplet använder vi några administrativa gränser, befolkade platser, hamnar och flygplatser från datasetet Natural Earth (1:10M).

Med hjälp av kommandot Report Organizer-panelen till vänster:
skapar vi en tom rapport. Till en början finns det inte mycket att titta på - dialogrutan som visas ser ungefär ut som utskriftslayoutdesignern, förutom
18.4.3. Layout Rapport Arbetsyta
QGIS-rapporter kan bestå av flera, nästlade avsnitt. I vår nya tomma rapport har vi inledningsvis bara huvudrapportavsnittet. De enda alternativen för detta rapportavsnitt är Include report header och Include report footer. Om vi aktiverar dessa alternativ kommer ett sidhuvud att inkluderas som första sida(n) (enskilda delar av rapporter kan vara flersidiga om så önskas) i rapporten, och en sidfot kommer att utgöra den sista sidan(n). Aktivera sidhuvudet (Include report header) och tryck på Edit-knappen bredvid det:

Några saker händer som ett resultat av detta. För det första visas en redigeringspenna bredvid Report i Report Organizer, vilket indikerar att rapportavsnittet för närvarande redigeras i designern. Vi ser också en ny sida med en liten Report Header-titel. Sidan har landscape-orientering som standard, men detta (och andra egenskaper hos sidan) kan ändras genom att högerklicka på sidan och välja . Då visas fliken Item properties för sidan, och sidans Size, Width, Height med mera kan anges.
I QGIS-rapporter består varje komponent i rapporten av individuella layouter. De kan skapas och ändras med samma verktyg som för vanliga utskriftslayouter - så du kan använda vilken kombination av etiketter, bilder, kartor, tabeller etc. som helst. Låt oss lägga till några objekt i vårt rapporthuvud för att demonstrera:

Vi kommer också att skapa en enkel sidfot för rapporten genom att markera alternativet Include report footer och trycka på Edit.

Innan vi går vidare, låt oss exportera denna rapport och se vad vi får. Exporten görs från menyn
- i det här fallet väljer vi för att göra om hela rapporten till en PDF-fil. Här är det inte särskilt imponerande resultatet - en PDF på två sidor som består av vårt sidhuvud och sidfot:
Låt oss göra saker och ting mer intressanta. Genom att trycka på knappen Add Section i Report Organizer får vi ett urval av nya avsnitt att lägga till i vår rapport.

Det finns två alternativ: Static Layout Section och Field Group Section.
Avsnittet Add Static Layout Section är en enda, statisk layout för hela rapporten. Detta kan användas för att bädda in statiska layouter halvvägs genom en rapport.
Field Group Section upprepar sin layout för varje funktion i ett lager. Objekten sorteras efter den valda grupperingsfunktionen (med möjlighet till stigande/fallande sortering). Om ett fältgruppsavsnitt har underordnade avsnitt (t.ex. ett annat fältgruppsavsnitt med ett annat fält) itereras endast funktioner med unika värden för gruppfunktionen. Detta möjliggör nästlade rapporter.
Nu ska vi lägga till en Field Group Section i vår rapport. På den mest grundläggande nivån kan du tänka på en Field Group Section som motsvarigheten till en print atlas: du väljer ett lager att iterera över, och rapporten infogar ett avsnitt för varje funktion som hittas. Om du väljer den nya Field Group Section visas ett antal nya relaterade inställningar:

I det här fallet har vi konfigurerat vår fältgrupp så att vi itererar över alla tillstånd från lagret Adminnivå 1 med hjälp av värdena från fältet adm1name. Samma alternativ för att inkludera sidhuvud och sidfot finns, tillsammans med ett nytt alternativ för att inkludera en body för det här avsnittet. Vi gör det och redigerar brödtexten:

Vår body består nu av en karta och en etikett som visar namnet på delstaten. För att inkludera namnet på delstaten valde vi Main Properties med hjälp av Insert or Edit an Expression….
och datadefinierade texten underResultatet blev följande uttryck (name är namnet på det attribut i Admin Level 1-skiktet som innehåller namnet på delstaten):
[% "name" %]
Kartan är inställd på att följa den aktuella rapportfunktionen (aktiveras genom att markera Controlled by Report - precis som ett kartobjekt i en atlas kommer att följa den aktuella atlasfunktionen när Controlled by Atlas är markerad):

Om vi gick vidare och exporterade vår rapport nu, skulle vi få något liknande detta:

Fig. 18.69 Rapporthuvudet, en sida för varje delstat och rapportfoten.
Alltså mer eller mindre en atlas, men med en sidhuvud- och sidfotssida.
Låt oss göra saker och ting mer intressanta genom att lägga till en underavdelning till vår statsgrupp. Det gör vi genom att först välja fältgruppen Admin Level 1 i organisatören, sedan trycka på knappen Add Field och lägga till en ny Field Group Section:

När du itererar över funktionerna i ett Field Group Section filtreras funktionerna så att de matchar det definierande fältet i dess överordnade grupp (adm1name
i det här fallet). Här kommer det underavsnitt vi lagt till att iterera över ett Populated Places-lager, inklusive ett kroppsavsnitt för varje plats som påträffas. Det magiska här är att skiktet Populated Places har ett attribut med samma namn som det definierande fältet i det överordnade skiktet, adm1name, som taggar varje plats med den stat som den ingår i (om du har tur är dina data redan strukturerade så här - om inte, kör Join Attributes by Location Processing-algoritmen och skapa ditt eget fält). När vi exporterar den här rapporten kommer QGIS att hämta den första staten från skiktet Admin Level 1 och sedan iterera över alla Populated Places med ett matchande adm1name-värde. Här är vad vi får:

Här skapade vi en grundläggande kropp för gruppen Populated Places, inklusive en karta över platsen och en tabell med några platsattribut. Så vår rapport består nu av ett rapporthuvud, en sida för den första delstaten, följt av en sida för varje befolkad plats i den delstaten, sedan resten av delstaterna med sina befolkade platser och slutligen rapportens sidfot. Om vi skulle lägga till en rubrik för gruppen Populated Places skulle den inkluderas precis innan vi listar de befolkade platserna för varje delstat, som visas i illustrationen nedan.
På samma sätt skulle en sidfot för gruppen Populated Places infogas efter att den sista platsen för varje delstat har inkluderats.
Förutom nästlade underavsnitt kan underavsnitt i en rapport också inkluderas i följd. Om vi lägger till ett andra underavsnitt till Admin Level 1 group för Airports, så (om Airports-skiktet har ett attribut adm1name som kan länka det till den överordnade gruppen) kommer vår rapport först att lista ALLA befolkade platser för varje stat, följt av alla flygplatser i den staten, innan vi fortsätter till nästa stat.

Den viktigaste punkten här är att vår Airports group är en underavdelning av Admin Level 1 group - inte Populated Places group.
I det här fallet skulle vår rapport se ut så här (observera att delstatsflaggor också har inkluderats - hur man lägger till specifika bilder på det här sättet beskrivs nedan):

18.4.3.1. Inkludera bilder i en rapport
Bilder kan vara ganska användbara i rapporter, och QGIS tillåter bilder i både de statiska och dynamiska delarna av en rapport. Bilder läggs till på samma sätt som för vanliga utskriftslayouter, och för de statiska rapportdelarna (och statiska bilder i dynamiska delar) är det inte mer med det.
Men om du vill ha illustrationer som är anpassade till rapportens funktioner måste ditt lager ha ett attribut som kan användas för att definiera vilken bild som ska inkluderas.
QGIS är beroende av absoluta filnamn för bilder i rapporter.
För dynamiska bilder lägger du först till en bild i gruppens kroppsdel, som vanligt. I Item properties för bilden anger du Image Source med hjälp av knappen Data defined override och väljer antingen ett attribut som innehåller bildernas absoluta sökväg eller Edit… (för att ange ett uttryck som genererar den absoluta bildsökvägen).
Nedan visas ett exempel på ett uttryck som använder strängkonkatenering för att ange den absoluta sökvägen till bilderna, med hjälp av katalogen där projektfilen finns (@project_path
) och ett attribut (adm1name
) från vilket filnamnet genereras (i det här fallet genom att omvandla strängen i attributet adm1name
till versaler och lägga till ’_flag.png’):
concat(@project_folder, '/naturalearth/pictures/' ,
upper("adm1name"), '_flag.png')
Detta innebär att bilderna finns i underkatalogen naturalearth/pictures
i projektets filkatalog.

18.4.3.2. Markera det aktuella rapportobjektet på en karta
I ovanstående rapport framhävs rapportfunktionerna i kartorna med hjälp av markeringar (stat) och cirklar (befolkade platser). För att framhäva rapportens funktioner på kartorna (förutom att placera dem i mitten av kartorna) måste du datadefiniera stilen med hjälp av en jämförelse mellan dess @id
och @atlas_featureid
, som för atlaser.
Om du t.ex. vill använda en tjockare linje/kant för rapportfunktionen än för de andra funktionerna kan du definiera linjebredden:
if($id=@atlas_featureid, 2.0, 0.1)
Rapportfunktionen får en 2 enheter bred polygonkontur, medan alla andra funktioner får en 0,1 enheter bred linje. Det är också möjligt att datadefiniera färgen (icke-transparent mörk magenta för rapportfunktionen och halvtransparent ljusgrå för de andra funktionerna):
if($id=@atlas_featureid, '#FF880088', '#88CCCCCC')
18.4.3.3. Fler grupper på nivå 1
Kombinationen av nästlade och på varandra följande avsnitt, tillsammans med avsnittsrubriker och sidfötter, ger stor flexibilitet. I rapporten nedan lägger vi till exempel till en annan fältgrupp som underordnad huvudrapporten för skiktet Ports. Nu, efter att ha listat staterna tillsammans med deras befolkade platser och flygplatser, får vi en sammanfattande lista över alla hamnar i regionen:

Detta resulterar i att den sista delen av vår rapport exporteras som:

18.4.4. Inställningar för export
När du exporterar en rapport (
) blir du ombedd att ange ett filnamn, och sedan får du möjlighet att justera exportinställningarna för att få den mest lämpliga utskriften.Som du ser är rapporter i QGIS extremt kraftfulla och flexibla!
Observera
Den aktuella informationen har hämtats från en North Road-blogg, Exploring Reports in QGIS 3.0 - the Ultimate Guide!