Wichtig

Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 100.00% übersetzt.

22.4. Einen Bericht erstellen

Dieser Abschnitt hilft Ihnen, einen Bericht in QGIS zu erstellen.

22.4.1. Was ist ein Bericht?

Per Definition ist ein GIS-Bericht ein Dokument, das Informationen in Form von Karten, Text, Grafiken, Tabellen usw. enthält. Ein Bericht kann ad hoc, periodisch, wiederkehrend, regelmäßig oder nach Bedarf erstellt werden. Berichte können sich auf bestimmte Zeiträume, Ereignisse, Vorkommnisse, Themen oder Orte beziehen.

In QGIS ist ein Bericht eine Erweiterung eines Layouts.

Berichte ermöglichen es den Nutzern, ihre GIS-Projekte auf einfache, schnelle und strukturierte Weise auszugeben.

Ein Bericht kann mit Projekt ► Neuer Bericht oder im Fenster Projekt ► Layout-Verwaltung erstellt werden.

Bemerkung

Die Karten in QGIS-Berichten verhalten sich genauso wie die Karten in Drucklayouts und Atlanten. Wir werden uns auf die Besonderheiten von QGIS-Berichten konzentrieren. Details zur Handhabung von Karten finden Sie in den Abschnitten Druck-Layouts und Atlanten.

22.4.2. Erste Schritte

Im Dialog Layout-Verwaltung kann ein Bericht unter Neu aus Vorlage erstellt werden, indem die Dropdown-Option Leerer Bericht ausgewählt und die Schaltfläche Erstellen… betätigt wird.

Für dieses Beispiel verwenden wir einige Verwaltungsgrenzen, besiedelte Orte, Häfen und Flughäfen aus dem Natural EarthDatensatz (1:10M).

../../../_images/project-1.png

Mit dem Befehl Projekt ► Neuer Bericht erstellen wir einen leeren Bericht. Der Dialog, der angezeigt wird, ist dem Fenster zum Erstellen eines Druck-Layouts ähnlich, zusätzlich gibt es aber das Bedienfeld Berichtsorganisation auf der linken Seite:

../../../_images/report-2.png

22.4.3. Arbeitsbereich für Layout-Berichte

QGIS-Berichte können aus mehreren, verschachtelten Abschnitten bestehen. In unserem neuen leeren Bericht gibt es zunächst nur den Hauptberichtsteil. Die einzigen Optionen für diesen Berichtsabschnitt sind Berichtskopf einschließen und Berichtsfuß einschließen. Wenn wir diese Optionen aktivieren, wird eine Kopfzeile als erste Seite(n) in den Bericht eingefügt (einzelne Berichtsteile können auf Wunsch mehrseitig sein), und eine Fußzeile wird die letzte(n) Seite(n) bilden. Aktivieren Sie die Kopfzeile (Berichtskopf einschließen), und klicken Sie auf die Schaltfläche Bearbeiten daneben:

../../../_images/report_header.png

Infolgedessen geschehen einige Dinge. Erstens wird ein Bearbeitungsstift neben Bericht im Berichtsorganisator angezeigt, was darauf hinweist, dass der Berichtsabschnitt gerade im Designer bearbeitet wird. Wir sehen auch eine neue Seite mit einem kleinen Berichtskopf-Titel. Die Seite ist standardmäßig im Querformat ausgerichtet, aber dies (und andere Eigenschaften der Seite) können Sie ändern, indem Sie mit der rechten Maustaste auf die Seite klicken und Seiteneigenschaften wählen. Dadurch wird die Registerkarte Elementeigenschaften für die Seite aufgerufen, und die Seitengrößen Größe, Breite, Höhe und mehr können festgelegt werden.

In QGIS-Berichten besteht jeder Bestandteil des Berichts aus einzelnen Layouts. Sie können mit denselben Werkzeugen wie für Standard-Drucklayouts erstellt und geändert werden - Sie können also jede gewünschte Kombination von Beschriftungen, Bildern, Karten, Tabellen usw. verwenden. Fügen wir zur Veranschaulichung einige Elemente zu unserem Berichtskopf hinzu:

