Routing API (1.0.0)

Routing API is a service that computes routes between two or more locations. With the Routing API, you can:

  • Find the most optimal route and estimated time of arrival (ETA) between origin and destination
  • Get turn-by-turn directions for different transport modes including car, truck, bike, and pedestrian
  • Calculate routes based on vehicle specifications such as dimensions, weight, and fuel type
  • Add custom waypoints to follow a specific path geometry instead of the automatically calculated optimal route

Routing

Returns a route from two or more waypoints via POST

Returns a collection of path, turn instructions, sections and elevation profile which fully defines a navigable route between 2 or more waypoints.

Authorizations:
ApiKey
Request Body schema: application/json
required

Routing parameters

transport
string
Default: "car"
Enum: "car" "lorry" "truck" "pedestrian" "bike" "public"

Route transport mode

type
string
Default: "fastest"
Enum: "fastest" "shortest" "economic" "scenic"

Route type

waypoints
required
Array of numbers[ items <float >[ items <float > ] ]
object or object (track)
One of
polyline
required
string

the track geometry, Google polyline encoded

coords
Array of numbers[ items <float >[ items <float > ] ]

longitude, latitude

accurate
boolean
Default: true

accurate track match over map data. Use false for innacurate track geometry, e.g. finger drawn tracks

restrictions
boolean
Default: true

if false, transport map restrictions are ignored during routing over track

waypoint_index
integer

track waypoint position in route waypoints. By default the track si inserted at the end of waypoints list

avoid
Array of strings
Items Enum: "highway" "toll" "ferry" "unpaved" "turnaround" "traffic" "roadblocks" "immutable_roadblocks"
details
string
Default: "full"
Enum: "full" "path" "timedistance"

route result details

  • full: geometry & guidance is returned in the result
  • path: only geometry is returned in the result
  • timedistance: only distance & travel time is returned in the result
alternatives
integer

number of requested alternatives. Default is 10 for public transport and 2 for car/truck/bike/pedestrian

terrain
boolean
Default: false

if true, the result will contain the terrain component as an array of elevation over sea values at 30m resolution

accurate_approach
boolean
Default: false

if true, the intermediates & destination are approached according to region drive side

fitness
number <float>
Default: 0.5

the user fitness factor as [0,1] value for tuning the bike / pedestrian routing

geometry
string
Default: "lineString"
Enum: "lineString" "polyline"

the encode method of the result path coordinates

  • lineString: format is [[lon,lat]]
  • polyline: Google polyline encoded
emergency
boolean
Default: false

set true for enabling emergency vehicle options like access to roads with "emergency only" flag and ignore left / right turn restrictions

departure_time
integer
Default: 0

departure EPOCH. Default is request current time

locale
string
Default: "en"

ISO 3166-1 language code for result

object (pt)

public transit specific parameters. They should be provided only if transport mode is "car"

algo_type
string
Default: "departure_based"
Enum: "departure_based" "arrival_based"

type of the used PT algo

  • departure_based: the provided time stamp field is used as departure time for the routing
  • arrival_based: the provided time stamp field is used as arrival time for the routing
sorting
string
Default: "best_time"
Enum: "best_time" "least_walk" "least_transfers"

type of the PT solutions sorting

  • best_time: solutions sorted by the shortest travel time
  • least_walk: solutions sorted by the shortest walk distance
  • least_transfers: solutons sorted by the least transfer count
minimum_transfer_time
integer
Default: 0

minimum transfer time in minutes

maximum_transfer_time
integer
Default: 0

maximum transfer time in minutes

maximum_walk_distance
integer
Default: 0

maximum walk distance in meters

object (vehicle)

vehicle characteristics

profile
string
Enum: "road" "cross" "city" "mountain" "road_pedelec" "cross_pedelec" "city_pedelec" "mountain_pedelec" "road_spedelec" "cross_spedelec" "city_spedelec" "mountain_spedelec" "hike" "walk"

transport mode detailed profile:

  • road / cross / city / mountain: for bike transport mode. Default value is "city"
  • road_pedelec / cross_pedelec / city_pedelec / mountain_pedelec: for bike transport mode with eBike pedelec tunning
  • road_spedelec / cross_spedelec / city_spedelec / mountain_spedelec: for bike transport mode with eBike speed pedelec tunning
  • hike / walk: for pedestrian transport mode. Default value is "walk"
mass
integer

vehicle mass in kg

speed
number <float>

reference speed for the vehicle in m/s. For truck transport is considered the vehicle max speed.

fuel
string
Default: "petrol"
Enum: "electric" "petrol" "diesel" "lpg"

the vehicle fuel type. For electricity fuel type (in conjunction with transport mode car/truck), an EV routing solution is generated with intermediate charging station stops

batt_capacity
integer

battery capacity for EV and eBikes in Wh

charger_ports
Array of strings
Items Enum: "j1772" "mennekes" "type2" "type3" "gbt_ac" "gbt_dc" "chademo" "css1" "css2" "tesla" "super_tesla" "super_tesla_ccs" "tesla_destination"
range
integer

vehicle range in meters. Currently used only for EVs

charge
integer

EV km charged in one hour (with battery capacity in 10% - 80% )

height
integer

vehicle height in cm

length
integer

vehicle length in cm

width
integer

vehicle length in cm

axle
integer

vehicle axle load in kg

departure_soc
number <float>

EV departure battery SoC. ( 0 - empty, 1 - full )

chargerArrival_soc
number <float>

EV minimum SoC when arriving to a charging station

chargerDeparture_soc
number <float>

EV maximum SoC when leaving a charging station

destination_soc
number <float>

EV minimum SoC when arriving at destination

charger_overhead
number <float>

EV overhead time spent in a charging station, in minutes

plate
string

