Incom ist die Kommunikations-Plattform der Hochschule Magdeburg-Stendal

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Incom ist die Kommunikations-Plattform der Hochschule Magdeburg-Stendal mehr erfahren

Finales Projekt

Meine Semesterprojekt zum Thema „Generative Produktgestaltung“ analysiert die Paketsendungen eines Online-Versenders für Tennisartikel. Es wurden insgesamt 1165 Pakete verfolgt, die innerhalb Europas in einem Zeitraum von 3 Monaten versendet wurden. Interessante Marker der Pakete waren der Lieferort, die Laufzeit und das Paketgewicht. Per Filter konnten die Postleitzahlbereiche und die Laufzeiten eingegrenzt werden.

Was wurde visualisiert?

Anhand der Versandinformationen aus dem DHL Geschäftskundenportal wurden Lieferort, Laufzeit und Paketgewicht der letzten ca. 1200 Sendungen aus ca. 3 Monaten visualisiert. Mittels der Adressinformationen aus dem DHL Datensatz (PLZ, Ort) konnten über die Google Maps API Längen- und Breitengrade der Lieferadressen ermittelt werden.

Ansicht-DHL-Portal.jpgAnsicht-DHL-Portal.jpg

Eine Vorlage, mit welchen Informationen der Datensatz exportiert werden soll, kann im DHL Geschäftskundenportal konfiguriert werden.

Ansicht-DHL-Portal-Konfigurator.jpgAnsicht-DHL-Portal-Konfigurator.jpg

Warum wurde visualisiert?

Ziel war eine Übersicht über die Kundenverteilung und die Laufzeiten mit Rücksicht auf die Paketgewichte.

Vorgehensweise

Geodaten abfragen Geodaten via Google Maps Api anhand der Versandadressen mit PHP abfragen. Die Google Maps Api gibt Geokoordinaten (Längen-, und Breitengrade) zurück, wenn man ihr Adressdaten liefert. Je genauer die Adressdaten, umso feiner sind auch die resultierenden Geokoordinaten.

Fehlende Versanddaten abfragen Abfrage fehlender Versanddaten (Lieferdatum) über die DHL API anhand der Sendungsnummer mit PHP. Da das DHL Geschäftskundenportal keine Informationen über das Lieferdatum enthält, muss man dieses anhand der Sendungsnummer nochmals separat für jedes Paket abfragen.

Laufzeiten berechnen Laufzeiten berechnen, da diese nicht von DHL zurückgegeben werden. Da auch die schlussendlichen Paketlaufzeiten nicht von DHL geliefert werden, müssen diese anhand des Absendedatums und des Lieferdatums berechnet werden. Die Laufzeit ergibt sich logischer Weise aus der Differenz der beiden Datumsangaben.

Daten zusammenführen und auf Landkarte abbilden Daten von Google Maps (CSV) und DHL (CSV) zusammenführen um sie auf der “unfolding” Karte abbilden zu können. Das Plugin „Unfolding Maps“ stellt Ortsmarken auf einer Landkarte dar. Die Geodaten der Ortsmarken werden aus einer CSV-Datei importiert. Das Unfolding Plugin Karten verschiedener Anbieter an. Um die Übersicht zu wahren, habe ich Karten des Providers ESRI verwendet. Etwas weiter unten findet sich als Beispiel aber auch eine Ansicht mit Kartendaten von Microsoft. Weitere Kartenanbieter sind beispielsweise Immobilienscout, Google, Yahoo oder OpenStreetMap.

Filter implementieren Mittels ControlP5, ebenfalls einem Plugin für Processing, wurden Buttons eingerichtet mit denen nach verschiedenen Kriterien wir PLZ und Paketgewichten gefiltert werden kann. Gewichte und PLZ stammen aus dem oben erwähnten DHL Datensatz.

Die Struktur des finalen Datensatzes:

Ansicht-Finaler-Datensatz.jpgAnsicht-Finaler-Datensatz.jpg

