Beschreibung

Ziel ist es Bild als Hintergrundkarte laden und einige Elemente klickbar machen. Dabei sollen die Elemente mit den Daten der App verknüpft werden.

Tools

  • Bildbearbeitungsprogramm (egal welches)
  • QGIS (Version 3.16.3 Hannover)
  • Qlik Sense, mit der Standard Karte (ab Qlik Sense Juni 2019)

How To Anleitung

  1. Bild suchen und die Grösse (Anzahl Pixel für Breite und Höhe ermitteln.
  2. QGIS starten und die Properties des neuen Projektes anpassen.



    Dabei muss vor allem das Coordinate Referenc-System angepasst werden. Damit es dann später auf Qlik Sense passt. Hier muss das WGS 84 / Preudo-Mervator (EPSG:3857) gewählt werden.

  3. Nun muss das Bild (da ein Pixcel Grafik) über das Georeferencing eingefügt werden.
    Damit der nächste Layer darauf aufsetzten kann. Im QGSI unter dem Menü Punkt «Raster / Georeferencer».



  4. Öffnet sich ein neues Fenster für das Georeferenzing muss das Basisbild eingefügt werden, das wird mit dem Button der Markiert wurde im Bild unten gemacht.



  5. Nun kann im neu geöffneten Fenster das Bild selektiert werden.

  6. Nun müssen die Eckpunkte definiert werden. Dazu kann das Werkzeug das gelb Markiert wurde im Bild unten kann das sehr gut machen.



    Dabei sollte immer Oben links anfangen werden, dieser Punkt ist 0, 0. Danach Unten rechts, das ist der Punkt mit den Werten Max Länge und Max Höhe. Hier ist darauf zu achten, dass die Höhe Negativ (z. B. -1080) ist. Danach können die anderen Beiden Ecken, Oben rechts und Unten links definiert werden.

  7. Nach dem alle Ecken definiert sind, kann die Tabelle im Unteren Bereich bearbeitet werden. Dort können die Werte noch korrigiert werden falls nötig. Die Punkte auf dem Bild (Source X und Source Y) können hier auch noch angepasst werden, falls der Punkt nicht genau da ist wo er sein soll. Meist sind das die Werte des Bildes in Pixel.



    Die Eck-Punkte die erfasst sind, Source und Destination sind sehr wichtig, diese Koordinaten sind für das Georeferencing die Basis, wenn diese nicht korrekt sind, stimmt später die Koordinaten auch nicht.

  8. Nun muss das ganze noch gerendert werden, das kann mit dem Markierten Icon ausgeführt werden. Dabei erscheint die Eingabemaske wie unten.



    Dort kann eingestellt werden welches Koordinaten-System verwendet werden soll, hier sollte auch wieder das «EPSG:3857 – WGS84 / Pseudo-Mercator» System verwendet werden. Die anderen Parameter können auf dem Default Wert bleiben.

  9. Durch klicken auf den OK Button, wird das Bild gerendert und steht ab jetzt zur Verfügung im QGIS. Wenn es geklappt hat ist das Bild nun im QGIS Project enthalten. 



  10. Nun kann ein Shape File erstellt werden im QGIS. Das wird mit dem Werkzeug das gelb Markiert ist gemacht. Auf dem Shape File werde dann die klickbaren Elemente erstellt.



  11. Das neue Shape File, muss folgende Parameter eingestellt werden.



    Hier muss der Name des Shape Files definiert werden. Dabei muss der Name und der Pfad zum Speicherort definiert werden. Geometric type hier kann definiert werden was für eine Form später verwendet werden soll, beim Beispiel wurden Polygone (Rechtecke) gewählt. Auch hier wieder das Koordinaten System des Projektes wählen so das alles zusammen passt. Beim New Field können Felder die den Formen zugewiesen werden erstellt werden. Im Beispiel ist das das Feld Kasse, das wird das Link-Feld werden in Qlik Sense.
  12. Polygone erstellen für das Bild. Damit Polygone erstellt werden können, die später selektierbar sind in Qlik Sense, müssen die beiden Buttons in der Grafik unten angewählt werden.



  13. Polygone zeichnen, durch klicken der linken Maustaste kann ein Polygon erstellt werden. Das Polygon kann abgeschlossen werden mit der rechten Maustaste. Wenn die rechte Maustaste gedrückt wird, erscheint die Eingabemaske für die Felder die im Shape File erfasst wurden.


    Id ist eine Nummer die einfach erfasst werden kann.
    Kasse ist der Wert der später in Qlik Sense gelinkt werden soll, Bsp. Kasse 1, Kasse 2
  14. Wenn alle Polygone erstellt wurden, kann das Shape Fiel als KML File exportiert werden.



  15. Folgende Parameter müssen im Export für das KML File erfasst werden.



    Hier muss der File Name mit dem Namen und dem Pfad erfasst werden. Und unten das Feld NameField muss das Feld das im Shape File erstellt wurde eingetragen werden (Bsp. Kasse).

    Dann kann der OK Knopf gedrückt werden, dadurch wird das KML File erstellt.

  16. Nun muss das KML File noch in Qlik Sense importiert werden, dabei hilft der Wizard von Qlik Sense, auch im Script. Dabei sollte das Feld mit Kasse noch so angepasst werden Dass es gleich heisst wie das Feld im Script.
    Beispiel Skript
    Kassen_KML:
    LOAD
        Kasse3.Name as Kasse,
        Kasse3.Point,
        Kasse3.Area,
        Kasse3.Line
    FROM [lib://[Verbindung zum KML File]/Kasse3.kml]
    (kml, Table is [Kasse3/Kasse3]);
  17. Nun noch ein Qlik Sense Karten Objekt mit 3 Layern erstellen
    Layer 1 ist ein Punkt Layer der die 4 Ecken des Bildes definiert. Dadurch ist das Zoom immer auf der Grösse des Bildes. In der Section «Standort» wir Breitengrad = -mapY / scale und Längengrad = mapX / scale angeben. Dazu muss aber die Tabelle unten im Skript geladen werden.

    Beispiel Skript
    bgPic:
    LOAD RecNo() AS autoId, * Inline [
    mapX,mapY
    0,0
    1752,1173
    0,1173
    1752,0
    ];

    Diese Tabelle wird später noch verwendet. Auf dem Hintergrundbild Layer.

    Layer 2 ist das Hintergrundbild, das Bild muss von einem Webserver (z.B. DropBox, Qlik Sense Server, etc.) geladen werden.
    Beispiel Link für Qlik Sense «https://qliksense02.informatec.com/appcontent/bc8aaeae-c2b9-473e-86dd-3b7cb0323234/kassen.png»

    Hier ist wichtig, dass die Grösse des Bildes korrekt angegeben wird. Oben = 0, Links = max({1} mapX) / scale, Unten = max({1} mapY) / scale, Rechts = 0.

    Die Variable scale = ist eine Skalierung die das Bild und die Polygone anpasst. Es ist in etwa der Wert 111250, dieser Wert muss je nach dem noch etwas angepasst werden. Damit die Polygone und das Hintergrundbild genau passen.

    Layer 3 Gebietsebene, hier werden die Daten des KML Files eingetragen. Als Dimension wird das Link Feld (z.B. Kasse) eingetragen. Beim der Section «Standort» wird das Feld «Kasse.Area» verwendet. Dieses Feld enthält die Polygone.

  18. Nun sollte das alles passen, aber als Hintergrund ist immer noch die Karte zu sehen. Diese kann ausgeblendet werden in dem auf dem Kartenobjekt in der Section «Karteneinstellungen» die Basiskarte auf den Wert «Keine» gesetzt werden.

    Alle anderen Parameter können wie gewohnt beim Kartenobjekt ein oder ausgeschalten werden.

 

 

 

Alternative Lösung Alles manuell erstellen

Falls das zu kompliziert ist, kann das KML File auch durch eine Inline Tabelle mit der Struktur

ID, «LinkFeld», AREA

Ersetzte werden. Dabei muss aber das Feld AREA die Angaben der Polygone enthalten. Die Polygone müssen wie folgt aussehen

[[[[x1,-y1],[x2,-y2],[x3,-y3],[x4,-y4],[x1,-y1]]]]

Wobei x1, -y1 = der erste Punkt des Polygons Oben links und x3, -y3 der Punkt Unten rechts ist. Die Angaben werden in Pixel gemacht, Basis ist immer das Bild. Wenn es so gemacht wird, wird die Variable scale nicht verwendet.

Es müssen aber auch dir drei Ebenen erstellt werden, das ist wichtig für das Kartenobjekt.