vehicle plate. Used for avoidance on roads with access restrictions based on plate manstissa

sections
Array of strings
Items Enum: "surface" "road_class" "speed_limit" "country"
avoid_geofence_areas
Array of strings

array of geofence areas tags / names to avoid

avoid_geofence_anti_areas
Array of strings

array of geofence anti areas tags / names to avoid

debug
boolean
Default: false

If true the result is beautified for easy human read

profile
string

transport specific profile

hillskip
number <float>

hill avoidance factor for bike routing

Responses

Response Schema: application/json
Array
object
copyrights
Array of strings
Array of objects
Array
distance
integer

route total distance in meters

time
integer

route total time in seconds

bbox
Array of numbers <float> [ items <float > ]

route bbox [ east, south, west, north ]

object or object

route path coordinates list

One of
type
string
coords
required
Array of numbers (path_coords) [ items <float >[ items <float > ] ]

path in a form of coordinates array [[ lon, lat, alt], ...]

polyline
string (path_polyline)

path encoded as Google polyline

Array of objects
Array
id
integer

turn id, see gem::ETurnEvent in API doc

distance
integer

distance in meters from route start

time
integer

time in seconds from route start

point
integer

index in path coordinates list

heading
number <float>

turn heading

turn
string

turn instruction ( translated in requested language code )

follow
string

associated follow the road instruction ( translated in requested language code )

street
Array of strings
Array of objects
Array
Array of objects
Array
type
string
Enum: "smooth" "paved" "rough" "compacted" "dirt" "gravel" "path" "ice" "snow" "undefined"

section surface type

start_point
integer

start index in path coordinates list

end_point
integer

end index in path coordinates list

start_distance
integer

start distance from route start

end_distance
integer

end distance from route start

Array of objects
Array
type
string
Enum: "motorway" "road" "state_road" "street" "cycleway" "path" "singletrack"

section road class type

start_point
integer

start index in path coordinates list

end_point
integer

end index in path coordinates list

start_distance
integer

start distance from route start

end_distance
integer

end distance from route start

Array of objects
Array
speed
number <float>

section speed limit

start_point
integer

start index in path coordinates list

end_point
integer

end index in path coordinates list

start_distance
integer

start distance from route start

end_distance
integer

end distance from route start

Array of objects
Array
iso
string

section country {% now 'iso-8601', '' %}3 code

start_point
integer

start index in path coordinates list

end_point
integer

end index in path coordinates list

start_distance
integer

start distance from route start

end_distance
integer

end distance from route start

object
elevations
Array of numbers <float> [ items <float > ]

altitude value in meters from sea level, at 30 m resolution

total_up
number <float>

route total uphill in meters

total_down
number <float>

route total downhill in meters

Array of objects
Array
start
integer

start distance from route start

end
integer

end distance from route start

slope
number <float>

section average climbing slope

grade
integer

section climbing difficulty level, see ge::EGrade

Request samples

Content type
application/json
Example
{
  • "transport": "car",
  • "type": "fastest",
  • "waypoints": [
    • [
      • 8.16568,
      • 49.61167
      ],
    • [
      • 8.69878,
      • 50.06881
      ]
    ],
  • "avoid": [
    • "unpaved",
    • "highway",
    • "traffic"
    ],
  • "details": "full",
  • "terrain": true,
  • "geometry": "polyline",
  • "sections": [
    • "surface",
    • "country"
    ],
  • "alternatives": 0,
  • "debug": true
}

Response samples