../../../_images/header.png

Wir werden auch eine einfache Fußzeile für den Bericht erstellen, indem wir die Option Berichtsfuß einschließen aktivieren und auf Bearbeiten klicken.

../../../_images/footer.png

Bevor wir weitermachen, exportieren wir diesen Bericht und sehen, was wir erhalten. Das Exportieren erfolgt über das Menü Bericht - in diesem Fall wählen wir Bericht als PDF exportieren…, um den gesamten Bericht in eine PDF-Datei zu übertragen. Hier ist das nicht sehr beeindruckende Ergebnis - ein zweiseitiges PDF, das aus unserer Kopf- und Fußzeile besteht:

../../../_images/headerfooter.png

Lassen Sie uns die Dinge interessanter gestalten. Wenn Sie auf die Schaltfläche symbologyAdd Abschnitt hinzufügen in Berichtsorganisation klicken, haben Sie die Möglichkeit, neue Abschnitte zu Ihrem Bericht hinzuzufügen.

../../../_images/add_section.png

Es gibt zwei Optionen: Statischer Layoutabschnitt und Feldgruppenabschnitt.

Der Statische Layoutabschnitt ist ein einzelnes, statisches Layout-Körper. Dieser kann verwendet werden, um statische Layouts in der Mitte eines Berichts einzubetten.

Der Feldgruppenabschnitt wiederholt das Layout für jedes Objekt eines Layers. Die Objekte werden nach dem ausgewählten Feld sortiert (mit der Option für aufsteigende/absteigende Sortierung). Wenn ein Feldgruppenabschnitt untergeordnete Abschnitte hat (z. B. einen anderen Feldgruppenabschnitt mit einem anderen Feld), wird nur über Objekte mit eindeutigen Werten für das ausgewählte Feld iteriert. Dies ermöglicht verschachtelte Berichte.

Für den Moment werden wir unserem Bericht einen Feldgruppenabschnitt hinzufügen. Grundsätzlich kann man sich einen Feldgruppenabschnitt als Äquivalent zu einem Atlas vorstellen: Sie wählen einen Layer aus, über den Sie iterieren, und der Bericht fügt für jedes gefundene Objekt einen Abschnitt ein. Wenn Sie den neuen Feldgruppenabschnitt einfügen, erhalten Sie eine Reihe von neuen, damit verbundenen Einstellungen:

../../../_images/field_group.png

