Anwendungsfälle

Eine einfache Geofencing-Benachrichtigung für eine Logistik-App bauen

Eine vollständige Plattform zur Flottenverfolgung war mehr, als ein kleines Logistikunternehmen für das eine konkrete Anliegen brauchte, nach dem sein Dispositionsteam immer wieder fragte: eine einfache Benachrichtigung in dem Moment, in dem ein Lieferwagen an einem bestimmten, wichtigen Kundenstandort ankam oder ihn verließ. Das war nützlich für Kunden, die im Voraus über eine eintreffende Lieferung informiert werden wollten, und für die eigene Dokumentation des Unternehmens, wann eine Lieferung tatsächlich ihr Ziel erreicht hatte, statt sich auf den Tagesbericht eines Fahrers zu verlassen.

Die Bausteine dafür waren einfacher als eine vollständige Tracking-Plattform, und das Unternehmen erhielt bereits GPS-Koordinaten von seinen Lieferfahrzeugen über die Mobilgeräte, die die Fahrer bei sich trugen. Was fehlte, war eine Möglichkeit, einen Kundenstandort als Grenze zu definieren und eingehende Koordinaten damit abzugleichen, sowie eine Möglichkeit, eine rohe Koordinate verständlich zu machen, wenn etwas eine für Menschen lesbare Beschreibung statt eines Zahlenpaars brauchte.

Für jeden wichtigen Kundenstandort geokodierte das Unternehmen die Adresse des Standorts über /v1/forward, um eine feste Referenzkoordinate zu erhalten, und legte dann einen kleinen Radius um diesen Punkt fest, der die Ankunftsgrenze des Standorts darstellte. Das war eine einfache Umkreisprüfung statt einer komplexen, individuell geformten Grenze, denn ein Radius war für die tatsächlichen Standorte des Unternehmens genau genug, hauptsächlich Lager und Laderampen ohne ungewöhnliche oder unregelmäßige Grenzen. Während die GPS-Koordinaten eines Lkw eintrafen, berechnete das eigene Backend des Unternehmens die Entfernung von jedem verfolgten Lkw zum Referenzpunkt jedes relevanten Standorts und löste einen Ankunftsalarm aus, sobald ein Lkw in den Radius hineinfuhr, und einen Abfahrtsalarm, sobald er ihn wieder verließ.

/v1/reverse spielte eine unterstützende Rolle für die menschliche Seite dieses Systems: Wenn ein Disponent einen Alarm prüfen oder einem unerwarteten Muster nachgehen musste, etwa einem Lkw, der einen Standort scheinbar verließ und sofort zurückkehrte, machte die Auflösung der rohen Koordinate in eine lesbare Adresse und Ortsbeschreibung die Prüfung deutlich schneller, als mit einem Zahlenpaar auf einer Karte zu arbeiten, das erst manuell untersucht werden musste, um es zu deuten.

Das Unternehmen hielt das bewusst einfach, statt auf eine vollständige Plattform für Routenoptimierung oder Flottenmanagement hinzuarbeiten, denn das konkrete Problem, das es löste, Ankunfts- und Abfahrtsalarme für eine festgelegte Liste wichtiger Standorte, brauchte das meiste von dem, was eine größere Plattform bieten würde, gar nicht. Nur das Nötige zu bauen hielt das Projekt klein genug, um es schnell auszuliefern und ohne eigenes Entwicklungsteam zu pflegen.

Kunden, die Ankunftsalarme erhielten, berichteten von echtem Nutzen durch die Vorwarnung, besonders solche mit wenig Personal vor Ort, die ein paar Minuten Vorlauf brauchten, um jemanden für die Annahme einer Lieferung bereitzuhaben, statt überrascht zu werden. Das war eine kleine betriebliche Verbesserung für den Kunden, deren Aufbau das Logistikunternehmen relativ wenig kostete.

Die Geokodierung der Standorte war ein einmaliger Einrichtungsaufwand, klein angesichts der wenigen Standorte mit hoher Priorität, die diese besondere Behandlung brauchten, und die Nutzung der Reverse-Geokodierung richtete sich danach, wie oft ein Disponent einem bestimmten Alarm nachgehen musste, eine leichte und gelegentliche Last statt einer ständigen. Beides blieb für ein Unternehmen dieser Größe bequem innerhalb des kostenlosen Tageskontingents.

Die Dokumentation zu beiden Endpunkten finden Sie unter /docs/forward-geocoding/ und /docs/reverse-geocoding/.