Content type
application/json
Example
[
  • {
    • "info": {
      • "copyrights": [
        • "MagicLane"
        ]
      }
    },
  • {
    • "routes": [
      • {
        • "distance": 89205,
        • "time": 5547,
        • "bbox": [
          • 8.16568,
          • 49.61147,
          • 8.69878,
          • 50.07863
          ],
        • "points": {
          • "type": "polyline",
          • "polyline": "uvxmHa{yp@UqBcAuIUsCGk@IaAK}@YwDKkAMoAUwDG{AGgBGeD@m@Ba@n@}FH}@Bs@@y@@{@KmDGmBMyBI}@??GeAO}AKgAEm@UkEAKaDXs@Fe@DkAB??w@A{@IkAW_B]o@QaFqAyBo@mCoAmA_As@u@qA_B_BgCmCeEcA_BsI_NCEkAiBS_@kDqFsBcDkCcE}BcDoBsCcCmDgCsDw@iAS[gBcCQs@CMAK?KAM@GLi@T}@@EVs@HYDQBQ@O@K@U?M?QAQCMCOAKGSGQGMKQIGIISSGEEEIIIKGMEOCMCSAMAQ@K@Q@OPqAFs@RcB?AFe@??b@yCj@}D|DaZT_Bl@iEXyBHi@XuB~@oHf@uEZyCX{Ch@gHL{BTaEPyD@o@PkHFkD?g@BaG@wCAaFKyHE{AKcHIuB?KC{@K}DOsFWmKImDGmDKyICiC?I@iEBqEB}CDeBBeBJeDJqCP}DH{AHkAJiB^yEl@sGr@uGzBuQr@_Gf@mEr@eHLkA@S^oEXmEBUBm@FiAHwBL_DF{C@m@B}B@gC?gDA}AGkFOwGG}BS{FMkCaBy]O}Cs@uQc@{PAa@C_AAi@?C?}DFgF?w@EeBAuAAsM?e@@cDDcIX{TFuDJuI^{WB}BD{BJmHHyGLkJd@g\\B}AB_Cf@w_@ZwSRwKFkBPeFRcEFu@PoCd@{Fx@gHt@}Fx@qEp@oDbAyEp@iCDSXs@Ti@Zm@PUNIRGP?P@LFNJLNHPFPDTBZ?V?RE\\GXIV[v@ELYVMBM?OEYKkAgBm@eAs@yA]s@EICIYm@GM_@y@_AmCSq@Y}@g@sBU}@{@gEuA{GsB_Kg@cCoBiJ}@eEuAiHKi@Kg@EWAIAI@G@G@I?IAICICGGCCEEIEMCIMc@Ga@_@{Bs@uDo@iCEQk@qBW_AGSK_@a@{AAGQq@Mi@GWKm@GUG]CWEYCUCWAS?K?G?e@?C@e@j@@D?X?vCHF?\\@L?V@~CFR?bDB^?z@?B?@K@KB_@?AA[@S?Q@QBODOHULYBIFODMBKBQ?G@OA_@AMM_B_@wEAOAI?I?GBI@G`A}Cx@gCp@}BBE@GHYF]@EBI?I?KAGm@}DOcAC]Ea@?a@?i@Fm@B[D?FCBCDIBK?KAMCKEGGECMASCeAAME{C?Y?M?o@HWJSNM^KNEz@Un@S`A]f@GL?LBJFJHHNHNFPHf@DRLt@ZlBBNDX@^C^IRMNIBO@OE]MS]wAeC]q@m@kAe@aAKQa@_Aa@eAUi@ISc@qAsAyDeBeFeFmOk@_B]o@m@_Ao@s@o@i@cAg@e@OaA]cBg@QEg@Qs@]}@k@k@WSGUKc@K[EYEKAIAKEGCIEGGEECEEGEKEIEOG[K[Ge@m@yEeE}^gAeKcAeJK}@YmBKo@Ic@[oAUo@Si@Yy@MIIEICGAK?G@EBCB]ZW^e@v@{@lASZ_@~@gBhFc@dAO\\Wd@W`@Y\\i@h@k@`@m@Zs@ZMFcFfB}Aj@WHs@VcCl@WFQDq@Nm@LWBW?OEOESMKIOQ[c@o@aAi@u@QWc@q@IOy@oAeBkCGKi@y@gGmJ]g@yD_GuB}CwEgHuAsB_IuLU_@GIyCqEkAeBEGKVU`@CDIPe@`AWd@]b@SRUP[NWHWDm@@m@KWKYQ][[_@c@q@e@y@{@iAi@q@aAw@s@e@o@[}BaAgAa@}GmCc@MYCWAW?c@FUDQF[N_@V]\\[^U`@S\\Wb@KTc@r@EHyAhBcDvDmApAqAnAWTk@b@iAj@_Br@eWfLa@P{EvB_Bz@}AbAu@h@oA`Aw@j@g@Xm@ToEz@}Dx@m@LkATuARaBRoALQ@_BHaCD_C@iACq@Eo@Ie@IWEcA_@gAc@{@g@aAw@}AeBe@q@mAuBuAuC{A_D}AwCo@gAq@_AkA{AsC}CuAoAmBmB_BkB_AuAe@_Ae@gAs@yBe@gBMm@SiACOMcAMiAKmAGsACy@A_AA[@gD?yC?_B@oFBiC?_@AiBC_ACk@UyCSqCCYAMAIAGS_C_@eCSeAY_Ak@uAIMg@_Aq@gAUa@O]c@mASy@CMMy@Gg@?EASC]?[Ao@?A?oA?g@Ci@SqDy@gMG}@a@sGg@_IYkEI{AMeBGy@g@}Hc@}GQqCMyBWqCSkCOaBUaBWkBk@cDYyAe@mBk@qBo@sBq@kBk@uAsBeE_BoCgE}GsCqEeAqB_B}CuAaD_A_Co@gBcAaDGQEM]kAq@gCEQa@cBQ}@w@sDo@_E[wBUeB]_D_@uE?GY{DUkEMoEG}E?[?_GNqIJuBd@iKH{Ar@wM?Af@sIH_BH}AF_BBeAB}ABu@?g@@OBMBOBMDIBIDIDEHKFGJGHCJCJ?J@HBJDJFJHHLHLFNDPBRBR?P?L?JCLALELCFCHCFI@EDGFUCo@OcAc@a@SaFyBc@Qc@Ua@W[U]W]Y[]][Y_@_@g@_@g@[k@[k@[o@Wo@yC_IYq@Yo@Ym@[m@KOQY]i@_@g@a@e@a@c@c@a@c@_@CCm@c@sE{CoAy@iAcAc@c@g@k@EIY]SWgAkBm@uA]y@U}ABK?M?KCKEGEGGAGAMWYw@[kByBeOk@{Cm@sCu@yC_AaDy@_Cw@mBqAuCo@oACEk@gAS[S]]i@uBwC_BiBsAuAiAcAiA}@qA}@}A_AaAg@qCiA}@]eBi@u@WUGMEICIC?I?G?GCIAECEECECEAE@E@EBCDCHCHICEAQGgF{AsAa@_@K_@K_@GWGUCSEQAQCUAOAWA[?[?O?Q@Y@YBSDSBSDWFODQFUHSHo@Vw@d@s@h@u@j@eIfHmA|@a@TuAp@o@Z}Av@_@RYHIBK?GKKCI?IBGFEJCLALOPWVUJoAXWBmAJkBCaBUgA]KGsBcAqBkAwBmAuGsDiB}@_@Qg@U{Bw@aBe@aBk@cA]iLcEcMqEi@QuFsBaC{@aAg@c@U}@q@YYSa@EIEI@OAOCOGKIEGAG?GBSMYWQc@IQeCwFaAyBmAuBoAwAs@w@w@q@qBuA{DmC_Ao@}B}AaEsCkOgKe@[y@e@cBy@cBm@}Ba@_AKo@Gi@Ae@?O?S?M@E?_@Bc@Dg@Hi@Hy@PsBr@cBj@eA\\mBr@}@\\{FxByCdAoBz@qAr@eAr@oAfAA@m@p@g@n@uAxBCDoAdCm@vAsCtHcAfCkCjHSd@CFKXO`@Sf@Wl@Yj@Y`@a@`@]X]V]Rc@Pa@La@Hc@Da@@e@?e@Ec@Ia@Me@Se@WQKUSOOwA}A]]OQMMOQKIUWq@o@]Yw@c@_@QqAg@y@SgAS{@Ks@E_@?i@?eAB{@FcC\\mDbAc@PwAl@{BdAgAn@}MtHi@Z{EzCiFnDwIlGOJc@ZGBUPYTi@b@o@f@iCnBkGrEsBxAwBvAoBpAkBfAsDlB}Ar@_C`AuCbAC@oA^_ATyCt@kDn@qC\\]DmDVyDN{C@W?cBAgCIsFc@_Dc@QCq@Ka@G]Ei@Ic@IqF_AiB]sDk@y@KaCY{AOqAEeCKcCAgBB{BLuAJ{Dh@_Cf@y@Ru@PcAZcAZsAj@cA`@gAf@_Ad@cB|@cB`A]Ra@TSJQJKHEBc@V{@f@gAn@mCzAy@b@gBz@oBz@_Bh@iA^e@NwBh@qAXcARmBXE@oJlAiAPwBV_BVe@FG@YD]DYD}AP_BPoALaAN_BPi@Dy@?{@Gq@KgA[q@W}CiAmBu@}DyA{Ak@kFkBeA[oBk@sCo@cEq@cAM_BS]Ga@CGAK?SCGAG?c@Em@C}CO_CGkB?U?_B@}ADyCNiCTYDeBTcDf@o@L}AXqDz@_H`Bg@JaJtBG@cDl@yBXgCPI@yBD{@?s@?sAEaDUcBSsCk@cBc@yAg@uAi@qBaAq@_@_@QOISMKGEC[Q}CuBaDiCcB{AsFcFyCkCsDwCeBmA_BaA[Q[OgAk@qCgAoBi@aAQcAQeCY{AC]?qA?m@BgCTmAROBi@Lc@JmAZw@Tw@XaA\\}@`@OFe@TUJ}@d@w@d@sEnCGDkBhAoBlAm@`@MFc@X_@Ti@XQF]Pi@b@_@\\]TcBbAyChBC@KHE@CBeAn@WNuBpAa@PSHYFQ@SAGAQAKEMCa@OWKIAK@E@UHKDcBv@MF??aA`@yB|@o@XwB|@]LEBUHoEhBYFE@UEKAO?UAWF}@@a@ES?cB?cB@i@DcAAy@?cBAsAAqHE_EEaC?iCA_HCsBES?yCAgDAeDAcECsAAmAAeBA_CC}A?K?}C@kBCQE_A?E?I?M?O?}AAe@@e@@iBCk@A_@Iw@GEAu@QQGMEg@_@m@c@]c@KKq@aAi@s@c@c@qAsA}@w@}AeAeImEw@a@OIaGeDYOcAg@cA_@s@SeASc@GGAMCSEIAK?EAYCc@CsAGgFCi@A{BDqA@G?U?K@S??b@?N?h@@l@?|AAl@Ed@Kp@I`@Oh@Yr@k@pA_G|MaAxBQb@KRIPITQ`@w@`Bg@fAkDxH]n@_@l@]d@WXo@l@aExCe@Z{FdEkDbC_C~ACBC@YPg@TsAj@m@VWJSHsAh@oAl@SF[LeBp@E@uAh@kAj@}@n@q@r@u@|@o@fAOZWj@w@~Ac@|@CB]JG@G@M?K@c@WkAgBkAmBS]GIOWSYq@aAo@w@mDwEw@eAOSyAqBe@cA_@wAKq@aAgIOoAuAgLGi@EqAImCCq@A{@@K@i@Fy@Fm@Jm@Lm@f@cBTy@ZeAt@iCr@cCBG@ENi@HYbA_DRg@N_@h@y@NOPOLMDEDENGx@YZKp@S`@SZOHMNWBGJe@@CBQDO??@CDEBGBQ?QCGIIGGGEE?E?EDEHGAYG_@@y@SoA]GC_@MMEGCUIk@Yo@_@yAu@{@m@_Am@aAy@e@e@_@]a@a@SSOQe@i@oBiCwDuFsAuAK]][CEGESIYWw@w@kBkBk@k@yCuCOMs@o@gFcFMK}EuEkAiACCyGqGaAaA_AgAoAmBi@cAYi@eBaDc@u@gAuB[i@uAiCy@gBo@{Ae@uAc@uAYoAYqASiAOkAUkBAQOcBQcCmAyP]qEk@iGOeBYcDKiAWyC]wDs@}HCWIcA_AiKGq@M_BSmB[iDQwAQuAWyAo@aDkA{FuC{NMg@g@aCo@_DuA_Hi@iCYaA[_AYw@IUg@iAu@qA}@sAaC{CkDiEcCwCkDmEuAaB_BqBq@y@OOKOU[Y]c@m@a@e@}DeFa@g@KMwKaNmBaC}BsC{AgBsBqCe@o@o@{@_BaCe@o@_@g@QSi@g@q@k@u@i@_Ak@a@UY[OUSc@Qg@Oo@UoA[_BGWISGMEEs@eAYe@MYCQCQ?GCc@?MKuCEcA?QCSIo@Ga@QeA_AkFCOMo@CKKm@Mo@{@wEw@eEa@{BAG{@qEEUCKAM?UI]GGGYu@yD?KC[E[CK?K?K@M?KCIEGECGGCGAIKc@Ma@cAqFq@qDIg@Oe@EOSo@w@gBKc@Q_@EKkAmCCGCGGOOYM[gBiESc@Qa@EMEI[u@]y@m@wAaCsF}BsFWi@OUU_@QWQSQS[YEEc@[k@[m@Uo@Om@G_@AQ?cDBi@CS?U?[?I?W?Y@I@o@@q@@O?G?e@BaMJI?oA@o@Ba@DODSBGB_@Hg@Rs@\\ID}@d@uHdEYLg@R[JYHYD[BY@[?YAM?[EMCWGWIUIWMUMe@_@oAeAqAqAo@o@GIa@g@sAmBW_@QUOSMQEEW_@oAeBqHuJmEgGiG}HkCeDaAcAoBoBMM}ByB_KuJm@k@YWQQ}A{AyAwAiAiAEGSQMMMMIICCs@q@c@c@IISSaFsEyGiG}M_Mc@a@]Y_@Y]U]SoCwAmAs@e@]e@a@kAeAkCaCc@a@eAeAgAmAo@}@mAkBq@{@cAqAQYY_@W_@e@c@m@k@WUOO{AiAk@_@_FsEyHeHUSEGiJuI_EuDqCiCc@a@eC}BiAgAuBmBkCcCe@c@YYcA}@aA_AwPwOGGqBkBcB}AiA}Aq@y@[_@cC{ByRuQwBuBIIuBuBq@q@YYc@c@cAgAe@g@aDqDwBgCiB{B_BuBuAgBaDqEYa@uGsJ{CqEcCqD_BaCgI_Mo@aAkI_M}R}YcFqHi@y@_CoDwB_DuB_D}AcC}@oAk@y@OQeBaCeCmDg@o@wC_Eo@}@a@e@SQOKMIOKYMQGOEA?WG_AMQCWGSG[QSMOOQUU[[]KOEICEKSKQMSYa@KGKEKCKAK@MBMFMJKHKHIJCDIJMTUNEBGDQFKDOBQBO?O?O?iA[yBk@wBg@a@KiEcAo@QQGSMQMGEUUSUIIg@m@[]WUKGSOOECAOEWEOASCgAKYEoAY_AYaBi@k@QsA]e@Iw@MgAG_AEgAB}BUe@CeDYiAOcAQc@Ia@GeASu@OgAWeE}@mJuBoEcAuIkBMCm@MaAW{Dw@i@[c@i@k@oAWk@yAaDw@gB_AuBMi@Aa@Bc@BQRu@VShByAvDiE`AiBf@_AdDwGR_@nAgCXk@jBsDfAwBFMfBqDlAmCJYPa@rAcDb@iAl@_BpAiDNc@FMpCmHdAmCzA_ElA{C~DcKDOb@qAFQBEBGb@kAzB{F|@_Cb@kAtAqDnBiFhFeNlFkNjDeJDKbAkCZw@x@uBNc@x@uB^cA\\aAxAwDvAsDx@yB~@cC|@aCRk@Vo@J[Nc@FSH[@I@GBOYEE?GAC?YCW?UAG?S?G?C@g@BeAHmBLwDXoBNaCPkOhAe@DwALoJp@wAJcCPG@QkAGm@AIeBeQCWlEx@"
          },
        • "instructions": [
          • {
            • "id": 44,
            • "distance": 0,
            • "time": 0,
            • "point": 0,
            • "heading": 73.05,
            • "turn": "",
            • "follow": "Suivez Hauptstraße sur 1.18 km.",
            • "street": [
              • "Hauptstraße",
              • "L450"
              ]
            },
          • {
            • "id": 5,
            • "distance": 1181,
            • "time": 102,
            • "point": 31,
            • "heading": 80.44,
            • "turn": "Tournez à gauche sur Weinstraße, B271.",
            • "follow": "Suivez Weinstraße sur 2.18 km.",
            • "street": [
              • "Weinstraße",
              • "B271"
              ]
            },
          • {
            • "id": 2,
            • "distance": 2183,
            • "time": 106,
            • "point": 64,
            • "heading": 39.83,
            • "turn": "Tournez à droite sur B47.",
            • "follow": "Suivez B47 sur 10.13 km.",
            • "street": [
              • "B47"
              ]
            },
          • {
            • "id": 24,
            • "distance": 10130,
            • "time": 420,
            • "point": 232,
            • "heading": 118.86,
            • "turn": "Prenez la sortie.",
            • "follow": "Suivez la route sur 262 m."
            },
          • {
            • "id": 43,
            • "distance": 262,
            • "time": 21,
            • "point": 254,
            • "heading": -52.97,
            • "turn": "Serrez à droite sur Kolpingstraße, K17.",
            • "follow": "Suivez Kolpingstraße sur 1.26 km.",
            • "street": [
              • "Kolpingstraße",
              • "K17"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 1257,
            • "time": 93,
            • "point": 286,
            • "heading": 31.46,
            • "turn": "Quittez le rond point à la 2ième sortie sur Kolpingstraße, K17.",
            • "follow": "Suivez Kolpingstraße sur 26 m.",
            • "street": [
              • "Kolpingstraße",
              • "K17"
              ]
            },
          • {
            • "id": 20,
            • "distance": 26,
            • "time": 6,
            • "point": 293,
            • "heading": 31.46,
            • "turn": "Quittez le rond point vers la droite sur Kolpingstraße, K17.",
            • "follow": "Suivez Kolpingstraße sur 532 m.",
            • "street": [
              • "Kolpingstraße",
              • "K17"
              ]
            },
          • {
            • "id": 2,
            • "distance": 532,
            • "time": 56,
            • "point": 325,
            • "heading": 92.41,
            • "turn": "Tournez à droite sur Cornelius-Heyl-Straße.",
            • "follow": "Suivez Cornelius-Heyl-Straße sur 411 m.",
            • "street": [
              • "Cornelius-Heyl-Straße"
              ]
            },
          • {
            • "id": 5,
            • "distance": 411,
            • "time": 38,
            • "point": 338,
            • "heading": -179.09,
            • "turn": "Tournez à gauche sur Gutleutstraße.",
            • "follow": "Suivez Gutleutstraße sur 687 m.",
            • "street": [
              • "Gutleutstraße"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 687,
            • "time": 115,
            • "point": 388,
            • "heading": 22.08,
            • "turn": "Quittez le rond point à la 2ième sortie.",
            • "follow": "Suivez la route sur 44 m."
            },
          • {
            • "id": 20,
            • "distance": 44,
            • "time": 13,
            • "point": 398,
            • "heading": 22.08,
            • "turn": "Quittez le rond point vers la droite sur B 9.",
            • "follow": "Suivez B 9 sur 131 m.",
            • "street": [
              • "B 9"
              ]
            },
          • {
            • "id": 2,
            • "distance": 131,
            • "time": 15,
            • "point": 406,
            • "heading": 90,
            • "turn": "Tournez à droite sur B9.",
            • "follow": "Suivez B9 sur 158 m.",
            • "street": [
              • "B9"
              ]
            },
          • {
            • "id": 24,
            • "distance": 158,
            • "time": 13,
            • "point": 414,
            • "heading": 163.52,
            • "turn": "Prenez la sortie sur B 9.",
            • "follow": "Suivez B 9 sur 1.34 km.",
            • "street": [
              • "B 9"
              ]
            },
          • {
            • "id": 24,
            • "distance": 1344,
            • "time": 77,
            • "point": 461,
            • "heading": 15.04,
            • "turn": "Prenez la sortie sur B 47.",
            • "follow": "Suivez B 47 sur 1.21 km.",
            • "street": [
              • "B 47"
              ]
            },
          • {
            • "id": 5,
            • "distance": 1214,
            • "time": 77,
            • "point": 496,
            • "heading": 54.52,
            • "turn": "Tournez à gauche sur L3261.",
            • "follow": "Suivez L3261 sur 2.38 km.",
            • "street": [
              • "L3261"
              ]
            },
          • {
            • "id": 5,
            • "distance": 2377,
            • "time": 163,
            • "point": 559,
            • "heading": 41.34,
            • "turn": "Tournez à gauche sur L3261.",
            • "follow": "Suivez L3261 sur 9.91 km.",
            • "street": [
              • "L3261"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 1,
            • "distance": 9915,
            • "time": 554,
            • "point": 812,
            • "heading": -42.73,
            • "turn": "Quittez le rond point à la 1ère sortie sur B44.",
            • "follow": "Suivez B44 sur 14 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 14,
            • "time": 3,
            • "point": 815,
            • "heading": -42.73,
            • "turn": "Quittez le rond point vers la droite sur B44.",
            • "follow": "Suivez B44 sur 1.44 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 1443,
            • "time": 96,
            • "point": 862,
            • "heading": 1.47,
            • "turn": "Quittez le rond point à la 2ième sortie sur B44.",
            • "follow": "Suivez B44 sur 37 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 37,
            • "time": 8,
            • "point": 870,
            • "heading": 1.47,
            • "turn": "Quittez le rond point vers la droite sur B44.",
            • "follow": "Suivez B44 sur 1.53 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 1531,
            • "time": 102,
            • "point": 903,
            • "heading": -51.98,
            • "turn": "Quittez le rond point à la 2ième sortie sur B44.",
            • "follow": "Suivez B44 sur 52 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 52,
            • "time": 18,
            • "point": 918,
            • "heading": -51.98,
            • "turn": "Quittez le rond point vers la droite sur B44.",
            • "follow": "Suivez B44 sur 1.11 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 1,
            • "distance": 1111,
            • "time": 77,
            • "point": 962,
            • "heading": -83.24,
            • "turn": "Quittez le rond point à la 1ère sortie sur B44.",
            • "follow": "Suivez B44 sur 45 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 45,
            • "time": 10,
            • "point": 970,
            • "heading": -83.24,
            • "turn": "Quittez le rond point vers la droite sur B44.",
            • "follow": "Suivez B44 sur 1.91 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 1911,
            • "time": 103,
            • "point": 1003,
            • "heading": -19.5,
            • "turn": "Quittez le rond point à la 2ième sortie sur B44.",
            • "follow": "Suivez B44 sur 44 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 44,
            • "time": 12,
            • "point": 1011,
            • "heading": -19.5,
            • "turn": "Quittez le rond point vers la droite sur B44.",
            • "follow": "Suivez B44 sur 5.19 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 1,
            • "distance": 5190,
            • "time": 314,
            • "point": 1128,
            • "heading": -26.55,
            • "turn": "Continuez tout droit sur B44.",
            • "follow": "Suivez B44 sur 15.02 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 5,
            • "distance": 15023,
            • "time": 924,
            • "point": 1462,
            • "heading": 0,
            • "turn": "Tournez à gauche sur Südring.",
            • "follow": "Suivez Südring sur 2.09 km.",
            • "street": [
              • "Südring"
              ]
            },
          • {
            • "id": 2,
            • "distance": 2088,
            • "time": 173,
            • "point": 1519,
            • "heading": -47.57,
            • "turn": "Tournez à droite sur Nordring.",
            • "follow": "Suivez Nordring sur 1.76 km.",
            • "street": [
              • "Nordring"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 3,
            • "distance": 1757,
            • "time": 134,
            • "point": 1586,
            • "heading": -39.89,
            • "turn": "Quittez le rond point à la 3ième sortie sur Frankfurter Straße.",
            • "follow": "Suivez Frankfurter Straße sur 59 m.",
            • "street": [
              • "Frankfurter Straße"
              ]
            },
          • {
            • "id": 20,
            • "distance": 59,
            • "time": 20,
            • "point": 1599,
            • "heading": -39.89,
            • "turn": "Quittez le rond point vers la droite sur Frankfurter Straße.",
            • "follow": "Suivez Frankfurter Straße sur 7.48 km.",
            • "street": [
              • "Frankfurter Straße"
              ]
            },
          • {
            • "id": 34,
            • "roundabout_exit": 2,
            • "distance": 7479,
            • "time": 412,
            • "point": 1781,
            • "heading": 18.71,
            • "turn": "Quittez le rond point à la 2ième sortie sur Gerauer Straße, B44.",
            • "follow": "Suivez Gerauer Straße sur 23 m.",
            • "street": [
              • "Gerauer Straße",
              • "B44"
              ]
            },
          • {
            • "id": 20,
            • "distance": 23,
            • "time": 8,
            • "point": 1786,
            • "heading": 18.71,
            • "turn": "Quittez le rond point vers la droite sur Gerauer Straße, B44.",
            • "follow": "Suivez Gerauer Straße sur 11.82 km.",
            • "street": [
              • "Gerauer Straße",
              • "B44"
              ]
            },
          • {
            • "id": 5,
            • "distance": 11817,
            • "time": 653,
            • "point": 2035,
            • "heading": 39.31,
            • "turn": "Tournez à gauche sur Südkreisel, B44.",
            • "follow": "Suivez Südkreisel sur 103 m.",
            • "street": [
              • "Südkreisel",
              • "B44"
              ]
            },
          • {
            • "id": 24,
            • "distance": 103,
            • "time": 7,
            • "point": 2049,
            • "heading": -45.03,
            • "turn": "Prenez la sortie sur B44.",
            • "follow": "Suivez B44 sur 638 m.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 24,
            • "distance": 638,
            • "time": 38,
            • "point": 2083,
            • "heading": 6.19,
            • "turn": "Prenez la sortie sur B44.",
            • "follow": "Suivez B44 sur 1.95 km.",
            • "street": [
              • "B44"
              ]
            },
          • {
            • "id": 2,
            • "distance": 1951,
            • "time": 116,
            • "point": 2120,
            • "heading": 49.6,
            • "turn": "Tournez à droite sur L3317.",
            • "follow": "Suivez L3317 sur 2.88 km.",
            • "street": [
              • "L3317"
              ]
            },
          • {
            • "id": 42,
            • "distance": 2884,
            • "time": 168,
            • "point": 2169,
            • "heading": 127.12,
            • "turn": "Serrez à gauche sur Isenburger Schneise, L3317.",
            • "follow": "Suivez Isenburger Schneise sur 618 m.",
            • "street": [
              • "Isenburger Schneise",
              • "L3317"
              ]
            },
          • {
            • "id": 5,
            • "distance": 618,
            • "time": 54,
            • "point": 2188,
            • "heading": 111.49,
            • "turn": "Tournez à gauche sur Darmstädter Landstraße.",
            • "follow": "Suivez Darmstädter Landstraße sur 1.14 km.",
            • "street": [
              • "Darmstädter Landstraße"
              ]
            },
          • {
            • "id": 2,
            • "distance": 1144,
            • "time": 71,
            • "point": 2212,
            • "heading": -4.83,
            • "turn": "Tournez à droite sur Scheerwaldschneise.",
            • "follow": "Suivez Scheerwaldschneise sur 274 m.",
            • "street": [
              • "Scheerwaldschneise"
              ]
            },
          • {
            • "id": 2,
            • "distance": 274,
            • "time": 115,
            • "point": 2217,
            • "heading": 78.53,
            • "turn": "Tournez à droite sur Hainer Weg.",
            • "follow": "Suivez Hainer Weg sur 117 m.",
            • "street": [
              • "Hainer Weg"
              ]
            },
          • {
            • "id": 46,
            • "distance": 117,
            • "time": 42,
            • "point": 2218,
            • "heading": 190.12,
            • "turn": "Vous êtes arrivé à destination"
            }
          ],
        • "sections": [
          • {
            • "surface": [
              • {
                • "type": "smooth",
                • "start_point": 0,
                • "end_point": 205,
                • "start_distance": 0,
                • "end_distance": 10528
                },
              • {
                • "type": "undefined",
                • "start_point": 205,
                • "end_point": 210,
                • "start_distance": 10528,
                • "end_distance": 11094
                },
              • {
                • "type": "smooth",
                • "start_point": 210,
                • "end_point": 230,
                • "start_distance": 11094,
                • "end_distance": 13429
                },
              • {
                • "type": "undefined",
                • "start_point": 230,
                • "end_point": 232,
                • "start_distance": 13429,
                • "end_distance": 13494
                },
              • {
                • "type": "smooth",
                • "start_point": 232,
                • "end_point": 337,
                • "start_distance": 13494,
                • "end_distance": 15948
                },
              • {
                • "type": "undefined",
                • "start_point": 337,
                • "end_point": 350,
                • "start_distance": 15948,
                • "end_distance": 16059
                },
              • {
                • "type": "smooth",
                • "start_point": 350,
                • "end_point": 424,
                • "start_distance": 16059,
                • "end_distance": 17103
                },
              • {
                • "type": "undefined",
                • "start_point": 424,
                • "end_point": 436,
                • "start_distance": 17103,
                • "end_distance": 17267
                },
              • {
                • "type": "smooth",
                • "start_point": 436,
                • "end_point": 812,
                • "start_distance": 17267,
                • "end_distance": 31852
                },
              • {
                • "type": "paved",
                • "start_point": 812,
                • "end_point": 817,
                • "start_distance": 31852,
                • "end_distance": 31905
                },
              • {
                • "type": "smooth",
                • "start_point": 817,
                • "end_point": 862,
                • "start_distance": 31905,
                • "end_distance": 33309
                },
              • {
                • "type": "paved",
                • "start_point": 862,
                • "end_point": 872,
                • "start_distance": 33309,
                • "end_distance": 33383
                },
              • {
                • "type": "smooth",
                • "start_point": 872,
                • "end_point": 900,
                • "start_distance": 33383,
                • "end_distance": 34857
                },
              • {
                • "type": "paved",
                • "start_point": 900,
                • "end_point": 921,
                • "start_distance": 34857,
                • "end_distance": 34949
                },
              • {
                • "type": "smooth",
                • "start_point": 921,
                • "end_point": 962,
                • "start_distance": 34949,
                • "end_distance": 36040
                },
              • {
                • "type": "undefined",
                • "start_point": 962,
                • "end_point": 972,
                • "start_distance": 36040,
                • "end_distance": 36112
                },
              • {
                • "type": "smooth",
                • "start_point": 972,
                • "end_point": 1003,
                • "start_distance": 36112,
                • "end_distance": 37996
                },
              • {
                • "type": "paved",
                • "start_point": 1003,
                • "end_point": 1013,
                • "start_distance": 37996,
                • "end_distance": 38069
                },
              • {
                • "type": "smooth",
                • "start_point": 1013,
                • "end_point": 1381,
                • "start_distance": 38069,
                • "end_distance": 54786
                },
              • {
                • "type": "undefined",
                • "start_point": 1381,
                • "end_point": 1384,
                • "start_distance": 54786,
                • "end_distance": 54909
                },
              • {
                • "type": "smooth",
                • "start_point": 1384,
                • "end_point": 1417,
                • "start_distance": 54909,
                • "end_distance": 56739
                },
              • {
                • "type": "undefined",
                • "start_point": 1417,
                • "end_point": 1420,
                • "start_distance": 56739,
                • "end_distance": 56841
                },
              • {
                • "type": "smooth",
                • "start_point": 1420,
                • "end_point": 1423,
                • "start_distance": 56841,
                • "end_distance": 56906
                },
              • {
                • "type": "undefined",
                • "start_point": 1423,
                • "end_point": 1452,
                • "start_distance": 56906,
                • "end_distance": 57884
                },
              • {
                • "type": "smooth",
                • "start_point": 1452,
                • "end_point": 1455,
                • "start_distance": 57884,
                • "end_distance": 58080
                },
              • {
                • "type": "undefined",
                • "start_point": 1455,
                • "end_point": 1456,
                • "start_distance": 58080,
                • "end_distance": 58103
                },
              • {
                • "type": "smooth",
                • "start_point": 1456,
                • "end_point": 1459,
                • "start_distance": 58103,
                • "end_distance": 58222
                },
              • {
                • "type": "undefined",
                • "start_point": 1459,
                • "end_point": 1462,
                • "start_distance": 58222,
                • "end_distance": 58253
                },
              • {
                • "type": "smooth",
                • "start_point": 1462,
                • "end_point": 1793,
                • "start_distance": 58253,
                • "end_distance": 69865
                },
              • {
                • "type": "undefined",
                • "start_point": 1793,
                • "end_point": 1795,
                • "start_distance": 69865,
                • "end_distance": 69896
                },
              • {
                • "type": "smooth",
                • "start_point": 1795,
                • "end_point": 1987,
                • "start_distance": 69896,
                • "end_distance": 78892
                },
              • {
                • "type": "undefined",
                • "start_point": 1987,
                • "end_point": 1988,
                • "start_distance": 78892,
                • "end_distance": 79007
                },
              • {
                • "type": "smooth",
                • "start_point": 1988,
                • "end_point": 1994,
                • "start_distance": 79007,
                • "end_distance": 80169
                },
              • {
                • "type": "undefined",
                • "start_point": 1994,
                • "end_point": 1996,
                • "start_distance": 80169,
                • "end_distance": 80367
                },
              • {
                • "type": "smooth",
                • "start_point": 1996,
                • "end_point": 2061,
                • "start_distance": 80367,
                • "end_distance": 81776
                },
              • {
                • "type": "undefined",
                • "start_point": 2061,
                • "end_point": 2062,
                • "start_distance": 81776,
                • "end_distance": 81845
                },
              • {
                • "type": "smooth",
                • "start_point": 2062,
                • "end_point": 2075,
                • "start_distance": 81845,
                • "end_distance": 82143
                },
              • {
                • "type": "undefined",
                • "start_point": 2075,
                • "end_point": 2095,
                • "start_distance": 82143,
                • "end_distance": 82653
                },
              • {
                • "type": "smooth",
                • "start_point": 2095,
                • "end_point": 2212,
                • "start_distance": 82653,
                • "end_distance": 88814
                },
              • {
                • "type": "dirt",
                • "start_point": 2212,
                • "end_point": 2217,
                • "start_distance": 88814,
                • "end_distance": 89088
                },
              • {
                • "type": "compacted",
                • "start_point": 2217,
                • "end_point": 2219,
                • "start_distance": 89088,
                • "end_distance": 89205
                }
              ]
            },
          • {
            • "country": [
              • {
                • "iso": "DEU",
                • "start_point": 0,
                • "end_point": 2219,
                • "start_distance": 0,
                • "end_distance": 89205
                }
              ]
            }
          ],
        • "terrain": {
          • "elevations": [
            • 223.8,
            • 222.63,
            • 222.12,
            • 221.56,
            • 220.79,
            • 219.61,
            • 218.09,
            • "... (include all elevation values as needed)"
            ],
          • "total_up": 421.01,
          • "total_down": 501.7
          }
        }
      ]
    }
]