In diesem Fall haben wir unsere Feldgruppe so eingerichtet, dass wir alle Zustände des Layers Admin Level 1 unter Verwendung der Werte des Feldes adm1name“ durchlaufen. Die gleichen Optionen für Kopf- und Fußzeile sind vorhanden, zusammen mit einer neuen Option, um ein :guilabel:`Körper für diesen Abschnitt einzufügen. Wir werden das tun und den Textkörper bearbeiten:

../../../_images/edit_group_body.png

Unser Körper besteht nun aus einer Karte und einer Beschriftung mit dem Namen des Staates. Um den Namen des Staates einzufügen, wählen wir Element hinzufügen ► Beschriftung hinzufügen und definieren den Text unter Haupteigenschaften mit Hilfe von Einfügen oder Bearbeiten eines Ausdrucks….

Das Ergebnis ist der folgende Ausdruck (name ist der Name des Attributs im Layer Admin Level 1, das den Namen des Zustands enthält):

[% "name" %]

Die Karte wird so eingestellt, dass sie dem aktuellen Berichtsobjekt folgt (aktiviert durch Ankreuzen von Gesteuert durch Bericht - so wie ein Kartenelement in einem Atlas dem aktuellen Atlasobjekt folgt, wenn Gesteuert durch Atlas aktiviert ist):

../../../_images/controlledbyreport.png

Wenn wir unseren Bericht jetzt exportieren würden, bekämen wir in etwa das folgende Ergebnis:

../../../_images/report1.png

Abb. 22.68 Die Kopfzeile des Berichts, eine Seite für jeden Staat und die Fußzeile des Berichts.

Also mehr oder weniger ein Atlas, aber mit einer Kopf- und Fußseite.

Um die Sache noch interessanter zu machen, fügen wir unserer Statusgruppe einen Unterabschnitt hinzu. Dazu wählen wir zunächst die Feldgruppe Admin Level 1 in der Berichtsorganisation aus, klicken dann auf die Schaltfläche symbologyAdd Abschnitt hinzufügen und fügen einen neuen Feldgruppenabschnitt hinzu:

../../../_images/subsection.png

Bei der Iteration über die Objekte eines Feldgruppenabschnitts werden die Objekte so gefiltert, dass sie dem definierenden Feld der übergeordneten Gruppe entsprechen (in diesem Fall adm1name). In diesem Fall durchläuft der hinzugefügte Unterabschnitt den Layer Populated Places, der für jeden gefundenen Ort einen eigenen Abschnitt enthält. Der Clou dabei ist, dass der Layer Populated Places ein Attribut mit dem gleichen Namen wie das definierende Feld im übergeordneten Layer, adm1name, hat, das jeden Ort mit dem Zustand kennzeichnet, in dem er sich befindet (wenn Sie Glück haben, sind Ihre Daten bereits so strukturiert - wenn nicht, führen Sie den Verarbeitungsalgorithmus Attribute nach Ort verschneiden aus und erstellen Sie Ihr eigenes Feld). Wenn wir diesen Bericht exportieren, holt sich QGIS den ersten Status aus dem Layer Admin Level 1 und durchläuft dann alle Populated Places mit einem passenden adm1name Wert. Das Ergebnis ist wie folgt:

../../../_images/report3.png

Hier haben wir ein Grundgerüst für die Gruppe „Populated Places“ erstellt, einschließlich einer Karte des Ortes und einer Tabelle mit einigen Ortsattributen. Unser Bericht besteht nun aus einer Kopfzeile, einer Seite für den ersten Bundesstaat, gefolgt von einer Seite für jeden besiedelten Ort in diesem Bundesstaat, dann die restlichen Bundesstaaten mit ihren besiedelten Orten und schließlich die Fußzeile des Berichts. Wenn wir eine Kopfzeile für die Gruppe „Populated Places“ hinzufügen würden, würde diese unmittelbar vor der Auflistung der besiedelten Orte für jedes Bundesland eingefügt, wie in der folgenden Abbildung gezeigt.

In ähnlicher Weise würde eine Fußzeile für die Gruppe „Populated Places“ eingefügt, nachdem der letzte Ort für jeden Staat aufgenommen wurde.

Zusätzlich zu den verschachtelten Unterabschnitten können Unterabschnitte in einem Bericht auch nacheinander eingefügt werden. Wenn wir der Gruppe Admin Level 1 für Airports einen zweiten Unterabschnitt hinzufügen, dann (wenn der Layer Airports ein Attribut adm1name hat, das ihn mit der übergeordneten Gruppe verknüpfen kann) wird unser Bericht zuerst ALLE bewohnten Orte für jeden Staat auflisten, gefolgt von allen Flughäfen innerhalb dieses Staates, bevor wir mit dem nächsten Staat fortfahren.

../../../_images/report_consec.png

Wichtig ist hier, dass unsere Gruppe Airports eine Untergruppe der Gruppe Admin Level 1 ist - nicht der Gruppe Populated Places.

In diesem Fall wäre unser Bericht wie folgt aufgebaut (beachten Sie, dass auch Statuskennzeichen enthalten sind - das Verfahren zum Hinzufügen von objektspezifischen Bildern auf diese Weise wird weiter unten beschrieben):

../../../_images/report_all_img.png

22.4.3.1. Einfügen von Bildern in einen Bericht

Bilder können in Berichten sehr nützlich sein, und QGIS erlaubt Bilder sowohl in den statischen als auch in den dynamischen Teilen eines Berichts. Bilder werden auf die gleiche Weise hinzugefügt wie bei Standard-Drucklayouts, und für die statischen Berichtsteile (und statische Bilder in dynamischen Teilen) gibt es nicht mehr zu tun.

Wenn Sie jedoch Illustrationen wünschen, die auf die Objekte des Berichts zugeschnitten sind, muss Ihr Layer über ein Attribut verfügen, mit dem Sie das einzubeziehende Bild definieren können.

QGIS ist auf vollständige Dateipfade für Bilder in Berichten angewiesen.

Bei dynamischen Bildern fügen Sie zunächst wie gewohnt ein Bild in den Body-Teil der Gruppe ein. In den Elementeigenschaften des Bildes setzen Sie die Bildquelle mit der Schaltfläche dataDefine Datendefinierte Übersteuerung, und wählen entweder ein Attribut, das den absoluten Pfad der Bilder enthält, oder Bearbeiten… (um einen Ausdruck einzugeben, der den absoluten Bildpfad erzeugt).

Nachfolgend ein Beispielausdruck, der die String-Verkettung verwendet, um den absoluten Pfad zu den Bildern anzugeben, wobei das Verzeichnis, in dem sich die Projektdatei befindet, (@project_path) und ein Attribut (adm1name) verwendet werden, aus dem der Dateiname generiert wird (in diesem Fall durch Umwandlung des Strings im Attribut adm1name in Großbuchstaben und Anhängen von ‚_flag.png‘):

concat(@project_folder, '/naturalearth/pictures/' ,
       upper("adm1name"), '_flag.png')

Das bedeutet, daß sich die Bilder im Unterverzeichnis naturalearth/pictures des Projektdateiverzeichnisses befinden.

../../../_images/report_dynamic_picture.png

22.4.3.2. Hervorheben des aktuellen Berichtsobjekts in einer Karte

Im obigen Bericht werden die Objekte des Berichts in den Karten durch Hervorhebung (Staat) und Kreise (besiedelte Orte) herausgestellt. Um die Objekte in den Karten hervorzuheben (abgesehen davon, dass sie in der Mitte der Karten platziert werden), müssen Sie den Stil durch einen Vergleich zwischen seiner @id und der @atlas_featureid definieren, wie bei Atlanten.

Wenn Sie z.B. für das jeweilige Berichts-Objekt eine dickere Linie / Umrandung als für die anderen Objekte verwenden möchten, können Sie die Linienstärke definieren:

if($id=@atlas_featureid, 2.0, 0.1)

Das Berichts-Objekt erhält einen 2 Einheiten breiten Polygonumriss, während alle anderen Objekte eine 0,1 Einheiten breite Linie erhalten. Es ist auch möglich, die Farbe zu definieren (nicht-transparentes dunkles Magenta für das Berichtsmerkmal und halbtransparentes Hellgrau für die anderen Objekte):

if($id=@atlas_featureid, '#FF880088', '#88CCCCCC')

22.4.3.3. Weitere Gruppen der obersten Ebene

Die Kombination von verschachtelten und aufeinanderfolgenden Abschnitten sowie von Abschnittsüberschriften und -fußzeilen ermöglicht eine große Flexibilität. Im folgenden Bericht fügen wir zum Beispiel eine weitere Feldgruppe als untergeordnetes Element des Hauptberichts für den Layer Ports hinzu. Nach der Auflistung der Bundesstaaten mit ihren bewohnten Orten und Flughäfen erhalten wir nun eine zusammenfassende Liste aller Häfen in der Region:

../../../_images/report_flex.png

Dies führt dazu, dass der letzte Teil unseres Berichts wie folgt exportiert wird:

../../../_images/ports.png

22.4.4. Exporteinstellungen

Wenn Sie einen Bericht exportieren (Bericht ► Bericht als Bilder exportieren… / SVG… / PDF…), werden Sie nach einem Dateinamen gefragt, und dann haben Sie die Möglichkeit, die Exporteinstellungen so anzupassen, dass Sie die gewünschte Ausgabe erhalten.

Wie Sie sehen, sind die Berichte in QGIS extrem leistungsfähig und flexibel.

Bemerkung

Die aktuellen Informationen wurden aus einem Blog von North Road übernommen: Exploring Reports in QGIS 3.0 - the Ultimate Guide!