Wir präsentieren Ihnen den letzten Artikel über die Kurse des Bildungsprogramms “Akademiker”. In den bisherigen Veröffentlichungen wurde der Aufbau von Reports mit Dialogfenstern und die Anbindung des Reports an die Daten von Fast Report betrachtet.
Die Komponente “Karte” (MapObject) dient zur Darstellung von zweidimensionalen grafischen Karten im ESRI Shapefile (.shp), Open Street Map (.osm), GPS-Track (GPS Exchange File, .gpx) Format.
http://de.wikipedia.org/wiki/Shapefile
https://de.wikipedia.org/wiki/OpenStreetMap
https://de.wikipedia.org/wiki/GPX
Das Objekt “Karte” besteht aus den folgenden Elementen:
Ein einzelnes Kartenobjekt kann eine oder mehrere Ebenen anzeigen. Jede Ebene enthält eine eigene Karte.
Im Designer-Modus und in der Ansicht des fertigen Reports können Sie die Kartendarstellung mit der Maus steuern:
Die minimalen und maximalen Skalierungswerte werden in den Eigenschaften MinZoom, MaxZoom eingestellt. Diese Werte können im Objektinspektor eingestellt werden.
Das Objekt “Karte” enthält eine große Anzahl von Einstellungen, die durch den Aufruf des Objekteditors verwaltet werden können. Führen Sie dazu einen Doppelklick mit der Maus auf das Objekt aus oder wählen Sie in dessen Kontextmenü “Bearbeiten...”:
Ein Objekt “Karte” kann eine oder mehrere Ebenen enthalten. Die Liste der Ebenen wird in der oberen linken Ecke des Editors angezeigt:
Um eine neue Ebene hinzuzufügen, klicken Sie auf die Schaltfläche “Hinzufügen...”. Das folgende Fenster wird angezeigt:
Wählen Sie in diesem Schritt den Ebenentyp aus:
Wenn Sie eine Ebene ausgewählt haben, die auf einer Kartendatei basiert, geben Sie zusätzlich an, wie die Kartendaten gespeichert werden sollen:
Es ist wichtig zu beachten, dass große Karten (über 30 MB) oder solche mit einer großen Anzahl von Polygonen (über 20000) den Report stark verlangsamen.
Dazu wechseln wir auf die Registerkarte “Erscheinungsbild” und wählen die gewünschte Ebene aus:
Hier können Sie die Farbe und den Stil des Kartenpolygonrahmens anpassen sowie eine Farbpalette auswählen. Wenn Sie die Polygonfarbauswahl in Abhängigkeit von den analytischen Angaben eingestellt haben (dazu später), wird die Palette ignoriert.
Die Karte kann Beschriftungen anzeigen, wie zum Beispiel, die Namen von Ländern auf einer Weltkarte. Sie können die Art und das Aussehen von Beschriftungen auf der Registerkarte “Bezeichner” anpassen:
Wenn Sie den Ebenentyp - Karte aus einer .shp-Datei ausgewählt haben, müssen Sie das Feld angeben, aus dem die Beschriftung übernommen wird. In der Regel ist dies das Feld “NAME”. Für die im FastReport-Demoprogramm enthaltene Weltkarte ist es möglich, aus den folgenden Feldern zu wählen:
- NAME (zum Beispiel, Russia)
- ABBREV (zum Beispiel, Rus.)
- ISO_A2 (zum Beispiel, RU)
- ISO_A3 (zum Beispiel, RUS)
Die Liste der Felder für andere Karten wird jedoch anders aussehen.
Die meisten Reports verwenden das Objekt “Karte” nicht selbst, sondern zur Anzeige von analytischen Informationen. Das kann zum Beispiel das Umsatzvolumen in verschiedenen Ländern sein. Dazu muss die Ebene mit den Daten verbunden sein. Sie können dies im Karteneditor tun, indem Sie die Ebene auswählen und auf die Registerkarte “Daten” wechseln. Die Datenverbindung unterscheidet sich je nach Ebenentyp (aus der Kartendatei oder Geodaten aus der Anwendung):
In diesem Fall muss die Anwendung die folgenden Daten bereitstellen:
Angenommen, Sie haben eine Tabelle “Sales” mit den folgenden Feldern und Daten:
Country Sales Total
------- ----------
USA 500000
Germany 1200000
Russia 300000
In diesem Fall müssen wir die Daten wie folgt konfigurieren:
Das Feld “Zoom Polygon” ermöglicht es, das Polygon mit dem angegebenen Namen um die gesamte Größe des Objekts “Karte” zu vergrößern. Um zum Beispiel das Land Russland auf der Weltkarte zu vergrößern, geben Sie in diesem Feld den Wert “Russland” (mit Anführungsstrichen) an.
In diesem Fall muss die Anwendung die folgenden Daten bereitstellen:
- Geodaten - Breite und Länge;
- Bezeichner (z. B. Ortsname);
- numerischer Wert (z. B. die Umsatzhöhe in der angegebenen Stadt).
Angenommen, Sie haben eine Tabelle “Sales” mit den folgenden Feldern und Daten:
Latitude Longitude CityName SalesTotal
-------- --------- -------- ---------
48.13641 11.57753 Munchen 50000
50.94165 6.95505 Koln 36000
In diesem Fall müssen Sie die Daten wie folgt konfigurieren:
- Datenquelle - Sales
- Geodaten, Breite - [Sales.Latitude]
- Geodaten, Länge - [Sales.Longitude]
- Geodaten, Bezeichner - [Sales.CityName]
- analytische Daten, Wert - [Sales.SalesTotal]
- analytische Daten, die Funktion - “Summe”. Die Funktion wird verwendet, wenn es mehrere Datensätze mit unterschiedlichen Werten für eine bestimmte Stadt gibt.
Sobald die Ebene mit den Daten verbunden ist, stellt sich die Frage - in welcher Form sollen die analytischen Informationen (z. B. Umsatzvolumen in verschiedenen Ländern) dargestellt werden? Am einfachsten ist es, die Beschriftung so einzustellen, dass neben dem Ländernamen auch die Umsatzzahlen angezeigt werden (siehe Abschnitt “Einstellen der angezeigten Werte”). Viel naheliegender ist jedoch die Einfärbung von Ländern in Abhängigkeit vom Umsatzvolumen. Dazu müssen Sie in der Registerkarte “Farbbereiche” eine Farbskala einrichten:
Eine Farbskala ist ein Satz von Werten: Minimalwert; Maximalwert; Farbe. Sie können mehrere solcher Sätze (Bereiche) haben. Um die Farbskala zu konfigurieren, geben Sie an, wie viele Bereiche sie enthält, und legen dann den minimalen und maximalen Wert in jedem Bereich sowie die Farbe fest:
Standardmäßig sind alle Werte auf “Auto” eingestellt. In diesem Fall berechnet FastReport automatisch die Minimal- und Maximalwerte für jeden Bereich und nimmt die Farbe aus den Voreinstellungen “Startfarbe”, “Zwischenfarbe” und “Endfarbe”. Dieser Modus kann in den meisten Fällen verwendet werden. Die Einstellung “Rangfolge-Faktor” ändert die Verteilung der Werte auf der Skala.
Wenn die Farbskala eingerichtet ist, erscheint am unteren Rand der Karte eine Skala - ein Streifen aus mehreren verschiedenfarbigen Rechtecken:
Sie können das Aussehen und die Position des Indikators anpassen, indem Sie das Element “Karte” in der Ebenenliste auswählen und auf die Registerkarte “Farbskala” wechseln:
Wenn der Ebenentyp als von der Anwendung bereitgestellte Daten angegeben wird, werden die Werte als Punkt mit einer Beschriftung angezeigt. Die Größe des Punktes kann in ähnlicher Weise wie bei der Farbauswahl mit den Daten verknüpft werden. Dies kann auf der Registerkarte "Größenbereiche" vorgenommen werden:
Die Größenskala ist ein Satz von Werten: Minimalwert; Maximalwert; Größe in Pixel. Sie können mehrere Sätze (Bereiche) haben. Um die Skala einzustellen, müssen Sie anzeigen, wie viele Bereiche sie enthält, und dann die Minimal- und Maximalwerte in jedem dieser Bereiche unter Berücksichtigung der Größe einstellen.
Standardmäßig sind alle Werte auf “Auto” eingestellt. In diesem Fall berechnet FastReport automatisch die Minimal- und Maximalwerte für jeden Bereich und übernimmt die Größe aus den Voreinstellungen “Startgröße” und “Endgröße”. Die Einstellung “Rangfolge-Faktor” verändert die Verteilung der Werte über die Skala.
Interaktive Karten sind mit dem Aufkommen von Google Map sehr beliebt geworden. Mit solchen Karten können Sie in der Karte navigieren, hinein- und herauszoomen und viele andere Funktionen nutzen. Mit der Veröffentlichung von FastReport VCL 2021 können solche Karten in Reports implementiert werden. Dazu nehmen Sie eine Karte in einem der beiden verfügbaren Formate und fügen sie mit einem Map-Objekt in einen Report ein.
Sie können die Karten im .shp- und .osm-Format sowie GPS-Tracks im .gpx-Format verwenden.
Das Format .shp ist eine ShapeFile. Dies ist ein spezielles Format zum Speichern von Vektor-Geoinformationsdaten. Dieses Format wurde in den 1990er Jahren von der Firma ESRI entwickelt. Es ist das derzeit am häufigsten verwendete Format in geografischen Informationssystemen.
Eigentlich ist ShapeFile keine einzelne Datei. Neben der .shp-Datei enthält das Set auch .shx- und .dbf-Dateien.
Die erste, .shp, ist eine geometrische Beschreibung von Formen. Die .shx-Datei verfügt über einen Positionsindex, um Figuren miteinander zu verknüpfen. Die .dbf-Datei enthält Informationen über Formen aus der .shp-Datei.
Da es sich um ein kommerzielles Produkt handelt, können einige Karten kostenpflichtig sein.
Das .osm-Format ist OpenStreetMap. Dies ist ein geografisches Datenspeicherformat, das auf xml basiert. Der Name impliziert, dass es sich um ein offenes Projekt handelt, das ausschließlich von Freiwilligen gepflegt wird. Bei diesem Webprojekt handelt es sich um eine globale Karte des Globus. Volontäre ergänzen die Karte ständig mit neuen Geolocation-Daten und Luftbildern. Das Projekt ist sehr beliebt und hat eine große Anzahl von Teilnehmern. Deshalb ist die Detailgenauigkeit der Karten auf einem recht hohen Niveau. Alle Karten in osm, wie auch in shp, werden im zweidimensionalen Format dargestellt, ohne Höhenangaben über dem Meeresspiegel.
Da das Projekt kostenlos ist, sind auch die Karten kostenlos.
Für den Anfang benötigen wir eine Karte. Das Objekt “Karte” unterstützt drei Dateiformate: .shp, .osm, .gpx.
Die ersten beiden sind Vektorkarten, die letzte ist ein Satz von Routen und Tracks für Karten. Sie können die Karte in einem der verfügbaren Formate laden, und dann in einer neuen Ebene GPS-Daten.
Bevor wir uns das Objekt “Karte” ansehen, lassen Sie uns definieren, woher wir diese Karten bekommen. Sie können vorgefertigte Karten aus dem Internet herunterladen. Viele Websites bieten sowohl kostenpflichtige als auch kostenlose Karten in beiden Formaten an.
Es gibt eine weitere Möglichkeit, eine Kartendatei zu erhalten. Es ist für das osm-Format geeignet. Es gibt einen besonderen Service – die interaktive Weltkarte. Mit diesem Service können Sie den gewünschten Bereich auswählen und ihn in eine Datei exportieren. Es gibt jedoch eine Begrenzung für die Größe des exportierten Bereichs. In der Regel passt in diesen Bereich eine Siedlung oder deren Teil. Schauen wir mal, wie es aussieht:
Durch Betätigen der Schaltfläche “Exportieren” lädt der Browser die osm-Datei herunter. Wenn Sie also einen kleinen Bereich auf der Karte anzeigen müssen, ist dieser Service sehr hilfreich. Wenn Sie nur experimentieren wollen, können Sie die fertigen Dateien PortoSantoTrack.osm und PortoSantoTrack.gpx aus der Lieferung von FastReport VCL 2021 nehmen.
Erstellen Sie einen Report und fügen Sie das Map-Objekt auf der Seite hinzu. Übrigens können Sie dieses Objekt auf jedem Band außer “Daten” platzieren. Nach dem Hinzufügen des Objekts sehen wir sofort seinen Editor.
Das Objekt ist noch leer. Wir sehen nur: allgemeine Einstellungen (general), Farbskala (color scale), Größenskala (size scale).
Es ist wichtig zu beachten, dass Sie die gesamte Karte in einer einzigen Ebene oder aufgeteilt in mehrere Ebenen darstellen können.
Wenn die Karte in mehrere Ebenen aufgeteilt ist, wird jede Ebene separat konfiguriert - Farbe, Schriftart, Linienstärke usw. Mit Hilfe verschiedener Einstellungen für unterschiedliche Ebenen können wir z. B. Flüsse blau und Handelswege rot einfärben. Kartenobjekte werden durch Tags in der XML (OSM) -Datei beschrieben. Für jede Ebene wählen wir die Tags (Objekte) aus, die wir anzeigen möchten. Dann stellen wir in den Einstellungen Parameter ein (Farbe, Schriftart, Dicke usw.). Im Allgemeinen erlaubt uns die schichtweise Zuordnung der Anzeige nach unseren Wünschen anzupassen.
Wenn Sie die Karte in einer einzigen Ebene anzeigen, gelten die Einstellungen für alle Kartenobjekte und Sie können die Anzeige einzelner Elemente nicht anpassen.
Das bedeutet, dass die Karten in .shp-Format nur in einer einzigen Ebene angezeigt werden können.
Um eine Karte hinzuzufügen, klicken Sie auf die Schaltfläche Add...:
Es erscheint ein Fenster zum Hinzufügen einer Ebene. Wählen Sie eine Datei mit einer Karte oder einem GPS-Track. Sie können die Datei mit der entsprechenden Option in den Report aufnehmen. Unten sehen wir zwei weitere Optionen zum Hinzufügen einer Ebene:
- eine leere Ebene mit Daten aus der Anwendung - die Daten zum Aufbau der Karte können sich nicht nur in der Datei, sondern auch in der Datenbank befinden. Wir erstellen also eine leere Ebene und stellen eine Verbindung zur Datenquelle her;
- eine leere interaktive Ebene - so wie ich es verstehe, ist dies eine noch zu implementierende Funktionalität. Es soll möglich sein, die Ebene manuell mit Grundelementen zu erstellen.
Wir klicken auf die Schaltfläche OK. Wenn wir eine .osm-Datei laden, wird ein Tag-Auswahlfenster angeboten:
Passen Sie jetzt auf! Wenn Sie auf Abbrechen klicken, werden automatisch alle Tags für diese Ebene ausgewählt. Aber wir gehen den anderen Weg.
Mit der Pfeiltaste verschieben wir die Tags auf die rechte Seite. Wenn wir die Karte in mehreren Ebenen anzeigen wollen, wählen wir die gewünschten Tags für die aktuelle Ebene aus. Zum Beispiel wurden alle Tags außer highway und waterway in die erste Ebene verschoben:
Unten befindet sich ein Filter für die Tags. Drücken Sie die Schaltfläche OK und Sie erhalten fast die gesamte Karte:
Setzen Sie in den Einstellungen für Ebene 1 auf der Registerkarte Appearance (Ansicht) Point Size (die Punktgröße) auf 0, damit sie nicht stören:
Ein paar Worte zu den Ebeneneinstellungen. Sie werden auf fünf Registerkarten dargestellt:
Fügen wir eine weitere Ebene auf die gleiche Weise wie zuvor hinzu. Dieses Mal wählen wir nur den Tag highway aus. Ändern Sie auf der Registerkarte “Appearance“ Border Color auf Maroon. Jetzt haben die Straßen eine himbeerfarbige Farbe.
Fügen Sie eine dritte Ebene hinzu. Diesmal wählen wir den Tag waterway. Ändern Sie Farbe in Border Color für Wasserstraßenobjekte auf Blau. Und setzen Sie Border White auf 2.
Wählen Sie in den Map-Einstellungen das Füllwerkzeug. Irgendwelche pastellige Farbe.
Es fehlt nur noch der Name. Wir wählen die erste Ebene aus. Stellen Sie auf der letzten Registerkarte Label für die Art des Bezeichners (Label kind) das Wert Name. Und für die Spalte des Bezeichners (Label column) - das Wert “name”.
Wir haben die Karte hinzugefügt und sehen jetzt, wie der GPS-Trace für diese Karte aussehen wird. Fügen wir eine weitere Ebene hinzu und wählen die Datei mit der Erweiterung .gpx.
Wählen Sie auf der Registerkarte Appearance eine helle Farbe für Border Color:
Die Karte ist fertig. Führen wir den Report aus:
Sofort sticht ins Auge unser hochrosafarbiger gsp-Track. Wir können uns mit der Maus auf der Karte bewegen. Wir können mit dem Scrollrad der Maus den Maßstab vergrößern und verkleinern. Rechts oben befindet sich die Filterbox. Darin können Sie Ebenen deaktivieren, wenn sie im Weg sind. Deaktivieren wir zum Beispiel die letzte Ebene - der Track:
Es gibt eine gewisse Schwierigkeit beim Hinzufügen einer Karte über Ebenen. Sie müssen die erforderlichen Tags manuell zur Ebene hinzufügen. Das Ergebnis ist jedoch wesentlich besser als das Hinzufügen aller Tags in einer Ebene.
Jetzt kennen Sie alle grundlegenden Funktionen von FastReport VCL 2021. Werden Sie kreativ und erstellen Sie Ihre eigenen schönen Reports. Die Firma Fast Reports wünscht Ihnen viel Glück!