In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
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.
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.
Eine Vorlage, mit welchen Informationen der Datensatz exportiert werden soll, kann im DHL Geschäftskundenportal konfiguriert werden.
Ziel war eine Übersicht über die Kundenverteilung und die Laufzeiten mit Rücksicht auf die Paketgewichte.
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:
PHP Script Abfrage DHL:
PHP Script Abfrage Google Maps (Auszug):
Gewählte Legende / Filter:
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.
Die Visualisierung lieferte überraschende Ergebnisse:
Filter: PLZ-Gebiet: 8, Laufzeit: alle
Filter: PLZ-Gebiet: alle, Laufzeit: bis 4 Tage
Filter: PLZ-Gebiet: alle, Laufzeit: ab 7
Filter: PLZ-Gebiet: alle, Laufzeit: alle, Zoom: NRW
Filter: PLZ-Gebiet: 8, Laufzeit: alle, Karte: Microsoft
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.