Seit der aktuellsten Tableau Version 9.2 ist es möglich benutzerdefinierte Mapbox-Karten in Tableau einzubinden. Dies war zwar vorher auch möglich, nämlich über die Erstellung einer sogenannten .tms-Datei, jedoch war das mit einem Workaround verbunden. Nun kann man ganz bequem direkt in Tableau Desktop eigene Karten integrieren.

Wir haben für unsere Ringbahn-Visualisierung eine Mapbox-Karte mit unseren Corporate Design-Farben erstellt, anhand derer wir in diesem Blogpost das Vorgehen veranschaulichen möchten.

Schritt 1: Mapbox-Account

Zunächst einmal benötigt man einen Mapbox-Account. Um lediglich eine einzige benutzerdefinierte Karte zu erstellen, genügt ein Starter Plan, der kostenfrei ist. Möchte man jedoch “fancy werden”, sprich Daten, wie z.b. Shapefiles für zusätzliche Layer hochladen, würde der Standard Plan benötigt.

Nach der Anmeldung hat man nun die Möglichkeit sich entweder aus einer Sammlung von acht vorgefertigten Karten zu bedienen oder seine eigene, frei konfigurierte Karte zu erstellen. Zu beachten ist hier, dass lediglich mit dem Online Editor oder mit der Desktop Software “Mapbox Studio Classic” erstelle Karten bei Tableau eingebunden werden können. Eine mit “Studio” erstellte Karte wird derzeit nicht unterstützt.

Schritt 2: „Mapbox Studio Classic“ installieren

Da wir eine frei gestaltete Karte erstellen möchten, laden wir zunächst die „Mapbox Studio Classic“ Software herunter. Hier wählen wir als Ausgangsbasis eine der Standardkarten aus und bearbeiten die Styles nach unseren Wünschen. (Man muss also nicht gänzlich “from scratch” starten, um eine eigene Karte zu erstellen.)

Die Karten Styles sind im sogenannten CartoCSS geschrieben. Wer also etwas CSS kennt, wird sich schnell zurecht finden, aber auch ohne vorherige Kenntnisse hat man schnell heraus gefunden, wie das Stylen funktioniert.

Schritt 3: Style auswählen und anpassen

Als Grundlage für unsere M2.-Karte haben wir die Karte „Comic!“ herangezogen und die Wasserfarbe, die Schrift, die Farbe der Grünflächen sowie die Landmaßenbase angepasst.

Und so geht das Schritt für Schritt:

1. Unter „Styles & Sources“ > „New style or source“ wird ein vorhandener Style als Basis ausgewählt, in unserem Fall „Comic!“.

Mapbox_Studio_Classic

2. In dem User Interface, welches sich nun öffnet, werden wir die entsprechenden Einstellungen vornehmen, um zu unserer Karte zu gelangen. Wir sehen die Kartenvorschau in der Mitte, die Styles auf der rechten Seite und das Menü auf der linken.

Zunächst positionieren wir die Karte auf das relevante Gebiet, wie z.B. Berlin. Man kann ganz einfach nach Orten weltweit über das Lupensymbol suchen. (Noch einmal auf das Lupensymbol klicken, um das Fenster zu schließen.)

Mapbox_Studio_Classic_Suche

3. Nun werden wir als Erstes die Grundfarben anpassen. Der Style ist bereits so geschrieben, dass dies ganz leicht an wenigen Stellen nötig ist. In dem ersten Style-Abschnitt unter // Palette // haben wir das Blau mit unserem M2.-Blau ersetzt. Hier kann man entweder Hex Codes oder RGB Farben einfügen oder eine Farbe aus dem Color Picker auswählen. Mit der Tastaturkombination STR + R aktualisieren wir die Ansicht, um die Änderungen zu sehen. Für die Ringbahn-Visualisierung haben wir das S-Bahn-Grün für die Grünflächen verwendet und dann noch die hellen Partien der Karte mit einem etwas dunkleren Ton ersetzt.

Mapbox_Studio_Classic_Farben

4. Nun widmen wir uns der Schrift, die etwas „seriöser“ werden soll. Diese Styles finden wir in dem Tab „labels“ neben dem „style“ Tab. Für unsere Karte haben wir die Ländernamen komplett entfernt. Hierfür genügt es den gesamten Block „#country_label“ mit /* .... */ auszukommentieren. Und dann wird noch dieses zwar witzige, aber für uns unbrauchbare Ausrufezeichen bei text-name entfernt. Dies wird bei #place_label für den type='city' gelöscht. Hier haben wir auch die Schrift von Fett auf Regular geändert. Der gesamte Code für diesen Abschnitt sieht dann so aus:

