Hur man använder TomTom Routing API för beräknad ankomsttid

En handledning om hur man använder vårt API för att beräkna en exakt ankomsttid

(Bre Teiko) (22 okt 2020)

EN SNABB SAMMANFATTNING AV RUTIN-API: et

Routing API är ett kraftfullt verktyg som kan användas för att få exakta vägbeskrivningar för olika typer av fordon – med rutter som den snabbaste, kortaste, mest spännande osv. Det kan också ge dig den geometriska formen på önskad rutt och instruktioner.

Men en förbises funktion från API: et är möjligheten att hämta en sammanfattning av de begärda rutterna. Det är användbart att visa möjligheter för användaren, som i det här exemplet: vi måste hitta närmaste sjukhus eller apotek. Genom att få sammanfattningarna kan vi erbjuda ett bättre urval med hjälp av Matrix Routing Exempel som hittades här .

Ett annat klassiskt användningsfall för detta är en Ride Sharing-applikation. Att beräkna en bästa valförare från en lista över leverantörer spridda runt ett område blir svårt när vi inte behöver skapa rutter för att jämföra, eftersom vi bara behöver antingen körsträcka eller ETA. Det är när sammanfattningen fungerar som sin magi.

Sammanfattningen begärs med följande parameter:

Värdet polyline returnerar den grafiska ruttrepresentationen i en LatLng-parmatris, medan sammanfattningen bara ger dig ett extra JSON-avsnitt i svaret så här :

Det finns några intressanta data här som särskiljer detta API särskilt från andra:

  1. Du kan se att det finns olika ETA utan trafik, direkttrafik och historisk trafik.
  2. Du kan få alternativa rutter och se hur mycket avvikelse från originalet som finns.

OBS: Avvikelserna och alternativa rutter är bara tillgängliga när en initial rutt är beräknas först.

OBS 2: Bränsleförbrukningen på beräknas. Men om vi passerar förbrukningsmodeller – för elektriska fordon eller förbränningsmotorfordon – blir beräkningen mycket mer exakt.

Nu ska vi kolla in en verklig livsexempel …

OLIKA TYPER, ANDRA ETAS

Vi ska kolla några olika ETA från vårt hotell i centrala Chicago – vad sägs om ”La Quinta Inn”? För detta hotell använder vi platsen:

Från hotellet vill vi hitta en stängning i närheten av en restaurang, en Cajun Creole-restaurang. För detta kan vi använda API: et för kategorisökning [ https://developer.tomtom.com/search-api/search-api-documentation-search/category-search] för att få en lista över möjliga restauranger runt hotellet (med hotellets LatLng som Position Bias).

Om vi ​​tar bort oanvända data får vi en liten lista. Detta är det första elementet:

Så Du kan se, vi får också avståndet till vårt hotell som en del av resultatet. Men detta värde – i meter – är en direkt synvinkel, inte det verkliga avståndet genom att köra eller gå. Du kan replikera mina resultat genom att köra detta Curl Command.

För det verkliga körsträckan använder vi Routing API, vi begär endast sammanfattningen och lägger till möjligheten att beräkna för olika restider. Det här är API-slutpunkten som vi kan använda:

Vilket ger oss:

Även om detta är tillräckligt bra för tillfället måste vi få ännu fler rutter att jämföra, och för det är inget bättre än att använda Matrix Routing API.

FÅ ALLA MÖJLIGA RUTTER / RUTTER TILL MÅNGA DESTINATIONER

Från dokumentationen i vår utvecklarportal:

Matrix Routing-tjänsten möjliggör beräkning av en matris av ruttöversikter för en uppsättning rutter definierade med ursprungs- och destinationsplatser.

  • För varje givet ursprung beräknar denna tjänst kostnaden för dirigering från det ursprunget till varje given destination.
  • Ursprungsuppsättningen och uppsättningen destinationer kan ses som en kolumn och radrubriker i en tabell, medan varje cell i tabellen innehåller kostnaderna för dirigering från ursprung till destinationen för den cellen.

Följande kostnader beräknas för varje rutt:

  • Restider
  • Avstånd

Läs hela dokumentationen här: https://developer.tomtom.com/routing-api/routing-api-documentation-matrix-routing/synchronous-matrix

Detta ser ut precis som vi behöver.

I vårt fall kommer vi att beräkna kör- och fotgängarsammanfattningar så att vi kan bestämma om vi vill gå eller köra och eftersom förfrågningarna är enkla nog – inga komplicerade rutter här – så att vi kan använda den synkrona versionen: Vi kommer att vänta på ett svar när alla rutter har beräknats.

OBS: Den synkrona versionen av matrix routing API: n kommer att avbryta ter 60 sekunder, så se till att du bara använder den med små rutter.

Slutpunkten är en HTTP-POST-begäran. Det här är webbadressen vi ska använda:

POST Body: Här kommer vi att ställa in olika rutter (samma ursprung, olika destinationer). Den följer det här formatet:

Så i vårt fall är detta vår POST Body:

Med denna begäran får vi följande resultat, trunkerat för redaktionella ändamål:

För varje destination får vi ett svarsobjekt och dess RouteSummary med samma nödvändiga information som vi fick från att genomföra ett enkelt samtal. Här ser vi att restaurangen ”Cajun Grill” är närmast oss för bilkörning. Med detta kan vi fylla i en lista eller en display för användaren. Försök att ändra reseläget till fotgängare om du vill ha en gångväg. Ex. För gångvägar:

Använda denna begäran ser vi att restaurangen Cajun Grill också är närmast oss på gångavstånd, men om vi har olika restauranger att välja mellan kan vi alltid använda Batch Routing API för att skapa alla rutter som behövs med en enda ring: https://developer.tomtom.com/routing-api/routing-api-documentation/batch-routing

Detta sätt vi skapar bara de rutter som vi behöver visa för användaren.

I SAMMANFATTNING

I den här artikeln tittade vi på Routing API och hur man hämtar ETA och riktig körning eller gångavstånd via Sammanfattningsobjektet i svaret från Matrix Routing API.

Matrix Routing API låter oss hämta olika sammanfattningar med ett enda samtal där vi kan få sådana ETA från olika destinationer.

Jag hoppas att den här artikeln hjälper dig att förstå TomTom Routing API bättre – tack för re ading and Happy Mapping!

För att lära dig mer om TomToms tjänster och lösningar för mobilitet och transporttjänster i sista mil, kolla in sidan Mobility and On-Demand här .

Denna artikel publicerades ursprungligen den https://developer.tomtom.com/blog . Den ursprungliga författaren är Jose Jose Rojas.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *