Skip to main content
Distance Matrix क्या है? Travel Times, APIs, और Routing
Guides

Distance Matrix क्या है? Travel Times, APIs, और Routing

Distance matrix कई origins और destinations के बीच travel times और distances का एक grid है। जानें distance matrix API कैसे काम करता है

Brent van der Heiden7 min read
#distance matrix#distance matrix api#travel time#routing#fleet dispatch#maps api

Distance matrix कई origins और कई destinations के बीच travel times और distances का एक grid है। यह हर "nearest store" ranking, हर delivery dispatch decision, और हर route optimisation solver के पीछे की data structure है। जब भी किसी application को drive time के आधार पर कई candidates में से सबसे अच्छा चुनना होता है, तो distance matrix अंदर ही अंदर काम करती है।

यह guide बताती है कि distance matrix असल में क्या है, travel time straight-line distance से कैसे अलग है, ये matrices production systems में कहाँ दिखती हैं, और input set कुछ points से ऊपर बढ़ने पर कौन से pitfalls teams को परेशान करते हैं।

Distance Matrix असल में क्या है

सबसे सरल रूप में, distance matrix एक two-dimensional table है। Rows origins हैं, columns destinations हैं, और हर cell में दो numbers होते हैं: distance और duration। N origins और M destinations के साथ, matrix में N गुणा M cells होते हैं। 25 drivers और 25 jobs वाली request एक call में 625 cells produce करती है।

उन cells की values एक routing engine से आती हैं जो असली road network graph पर चलता है। यह हर origin से हर destination तक सबसे तेज़ path चुनता है, segment costs जोड़ता है, और total return करता है। यह haversine calculation से मूलभूत रूप से अलग है, जो दो coordinates के बीच सीधी रेखा खींचती है और इस तथ्य को नज़रअंदाज़ करती है कि buildings, नदियाँ, और one-way streets मौजूद हैं।

Coordinate pair आपको बताता है कि दो points कहाँ हैं। Distance matrix आपको बताती है कि उनके बीच जाने में असल में क्या cost लगता है।

Distance बनाम Duration

तीन अलग-अलग numbers को अक्सर "distance" कहा जाता है, और इन्हें confuse करना routing code में सबसे आम bug है।

Haversine distance दो latitude और longitude pairs के बीच great-circle distance है। इसे compute करना तेज़ है, इसमें कोई network call नहीं चाहिए, और यह उस हर task के लिए गलत है जिसमें driving शामिल है। 2 km haversine distance असल में 7 km की drive हो सकती है जब आप उस नदी का ध्यान रखते हैं जिसे आप पार नहीं कर सकते।

Road-network distance असली driveable path की लंबाई है। यह one-way streets, turn restrictions, और road graph की topology का ध्यान रखती है। यही वह value है जो distance matrix API distance field में return करता है।

Duration with traffic वह समय है जो trip में लगेगा, current या predicted traffic conditions को देखते हुए। 12 km motorway segment 02:00 पर छह minutes का है और 17:30 पर पच्चीस minutes का। ETAs की परवाह करने वाले production systems traffic-aware durations माँगते हैं और departure time pass करते हैं ताकि routing engine congestion को सही ढंग से model कर सके।

Ranking और dispatch के लिए, duration लगभग हमेशा distance पर भारी पड़ती है। Driver को इस बात की परवाह नहीं है कि करीबी job 800 metres ज्यादा दूर है, अगर इससे drive में चार minutes बचते हैं।

Distance Matrices कहाँ दिखती हैं

Distance matrices चुपचाप अधिकांश logistics और location-aware features को चलाती हैं।

  • Delivery driver assignment: हर pending order को हर available driver के against match किया जाता है। Dispatcher वह cell चुनता है जिसमें सबसे कम duration हो और जो vehicle capacity और shift constraints का पालन करे
  • Fleet dispatching और rebalancing: ride-hailing और last-mile platforms हर कुछ seconds में vehicles और demand zones के बीच matrices compute करते हैं ताकि cars riders के पास रहें
  • Store और venue locator ranking: haversine से पाँच सबसे करीबी stores return करने के बजाय, locator user की location से candidates तक एक छोटी matrix compute करता है और drive time से rank करता है
  • Scale पर ETA calculations: एक साथ कई orders वाले marketplaces ETAs को matrix calls में batch करते हैं, हजारों single-route requests fire करने के बजाय
  • VRP solvers: vehicle routing problem solvers (OR-Tools, jsprit, commercial optimisers) को input के रूप में पूरी cost matrix चाहिए। Routing solution की quality उस matrix की quality से सीमित होती है जो आप उसे feed करते हैं
  • Site selection और territory planning: analysts candidate locations और customer clusters के बीच matrices compute करते हैं ताकि वह warehouse चुना जा सके जो total drive time को कम से कम करे

इन सब में, matrix bulk-computation primitive है। यही उस system को "कई में से सबसे अच्छा" पर reason करने देता है, बिना N गुणा M individual routing calls की cost चुकाए।

Production में आम Pitfalls

Distance matrices पहले दिन आसान होती हैं और जल्द ही कठिन हो जाती हैं।

