Eine Distance Matrix ist ein Raster aus Reisezeiten und Distanzen zwischen vielen Quellen und vielen Zielen. Sie ist die Datenstruktur hinter jedem "nächste Filiale"-Ranking, jeder Dispositionsentscheidung in der Zustellung und jedem Routenoptimierungs-Solver. Sobald eine Anwendung aus vielen Kandidaten den besten nach Fahrzeit auswählen muss, arbeitet darunter eine Distance Matrix.
Dieser Leitfaden erklärt, was eine Distance Matrix tatsächlich ist, wie sich Reisezeit von der Luftliniendistanz unterscheidet, wo Matrizen produktiv auftauchen und welche Stolperfallen Teams treffen, sobald die Eingabemenge größer wird.
Was eine Distance Matrix wirklich ist
Im einfachsten Fall ist eine Distance Matrix eine zweidimensionale Tabelle. Die Zeilen sind Quellen, die Spalten sind Ziele, und jede Zelle hält zwei Zahlen: eine Distanz und eine Dauer. Bei N Quellen und M Zielen enthält die Matrix N-mal-M Zellen. Eine Anfrage mit 25 Fahrern und 25 Aufträgen erzeugt 625 Zellen in einem einzigen Call.
Die Werte in diesen Zellen stammen aus einer Routing-Engine, die einen realen Straßennetz-Graphen abläuft. Sie wählt den schnellsten Pfad von jeder Quelle zu jedem Ziel, summiert die Segmentkosten und gibt die Gesamtsumme zurück. Das unterscheidet sich grundlegend von einer Haversine-Berechnung, die eine gerade Linie zwischen zwei Koordinaten zieht und ignoriert, dass Gebäude, Flüsse und Einbahnstraßen existieren.
Ein Koordinatenpaar sagt Ihnen, wo zwei Punkte liegen. Eine Distance Matrix sagt Ihnen, was es tatsächlich kostet, von einem zum anderen zu kommen.
Distanz vs. Dauer
Drei verschiedene Zahlen werden gerne als "Distanz" bezeichnet, und sie zu verwechseln ist der häufigste Bug in Routing-Code.
Haversine-Distanz ist der Großkreis-Abstand zwischen zwei Längen-/Breiten-Paaren. Sie ist schnell berechnet, braucht keinen Netzwerk-Call und ist für jede Aufgabe mit Fahrtbeteiligung schlicht falsch. Eine Haversine-Distanz von 2 km kann eine 7-km-Fahrt sein, sobald der Fluss dazwischenliegt.
Straßennetz-Distanz ist die Länge des tatsächlich befahrbaren Pfades. Sie berücksichtigt Einbahnstraßen, Abbiegeverbote und die Topologie des Routinggraphen. Genau das liefert eine Distance Matrix API im Feld distance.
Verkehrssensitive Dauer ist die Zeit, die die Fahrt unter aktuellen oder prognostizierten Verkehrsbedingungen benötigt. Ein 12-km-Autobahnabschnitt sind sechs Minuten um 02:00 Uhr und fünfundzwanzig Minuten um 17:30 Uhr. Produktive Systeme mit ETA-Bezug fragen verkehrssensitive Dauern ab und übergeben eine Abfahrtszeit, damit die Routing-Engine die Stauung korrekt modelliert.
Für Ranking und Disposition gewinnt fast immer die Dauer gegen die Distanz. Einem Fahrer ist es egal, dass der näherliegende Auftrag 800 Meter weiter entfernt ist, wenn er dadurch vier Minuten Fahrzeit spart.
Wo Distance Matrices zum Einsatz kommen
Distance Matrices laufen unauffällig unter den meisten Logistik- und ortsbezogenen Features.
- Fahrer-Zuordnung in der Zustellung: jede offene Bestellung wird gegen jeden verfügbaren Fahrer geprüft. Der Disponent wählt die Zelle mit der niedrigsten Dauer, die Kapazitäts- und Schichtgrenzen einhält
- Fleet Dispatching und Rebalancing: Ride-Hailing- und Last-Mile-Plattformen berechnen Matrizen zwischen Fahrzeugen und Nachfragezonen im Sekundentakt, um Fahrzeuge nahe an den Fahrgästen zu halten
- Standortfinder-Ranking: statt der fünf per Haversine nächsten Filialen berechnet der Locator eine kleine Matrix von der Nutzerposition zu den Kandidaten und sortiert nach Fahrzeit
- ETA-Berechnungen im Maßstab: Marktplätze mit vielen parallelen Bestellungen bündeln ETAs in Matrix-Calls statt Tausende einzelner Routing-Anfragen abzufeuern
- VRP-Solver: Vehicle-Routing-Problem-Solver (OR-Tools, jsprit, kommerzielle Optimierer) brauchen eine vollständige Kostenmatrix als Eingabe. Die Lösungsqualität ist durch die Qualität der eingespeisten Matrix begrenzt
- Standortwahl und Gebietsplanung: Analysten berechnen Matrizen zwischen Kandidatenstandorten und Kundenclustern, um das Lager mit der minimalen Gesamtfahrzeit zu finden
In all diesen Fällen ist die Matrix das Massen-Primitiv. Sie erlaubt einem System, "den besten von vielen" zu bestimmen, ohne die Kosten von N-mal-M einzelnen Routing-Calls zu zahlen.
Stolperfallen im Produktivbetrieb
Distance Matrices sind am ersten Tag einfach und werden schnell anspruchsvoll.
Asymmetrie ist die Regel. Reale Straßennetze haben Einbahnstraßen, getrennte Fahrbahnen und asymmetrische Abbiegekosten. Die Zelle (A, B) ist selten gleich der Zelle (B, A). Die Matrix als symmetrisch zu behandeln, um Speicher zu sparen, ist eine klassische Ursache für Falschfahrer in Dispositionssystemen.
Die N-mal-M-Kosten. Eine 100-mal-100-Matrix sind 10.000 Zellen. Eine 500-mal-500-Matrix sind 250.000 Zellen. Kosten und Latenz wachsen quadratisch. Die meisten produktiven Systeme stückeln Matrizen in Chunks (50-mal-50 oder 100-mal-100), parallelisieren die Requests und cachen Ergebnisse, die sich selten ändern, etwa die Matrix zwischen einer festen Lager- und einer festen Filialmenge.
Tageszeit-Varianz. Eine um 03:00 Uhr berechnete Matrix gilt um 17:00 Uhr nicht mehr. Wenn Ihre Disposition vom Verkehr abhängt, fordern Sie entweder zur Entscheidungszeit eine verkehrssensitive Matrix an oder berechnen Sie eine kleine Menge zeitlich gebucketter Matrizen vor (Morgen-Peak, Tagrand, Abend-Peak) und greifen Sie die passende heraus.
Batching und Rate Limits. Distance Matrix APIs berechnen pro Element, nicht pro Request, und die meisten Anbieter deckeln die Größe eines einzelnen Calls. Planen Sie Chunking und Backpressure von Tag eins, statt es im Skalierungsfall zu entdecken.
Mülleingabe, Müllergebnis. Eine Matrix ist nur so gut wie die zugrundeliegenden Koordinaten. Ein Geocode, der auf der falschen Seite einer getrennten Fahrbahn landet, erzeugt eine wild falsche Dauer. Validieren Sie Eingabekoordinaten, bevor sie in den Matrix-Request gehen.
Distance Matrices in MapAtlas
Die MapAtlas Distance Matrix API berechnet vollständige N-mal-M-Matrizen aus Reisezeit und Distanz auf einem realen europäischen und globalen Straßennetz. Sie unterstützt Profile für Auto, Lkw, Fahrrad und Fußgänger, akzeptiert verkehrssensitive Anfragen mit Abfahrtszeit und ist auf die Batchgrößen ausgelegt, die echte Disposition und Optimierung benötigen.
Für Workloads jenseits des Rankings ergänzt sich die Distance Matrix API natürlich mit der Optimize Route API, die eine Matrix und eine Stoppliste in eine geordnete Route mit minimaler Gesamtfahrzeit überführt, sowie mit der Isochrone API für "alles erreichbar in X Minuten"-Filter, die die Kandidatenmenge vor dem Matrix-Call vorsortieren.
Eine Distance Matrix ist nicht glamourös. Sie ist nur ein Zahlenraster. Aber genau dieses Raster verwandelt "finde den besten von vielen" aus einem N-mal-M-Routing-Albtraum in einen einzigen Bulk-Request, und dieses Datenstück richtig hinzubekommen ist der Unterschied zwischen einem echten Logistikprodukt und einer Demo mit fünf Pins auf der Karte.
Häufig gestellte Fragen
Was ist eine Distance Matrix?
Eine Distance Matrix ist ein N-mal-M-Raster aus Reisezeiten und Distanzen zwischen einer Menge von Quellen und einer Menge von Zielen. Jede Zelle beantwortet genau eine Frage: Wie lange dauert es von Quelle i zu Ziel j, und wie weit ist es. Moderne Distance Matrix APIs berechnen die Werte über ein reales Straßennetz, nicht als Luftlinien, sodass Einbahnstraßen, Abbiegeverbote und routbare Geometrie berücksichtigt werden.
Was ist der Unterschied zwischen Distanz und Dauer?
Distanz ist die Strecke entlang des Straßennetzes in Metern oder Kilometern. Dauer ist die benötigte Zeit in Sekunden, abhängig von Tempolimits, Verkehr und Straßenklasse. Beides ist nicht austauschbar. Zwei Routen können dieselbe Distanz und sehr unterschiedliche Dauern haben, und die meisten produktiven Use Cases (ETA, Disposition, Ranking) interessieren sich für die Dauer. Eine gute Distance Matrix API liefert beides für jede Zelle.
Wann sollte ich eine Distance Matrix statt einzelner Routen nutzen?
Immer dann, wenn viele Kandidaten zu vergleichen sind: die fünf nächsten Filialen aus fünfzig zu ranken, eine Lieferung dem nächstgelegenen verfügbaren Fahrer aus zwanzig zuzuweisen oder einen VRP-Solver zu füttern. Einen einzelnen Routing-Endpoint N-mal-M-mal aufzurufen ist langsam und teuer. Ein Matrix-Endpoint liefert dieselben Daten in einem Request, optimiert auf Massenberechnung.
Sind Distance Matrices symmetrisch?
In realen Straßennetzen so gut wie nie. Die Fahrt von A nach B unterscheidet sich aufgrund von Einbahnstraßen, getrennten Fahrbahnen, Abbiegeverboten und asymmetrischem Verkehr fast immer von der Fahrt B nach A. Eine produktive Distance Matrix API liefert ein vollständiges N-mal-M-Raster, keine Dreiecksmatrix. Wer die Matrix zur Speichereinsparung halbiert, schickt Fahrer auf der falschen Seite los.

