Lieferrouten, Laufstrecken, Leitungsnetze: Sobald Verbindungen zwischen Orten dargestellt werden sollen, reichen einzelne Punkte auf der Karte nicht mehr aus. Häufig liegen die Daten aber genau so vor, als Koordinatenpaare in einer Excel-Datei.
Der saubere Weg führt über ein Shapefile. Du baust die Liniengeometrie einmal in Alteryx und lädst sie als räumliche Datei in Tableau. Der Vorteil: Pro Linie steht nur eine Zeile im Datensatz. Attribute wie Betreiber, Spannungsebene oder Länge hängen direkt daran, ohne dass sich die Daten vervielfachen.
Tableau-Visualisierung des Übertragungsnetzes
Als Beispiel dient das europäische Strom-Übertragungsnetz, Quelle ist SciGrid. Die Daten liegen als Excel-Datei vor.
Die Ausgangsstruktur
Die Koordinaten stecken in einem Feld namens wkt_srid_4326. Der Inhalt sieht so aus:
l_id gruppiert die Punkte, die zu einer Linie gehören. Im Beispiel sind das jeweils zwei.
Koord_ID gibt die Reihenfolge an, hier 1 für den Start- und 2 für den Endpunkt.
X enthält den Längengrad, Y den Breitengrad, jeweils in einer eigenen Spalte.
Wie Du aus dem WKT-Feld dorthin kommst, steht weiter unten im Abschnitt zum Workflow.
Punkte erzeugen
Ab hier arbeitest Du mit den dunkelgrünen Geodaten-Werkzeugen. Das erste ist „Punkte erstellen” (Create Points).
Punkte-Erstellen Tool in Alteryx
Als X-Feld wählst Du den Längengrad, als Y-Feld den Breitengrad. Bei den drei Optionen darunter ist „Fields are Lat/Long Floating Point” die richtige, weil die Werte als Dezimalzahlen vorliegen. Das passt zu SRID=4326 aus den Ausgangsdaten.
Alteryx erzeugt daraus ein Feld namens Centroid mit einer Punktgeometrie. Über den Reiter „Map” im Browse-Tool kannst Du Dir das Ergebnis direkt ansehen. Dieser Zwischenschritt lohnt sich: Vertauschte X- und Y-Felder fallen auf der Karte sofort auf, in der Tabelle dagegen nicht.
Punkte zu Linien verbinden
Aus den einzelnen Punkten wird jetzt eine Liniengeometrie. Dafür ist das Tool „Poly-Erstellung” (Poly-Build) zuständig.
Poly-Erstellung-Tool in Alteryx
Vier Einstellungen sind nötig. Als Build Method wählst Du „Sequence Polyline”, weil eine Linie entstehen soll und kein Polygon. Als Source Field gibst Du das zuvor erzeugte Punktfeld an, also Centroid. Das Group Field ist l_id und bestimmt, welche Punkte zu einer Linie gehören. Das Sequence Field ist Koord_ID und legt die Reihenfolge innerhalb der Gruppe fest.
Ohne die Sequenz weiß Alteryx nicht, in welcher Reihenfolge die Punkte verbunden werden sollen. Bei zwei Punkten fällt das kaum ins Gewicht, bei einer Route mit zwanzig Stationen entstehen daraus Zickzacklinien.
Die Ausgabe besteht nur noch aus der Gruppierungs-ID und dem Feld SpatialObj_Built mit der fertigen Liniengeometrie. Aus den ursprünglich vielen Punktzeilen ist eine Zeile pro Linie geworden.
Als Shapefile speichern
Im Ausgabedaten-Tool wählst Du .shp als Dateiformat. Nur so werden die Geometrieinformationen mitgeschrieben.
Beim Speichern legt Alteryx neben der .shp-Datei weitere Dateien mit demselben Namen an, darunter eine .dbf und eine .shx. Das ist kein Fehler, sondern Teil des Formats: Ein Shapefile ist ein Dateipaket, keine Einzeldatei. Alle Teile müssen im selben Ordner liegen, sonst lässt es sich nicht öffnen. Beim Verschieben oder Versenden also immer den ganzen Satz mitnehmen.
In Tableau öffnen
Die .shp-Datei lädst Du in Tableau über „Räumliche Datei” als Verbindung.
Shapefile-Import in Tableau
Tableau erkennt die Geometrie automatisch, erkennbar am Globus-Symbol über dem Feld. In der Vorschau steht pro Zeile ein LINESTRING, also genau eine Linie. Ein Doppelklick auf das Geometriefeld in einem neuen Arbeitsblatt genügt, und alle Linien erscheinen auf der Karte.
Weil pro Linie nur eine Zeile existiert, kannst Du beliebige Attribute daran verknüpfen, ohne dass sich die Zeilenanzahl vervielfacht. Im Beispiel sind das Spannungsebene, Betreiber, Leitungsname und Länge, wie im Tooltip ganz oben zu sehen.
Der Workflow in Alteryx
Bleibt die Frage, wie aus dem WKT-Feld die Tabelle mit einer Zeile pro Punkt wird.
Kompletter Alteryx Workflow
RegEx-Tool. Ein regulärer Ausdruck liest die vier Koordinatenwerte aus dem WKT-Feld aus und schreibt sie in die Spalten X1, Y1, X2 und Y2. Zu diesem Zeitpunkt steht eine Linie noch komplett in einer Zeile.
Zeilen erzeugen. Jede Zeile wird verdoppelt. Dabei entsteht ein Zählfeld mit den Werten 1 und 2, das später zur Koord_ID wird.
Zwei Formel-Tools. Sie schreiben in der zweiten Zeile jeder Linie den Endpunkt in die Startpunkt-Spalten:
X1 = if [RowCount] = 2 then [X2] else [X1] endif Y1 = if [RowCount] = 2 then [Y2] else [Y1] endif
Danach steht in X1 und Y1 bei Zählwert 1 der Start- und bei Zählwert 2 der Endpunkt.
Auswählen-Tool. Die nicht mehr benötigten Spalten X2 und Y2 fliegen raus.
Es folgen die beiden Geodaten-Schritte aus den vorherigen Abschnitten.
Join am Ende. Die Ausgabe der Poly-Erstellung wird über l_id wieder mit den Attributen aus der Eingabedatei verknüpft. So liegen Geometrie und Sachdaten zusammen vor.
Wann sich der Umweg lohnt
Für eine einmalige Karte mit wenigen Verbindungen kannst Du die Linien auch direkt in Tableau aus Punktdaten zeichnen. Der Weg über das Shapefile zahlt sich aus, wenn die Geometrie mehrfach verwendet wird, viele Attribute daran hängen oder die Rohdaten regelmäßig neu kommen. Dann läuft der Alteryx-Workflow einmal durch und liefert eine Datei, die in jeder Tableau-Arbeitsmappe sofort einsatzbereit ist.
Unterstützung bei Alteryx und Tableau
Geodaten sind einer der Bereiche, in denen die Aufbereitung mehr Zeit kostet als die Visualisierung selbst. Wenn solche Schritte bei Euch regelmäßig anfallen, lohnt es sich, sie sauber zu automatisieren statt jedes Mal neu zu bauen.