Asymmetry default है. असली road networks में one-way streets, divided carriageways, और asymmetric turn costs होते हैं। Cell (A, B) पर value शायद ही कभी (B, A) पर value के बराबर होती है। Memory बचाने के लिए matrix को symmetric मानना dispatch systems में wrong-way routing के classic कारणों में से एक है।

N गुणा M cost. 100 by 100 matrix में 10,000 cells होती हैं। 500 by 500 matrix में 250,000 cells। Costs और latency quadratically बढ़ती हैं। अधिकांश production systems matrices को chunks में batch करते हैं (50 by 50 या 100 by 100), requests को parallelise करते हैं, और उन results को cache करते हैं जो अक्सर नहीं बदलते, जैसे fixed warehouses और fixed stores के बीच की matrix।

Time-of-day variance. 03:00 पर compute की गई matrix 17:00 पर valid नहीं होती। अगर आपकी dispatch logic traffic पर निर्भर करती है, तो या तो decision time पर traffic-aware matrix request करें या time-bucketed matrices का छोटा set pre-compute करें (morning peak, off-peak, evening peak) और सही वाली चुनें।

Batching और rate limits. Distance matrix APIs per element charge करते हैं, per request नहीं, और अधिकांश providers single call का size cap करते हैं। पहले दिन से ही chunking और back-pressure की योजना बनाएँ, बजाय इसके कि scale पर इसका पता चले।

Coordinate quality in, garbage out. Matrix उतनी ही अच्छी है जितने coordinates उसे feed करते हैं। एक geocode जो divided highway के गलत side पर गिरा हो, बेतरतीब ढंग से गलत duration produce करेगा। Matrix request में जाने से पहले input coordinates validate करें।

MapAtlas में Distance Matrices

MapAtlas Distance Matrix API असली European और global road network पर travel time और distance की पूरी N by M matrices compute करता है। यह car, truck, bicycle, और pedestrian profiles को support करता है, departure time के साथ traffic-aware requests accept करता है, और उन batch sizes के लिए बना है जिनकी असली dispatch और optimisation workloads को ज़रूरत होती है।

Ranking से आगे जाने वाले workloads के लिए, Distance Matrix API स्वाभाविक रूप से Optimize Route API के साथ pair होता है, जो एक matrix और stops का set लेता है और एक ordered route return करता है जो total drive time को कम से कम करे, और Isochrone API के साथ "X minutes में पहुँच योग्य सब कुछ" filters के लिए जो matrix call से पहले candidate set को pre-shrink कर देते हैं।

Distance matrix glamorous नहीं है। यह सिर्फ numbers का grid है। लेकिन यह वह numbers का grid है जो "कई में से सबसे अच्छा खोजो" को N गुणा M routing nightmare से एक single bulk request में बदल देता है, और इस एक data piece को सही करना ही असली logistics product को एक map पर पाँच pins वाले demo से अलग करता है।

अक्सर पूछे जाने वाले प्रश्न

Distance matrix क्या है?

Distance matrix origins और destinations के एक set के बीच travel times और distances का N by M grid है। हर cell एक ही सवाल का जवाब देता है: origin i से destination j तक पहुँचने में कितना समय लगता है, और दूरी कितनी है। आधुनिक distance matrix APIs ये values असली road network पर compute करते हैं, सीधी रेखा की दूरी पर नहीं, इसलिए results one-way streets, turn restrictions, और routable geometry का ध्यान रखते हैं।

Distance और duration में क्या अंतर है?

Distance वह दूरी है जो आप road network पर metres या kilometres में तय करते हैं। Duration वह समय है जो लगता है, seconds में, और इसमें speed limits, traffic, और road class का ध्यान रखा जाता है। ये interchangeable नहीं हैं। दो routes की distance एक जैसी हो सकती है लेकिन durations बहुत अलग, और अधिकांश production use cases (ETA, dispatch, ranking) duration की परवाह करते हैं। एक अच्छा distance matrix API हर cell के लिए दोनों return करता है।

Single routes के बजाय distance matrix कब इस्तेमाल करना चाहिए?

जब भी आपको कई candidates compare करने हों: पचास में से पाँच सबसे करीबी stores को rank करना, बीस में से नज़दीकी available driver को delivery assign करना, या vehicle routing problem solver को feed करना। N by M बार single routing endpoint call करना धीमा और महंगा है। एक matrix endpoint वही data एक request में return करता है, bulk computation के लिए optimised।

क्या distance matrices symmetric होती हैं?

असली road networks में लगभग कभी नहीं। A से B तक drive शायद ही कभी B से A जैसा हो, क्योंकि one-way streets, divided highways, turn restrictions, और asymmetric traffic होते हैं। Production distance matrix API पूरा N by M grid return करता है, triangular half नहीं। अगर आप memory बचाने के लिए matrix को collapse करते हैं, तो आप drivers को सड़क के गलत side पर भेज देंगे।

यह उपयोगी लगा? इसे साझा करें।

लेखक के बारे में

Brent van der Heiden

लेखक

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. He writes about geospatial infrastructure, AI search visibility, and how location data powers the products people rely on every day.

सभी लेख देखें
ब्लॉग पर वापस जाएं