PHP Script Abfrage DHL:

Ansicht-API-Abfrage-DHL.jpgAnsicht-API-Abfrage-DHL.jpg

PHP Script Abfrage Google Maps (Auszug):

Ansicht-API-Abfrage-GoogleMaps.jpgAnsicht-API-Abfrage-GoogleMaps.jpg

Gewählte Legende / Filter:

Ansicht-Legende.jpgAnsicht-Legende.jpg

Technische Hürden

Einbindung des Unfolding Plugins bzw. der jeweiligen Karten
 Die Implementierung des Unfolding Plugins ging relativ schnell von statten. Das Einarbeiten in die Klassen und Funktionen des Plugins dauerte dagegen recht lange.

Berechnen der Paketlaufzeiten mit PHP Es klingt trivial, aber die Berechnung der Paketlaufzeiten dauert unendlich lange und war voller Fehler und Hürden. Die einfach Subtraktion der beiden Datumsangaben artete in einer stundenlangen Fehlersuche aus. Schlussendlich stellte sich heraus, dass eine der beiden Datumsangaben nicht in einer von PHP erwarteten Form vorlag und es auf aufgrund dessen zu falschen Ergbnissen kam. Das Ärgerliche: nur manche Ergebnisse waren falsch, nicht alle!

Umdenken von PHP / JS zu Processing
 Obwohl ich seit vielen Jahren mit PHP und JavaScript arbeite, erforderte Processing ein Umdenken, welches auch immer wieder zu Fehlern führte deren Behebung Zeit in Anspruch nahm.

Ergebnis

Die Visualisierung lieferte überraschende Ergebnisse:

  1. deutliche Konzentration von Kunden in Westdeutschland und Berlin
  2. 10% der Sendungen sind länger als 7 Tage unterwegs. Das ist deutlich zuviel!
  3. die Lieferzeit ist nicht Abhängig vom Paketgewicht. Die 10% Lieferungen mit zu langen Laufzeiten bestehen sowohl aus schweren als auch leichten Paketen

Finale-Ansicht.jpgFinale-Ansicht.jpg

Filter: PLZ-Gebiet: 8, Laufzeit: alle

Ansicht-Final-PLZ8-LaufzeitAlle.jpgAnsicht-Final-PLZ8-LaufzeitAlle.jpg

Filter: PLZ-Gebiet: alle, Laufzeit: bis 4 Tage

Ansicht-Final-PLZAlle-Laufzeit4.jpgAnsicht-Final-PLZAlle-Laufzeit4.jpg

Filter: PLZ-Gebiet: alle, Laufzeit: ab 7

Ansicht-Final-PLZAlle-Laufzeit7.jpgAnsicht-Final-PLZAlle-Laufzeit7.jpg

Filter: PLZ-Gebiet: alle, Laufzeit: alle, Zoom: NRW

Ansicht-Final-PLZAlle-LaufzeitAlle-Zoom.jpgAnsicht-Final-PLZAlle-LaufzeitAlle-Zoom.jpg

Filter: PLZ-Gebiet: 8, Laufzeit: alle, Karte: Microsoft

Ansicht-Final-PLZAlle-LaufzeitAlle-KarteMicrosoft.jpgAnsicht-Final-PLZAlle-LaufzeitAlle-KarteMicrosoft.jpg

Vergleich der Lieferdaten mit einer Karte der Bevölkerungsdichte in Deutschland Die überraschende Kundenverteilung lässt sich leicht anhand einer Karte der Bevölkerungsdichte erklären. Die untenstehende Abbildung macht deutlich, dass sich die Zielorte in den Ballungszentren bzw. Bevölkerungsreichen Gebieten konzentrieren.

Ansicht-Vergleich-Bevoelkerungsdichte.jpgAnsicht-Vergleich-Bevoelkerungsdichte.jpg

Ein Projekt von

Fachgruppe

Sonstige

Art des Projekts

Studienarbeit im Masterstudium

Entstehungszeitraum

Sommersemester 2018