[type='city'][zoom>=6][localrank=1] {
text-size: 16;
text-name: "[name_de]";
text-face-name: @regular;
text-size: 18;
text-wrap-width: 150;
[zoom>=10] { text-size: 18; }
[zoom>=12] { text-size: 24; }
}

Wir kommen der Sache näher! 🙂

5. Als nächstes möchten wir die gestrichelten Linien rund um die Bundesländer entfernen. Hierfür werden unter admin_level die Styles entfernt, die pro Zoom Level die Linie als „dashed“ definieren.

Mapbox_Studio_Classic_dashedline

6. Da wir so viel Fläche wie möglich auf der Karte für die Visualisierung von Daten in Tableau haben möchten, entfernen wir als nächstes die Point of Interest Labels (#poi_label). Hierfür wird wieder der gesamte Abschnitt auskommentiert.

7. Ihnen wird vielleicht aufgefallen sein, dass das Grün der Grünflächen nicht die von uns geänderte Farbe übernommen hat. Dies liegt daran, dass die Grünflächen mithilfe von sogenannten „halftone patterns“, also einem kleinen quadratischen Bild mit einem Druckraster, gestylt sind. Was auch diesen schönen haptischen Look and Feel ergibt. Wir haben also diese Datei mit einer anderen Halftone Datei ersetzt, die wir nun mit unserer Farbe einfärben können. Die neue Datei muss innerhalb des Ordners, welchen Mapbox anlegt, wenn wir unser Projekt speichern, abgelegt und referenziert werden. Der Code hierfür lautet:

#building::fill[zoom>=13][zoom<=22] {
polygon-pattern-file:url(img/halftone_15_medium.png);
polygon-fill: @light;
polygon-pattern-alignment:global;
polygon-pattern-clip:false;
line-color:@dark;
line-width:0.5;
line-clip:false;
}

8. Nun sind noch weitere Styles erfolgt, wie z.B. die Gebäude nicht grün, sondern hell sowie mit einer dünneren Linie darzustellen.

9. Als letztes möchten wir Ihnen noch vorstellen, wie man die Karte, wie eine eingescannte Papierkarte wirken lässt. Hierfür haben wir anstatt der Hintergrund-Farbe wieder eine Bilddatei gewählt (die wir schon fertig in dem Style vorgefunden haben :)).

Map {
background-image:url(img/paper.png);
}

Herzlichen Glückwunsch zu Ihrer neuen selbst gestylten Karte! 🙂

Schritt 4: Speichern und auf den Mapbox Server hochladen

Falls nicht schon geschehen, wird die Karte nun lokal gespeichert und unter „Settings“ auf den Mapbox-Server hochgeladen.

Mapbox_Studio_Classic_upload

Schritt 5: Access Token & Map ID

Zum Endspurt wird es nun einfach. Tableaus neue Integration macht es sehr leicht die neue Karte einzubinden.

Hierfür wird die sogenannte Map ID der Karte benötigt sowie der allgemeine Account Access Token. Den Access Token erhalten Sie auf der Startseite Ihres Mapbox-Accounts.

Home___Mapbox__accesstoken

Die Map ID der Karte erscheint nach dem Upload auf den Server in der Desktop Software bzw. ist sie auch unter “Classic” auf der Mapbox-Website zu finden.

Mapbox_Studio_Classic_mapid

Schritt 6: Einbinden in Tableau 

Nun öffnen wir Tableau und erstellen beispielsweise mit dem Superstore-Datensatz eine Karte. Im Menü wählen wir bei Map > Background Maps und dann „Map Services…“ aus.

tableau_mapservices

Hier fügen wir einen neuen Map Service als “Mapbox Map” hinzu.

add_mapservice

Nachdem der Name und der Access Token eingetragen sind, haben wir hier die Wahl zwischen den Standard-Mapbox-Karten oder einer Custom erstellten Karte, für die wir die Map ID benötigen. Diese eintragen, dann auf OK klicken.

add_mapbox_maps

Et voilà – die eigene Mapbox Karte ist nun in Tableau eingebunden! 🙂

mapbox_karte_in_tableau

 

Wir hoffen, wir konnten Ihnen mit diesem Tutorial Mapbox-Karten in Tableau näher bringen. Falls Sie Fragen haben sollten oder Hilfe bei Ihren Projekten mit Custom Maps benötigen, kontaktieren Sie uns gerne!

Wenn Sie jetzt noch einen Schritt weiter gehen und zusätzliche Daten über Layer abbilden möchten, finden Sie in unserem Blog demnächst ein weiteres Tutorial zu Mapbox und wie man mehrere Layer aus z.B. Shapefiles erstellt und einbindet.