@wemap/osm 5.8.0 → 6.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/wemap-osm.es.js +2 -1760
  2. package/dist/wemap-osm.es.js.map +1 -1
  3. package/index.js +5 -28
  4. package/package.json +4 -6
  5. package/src/{model/OsmParser.spec.js → OsmParser.spec.js} +1 -1
  6. package/assets/bureaux-wemap-montpellier-network.osm +0 -162
  7. package/assets/gare-de-lyon-extract.osm +0 -174
  8. package/assets/itinerary-deutsche-bahn-1.json +0 -368
  9. package/assets/itinerary-grenoble-otp-1.json +0 -1536
  10. package/assets/itinerary-grenoble-otp-2.json +0 -1092
  11. package/assets/itinerary-lehavre-cityway-1.json +0 -6799
  12. package/assets/itinerary-lehavre-cityway-2.json +0 -2133
  13. package/assets/itinerary-lehavre-cityway-3.json +0 -12577
  14. package/assets/itinerary-lehavre-cityway-4.json +0 -1451
  15. package/assets/itinerary-lehavre-cityway-5.json +0 -5925
  16. package/assets/itinerary-montpellier-osrm-3.json +0 -1
  17. package/assets/itinerary-montpellier-outdoor-without-steps.json +0 -110
  18. package/assets/itinerary-montpellier-outdoor.json +0 -513
  19. package/assets/itinerary-with-duplicate-nodes.json +0 -110
  20. package/assets/network-conveying-backward.osm +0 -74
  21. package/assets/network-elevator.osm +0 -48
  22. package/assets/network-simple.osm +0 -27
  23. package/assets/network-with-modifiers.osm +0 -39
  24. package/assets/one-way.osm +0 -46
  25. package/src/routers/Itinerary.js +0 -197
  26. package/src/routers/Itinerary.type.spec.js +0 -105
  27. package/src/routers/Leg.js +0 -113
  28. package/src/routers/LevelChange.js +0 -65
  29. package/src/routers/RouterResponse.js +0 -19
  30. package/src/routers/RouterResponse.type.spec.js +0 -24
  31. package/src/routers/Step.js +0 -118
  32. package/src/routers/Utils.js +0 -54
  33. package/src/routers/cityway/CitywayUtils.js +0 -240
  34. package/src/routers/cityway/CitywayUtils.spec.js +0 -109
  35. package/src/routers/custom/OsmNetworkUtils.js +0 -199
  36. package/src/routers/custom/OsmNetworkUtils.spec.js +0 -109
  37. package/src/routers/custom/OsmRouter.js +0 -27
  38. package/src/routers/custom/OsmRouter.spec.js +0 -222
  39. package/src/routers/custom/OsmRouterOptions.js +0 -33
  40. package/src/routers/custom/OsmRouterUtils.js +0 -46
  41. package/src/routers/custom/StepsGeneration.js +0 -104
  42. package/src/routers/deutsche-bahn/DeutscheBahnRouterUtils.js +0 -93
  43. package/src/routers/deutsche-bahn/DeutscheBahnRouterUtils.spec.js +0 -54
  44. package/src/routers/info/ItineraryInfo.js +0 -34
  45. package/src/routers/info/ItineraryInfoManager.js +0 -148
  46. package/src/routers/info/ItineraryInfoManager.spec.js +0 -54
  47. package/src/routers/osrm/OsrmUtils.js +0 -269
  48. package/src/routers/osrm/OsrmUtils.spec.js +0 -457
  49. package/src/routers/otp/OtpUtils.js +0 -150
  50. package/src/routers/otp/OtpUtils.spec.js +0 -97
  51. /package/src/{model/OsmElement.js → OsmElement.js} +0 -0
  52. /package/src/{model/OsmElement.spec.js → OsmElement.spec.js} +0 -0
  53. /package/src/{model/OsmModel.js → OsmModel.js} +0 -0
  54. /package/src/{model/OsmModel.spec.js → OsmModel.spec.js} +0 -0
  55. /package/src/{model/OsmNode.js → OsmNode.js} +0 -0
  56. /package/src/{model/OsmNode.spec.js → OsmNode.spec.js} +0 -0
  57. /package/src/{model/OsmParser.js → OsmParser.js} +0 -0
  58. /package/src/{model/OsmWay.js → OsmWay.js} +0 -0
  59. /package/src/{model/OsmWay.spec.js → OsmWay.spec.js} +0 -0
@@ -1,1536 +0,0 @@
1
- {
2
- "requestParameters": {
3
- "date": "2021-03-01",
4
- "walkSpeed": "1.1112",
5
- "walkReluctance": "5",
6
- "fromPlace": "45.187291,5.723455",
7
- "transferPenalty": "60",
8
- "locale": "fr_FR",
9
- "numItineraries": "2",
10
- "mode": "WALK,TRANSIT",
11
- "arriveBy": "false",
12
- "minTransferTime": "60",
13
- "showIntermediateStops": "true",
14
- "routerId": "prod",
15
- "ui_date": "",
16
- "walkBoardCost": "300",
17
- "toPlace": "45.163729,5.74085",
18
- "time": "14:54"
19
- },
20
- "plan": {
21
- "date": 1614606840000,
22
- "from": {
23
- "name": "Origin",
24
- "lon": 5.723455,
25
- "lat": 45.187291,
26
- "orig": "",
27
- "vertexType": "NORMAL"
28
- },
29
- "to": {
30
- "name": "Destination",
31
- "lon": 5.74085,
32
- "lat": 45.163729,
33
- "orig": "",
34
- "vertexType": "NORMAL"
35
- },
36
- "itineraries": [
37
- {
38
- "duration": 1206,
39
- "startTime": 1614607210000,
40
- "endTime": 1614608416000,
41
- "walkTime": 484,
42
- "transitTime": 720,
43
- "waitingTime": 2,
44
- "walkDistance": 452.2322138330627,
45
- "walkLimitExceeded": false,
46
- "elevationLost": 0.44000000000002615,
47
- "elevationGained": 0.7400000000000091,
48
- "transfers": 0,
49
- "fare": {
50
- "fare": {
51
- "regular": {
52
- "currency": {
53
- "symbol": "€",
54
- "currencyCode": "EUR",
55
- "currency": "EUR",
56
- "defaultFractionDigits": 2
57
- },
58
- "cents": 160
59
- }
60
- }
61
- },
62
- "legs": [
63
- {
64
- "startTime": 1614607210000,
65
- "endTime": 1614607499000,
66
- "departureDelay": 0,
67
- "arrivalDelay": 0,
68
- "realTime": false,
69
- "distance": 257.721,
70
- "pathway": false,
71
- "mode": "WALK",
72
- "route": "",
73
- "agencyTimeZoneOffset": 3600000,
74
- "interlineWithPreviousLeg": false,
75
- "from": {
76
- "name": "Origin",
77
- "lon": 5.723455,
78
- "lat": 45.187291,
79
- "departure": 1614607210000,
80
- "orig": "",
81
- "vertexType": "NORMAL"
82
- },
83
- "to": {
84
- "name": "Grenoble, Victor Hugo",
85
- "stopId": "SEM:4321",
86
- "stopCode": "4321",
87
- "lon": 5.72533,
88
- "lat": 45.1887,
89
- "arrival": 1614607499000,
90
- "departure": 1614607500000,
91
- "stopIndex": 0,
92
- "stopSequence": 1,
93
- "vertexType": "TRANSIT"
94
- },
95
- "legGeometry": {
96
- "points": "ctxrGm{|a@BETQ?AsA`@CMEKKDCOISOYMWQa@Ue@FGEIMQm@qAGKCICEE@Qa@",
97
- "length": 23
98
- },
99
- "rentedBike": false,
100
- "duration": 289,
101
- "transitLeg": false,
102
- "intermediateStops": [],
103
- "steps": [
104
- {
105
- "distance": 17.793,
106
- "relativeDirection": "DEPART",
107
- "streetName": "plateau piétonnier",
108
- "absoluteDirection": "SOUTHEAST",
109
- "stayOn": false,
110
- "area": false,
111
- "bogusName": false,
112
- "lon": 5.723598199907396,
113
- "lat": 45.18738397888676,
114
- "elevation": [
115
- {
116
- "first": 5.828,
117
- "second": 213.32
118
- },
119
- {
120
- "first": 19.578,
121
- "second": 213.36
122
- },
123
- {
124
- "first": 19.573,
125
- "second": 213.36
126
- },
127
- {
128
- "first": 20.703,
129
- "second": 213.37
130
- }
131
- ]
132
- },
133
- {
134
- "distance": 48.69,
135
- "relativeDirection": "HARD_LEFT",
136
- "streetName": "plateau piétonnier",
137
- "absoluteDirection": "NORTH",
138
- "stayOn": true,
139
- "area": true,
140
- "bogusName": true,
141
- "lon": 5.723722100000001,
142
- "lat": 45.1872504,
143
- "elevation": [
144
- {
145
- "first": 0,
146
- "second": 213.37
147
- },
148
- {
149
- "first": 10,
150
- "second": 213.34
151
- },
152
- {
153
- "first": 20,
154
- "second": 213.31
155
- },
156
- {
157
- "first": 30,
158
- "second": 213.28
159
- },
160
- {
161
- "first": 40,
162
- "second": 213.25
163
- },
164
- {
165
- "first": 48.69,
166
- "second": 213.23
167
- }
168
- ]
169
- },
170
- {
171
- "distance": 11.844999999999999,
172
- "relativeDirection": "RIGHT",
173
- "streetName": "chemin piétonnier",
174
- "absoluteDirection": "NORTHEAST",
175
- "stayOn": true,
176
- "area": false,
177
- "bogusName": true,
178
- "lon": 5.723559900000001,
179
- "lat": 45.187673100000005,
180
- "elevation": [
181
- {
182
- "first": 0,
183
- "second": 213.23
184
- },
185
- {
186
- "first": 5.51,
187
- "second": 213.22
188
- },
189
- {
190
- "first": 5.51,
191
- "second": 213.22
192
- },
193
- {
194
- "first": 11.85,
195
- "second": 213.22
196
- }
197
- ]
198
- },
199
- {
200
- "distance": 6.772,
201
- "relativeDirection": "LEFT",
202
- "streetName": "Boulevard Gambetta (path)",
203
- "absoluteDirection": "NORTH",
204
- "stayOn": false,
205
- "area": false,
206
- "bogusName": false,
207
- "lon": 5.723688200000001,
208
- "lat": 45.1877294,
209
- "elevation": [
210
- {
211
- "first": 0,
212
- "second": 213.22
213
- },
214
- {
215
- "first": 6.77,
216
- "second": 213.2
217
- }
218
- ]
219
- },
220
- {
221
- "distance": 77.559,
222
- "relativeDirection": "RIGHT",
223
- "streetName": "Rue Béranger",
224
- "absoluteDirection": "NORTHEAST",
225
- "stayOn": false,
226
- "area": false,
227
- "bogusName": false,
228
- "lon": 5.723657,
229
- "lat": 45.187786200000005,
230
- "elevation": [
231
- {
232
- "first": 0,
233
- "second": 213.2
234
- },
235
- {
236
- "first": 6.39,
237
- "second": 213.2
238
- },
239
- {
240
- "first": 6.393,
241
- "second": 213.2
242
- },
243
- {
244
- "first": 15.863,
245
- "second": 213.2
246
- },
247
- {
248
- "first": 15.858,
249
- "second": 213.2
250
- },
251
- {
252
- "first": 25.858,
253
- "second": 213.18
254
- },
255
- {
256
- "first": 35.858000000000004,
257
- "second": 213.16
258
- },
259
- {
260
- "first": 41.158,
261
- "second": 213.15
262
- },
263
- {
264
- "first": 41.153999999999996,
265
- "second": 213.15
266
- },
267
- {
268
- "first": 51.153999999999996,
269
- "second": 213.13
270
- },
271
- {
272
- "first": 58.45399999999999,
273
- "second": 213.11
274
- },
275
- {
276
- "first": 58.45399999999999,
277
- "second": 213.11
278
- },
279
- {
280
- "first": 68.454,
281
- "second": 213.09
282
- },
283
- {
284
- "first": 77.564,
285
- "second": 213.07
286
- }
287
- ]
288
- },
289
- {
290
- "distance": 4.434,
291
- "relativeDirection": "RIGHT",
292
- "streetName": "chemin piétonnier",
293
- "absoluteDirection": "SOUTHEAST",
294
- "stayOn": false,
295
- "area": false,
296
- "bogusName": true,
297
- "lon": 5.7244482,
298
- "lat": 45.188200300000005,
299
- "elevation": [
300
- {
301
- "first": 0,
302
- "second": 213.07
303
- },
304
- {
305
- "first": 4.43,
306
- "second": 213.09
307
- }
308
- ]
309
- },
310
- {
311
- "distance": 15.547,
312
- "relativeDirection": "LEFT",
313
- "streetName": "chemin piétonnier",
314
- "absoluteDirection": "NORTHEAST",
315
- "stayOn": true,
316
- "area": false,
317
- "bogusName": true,
318
- "lon": 5.724483800000001,
319
- "lat": 45.188169300000006,
320
- "elevation": [
321
- {
322
- "first": 0,
323
- "second": 213.09
324
- },
325
- {
326
- "first": 5.34,
327
- "second": 213.08
328
- },
329
- {
330
- "first": 5.344,
331
- "second": 213.08
332
- },
333
- {
334
- "first": 15.544,
335
- "second": 213.05
336
- }
337
- ]
338
- },
339
- {
340
- "distance": 54.485,
341
- "relativeDirection": "CONTINUE",
342
- "streetName": "Place Victor Hugo (path)",
343
- "absoluteDirection": "NORTHEAST",
344
- "stayOn": false,
345
- "area": false,
346
- "bogusName": false,
347
- "lon": 5.7246264,
348
- "lat": 45.1882657,
349
- "elevation": [
350
- {
351
- "first": 0,
352
- "second": 213.05
353
- },
354
- {
355
- "first": 10,
356
- "second": 213.02
357
- },
358
- {
359
- "first": 20,
360
- "second": 212.99
361
- },
362
- {
363
- "first": 30,
364
- "second": 212.97
365
- },
366
- {
367
- "first": 40.51,
368
- "second": 212.95
369
- },
370
- {
371
- "first": 40.512,
372
- "second": 212.95
373
- },
374
- {
375
- "first": 47.462,
376
- "second": 212.95
377
- },
378
- {
379
- "first": 47.457,
380
- "second": 212.95
381
- },
382
- {
383
- "first": 51.727000000000004,
384
- "second": 212.95
385
- },
386
- {
387
- "first": 51.731,
388
- "second": 212.95
389
- },
390
- {
391
- "first": 54.481,
392
- "second": 212.95
393
- }
394
- ]
395
- },
396
- {
397
- "distance": 3.505,
398
- "relativeDirection": "LEFT",
399
- "streetName": "chemin piétonnier",
400
- "absoluteDirection": "NORTH",
401
- "stayOn": false,
402
- "area": false,
403
- "bogusName": true,
404
- "lon": 5.7251712,
405
- "lat": 45.188570000000006,
406
- "elevation": [
407
- {
408
- "first": 0,
409
- "second": 212.95
410
- },
411
- {
412
- "first": 3.51,
413
- "second": 212.95
414
- }
415
- ]
416
- },
417
- {
418
- "distance": 17.091,
419
- "relativeDirection": "RIGHT",
420
- "streetName": "Victor Hugo",
421
- "absoluteDirection": "NORTHEAST",
422
- "stayOn": false,
423
- "area": false,
424
- "bogusName": false,
425
- "lon": 5.7251631000000005,
426
- "lat": 45.188601000000006,
427
- "elevation": []
428
- }
429
- ]
430
- },
431
- {
432
- "startTime": 1614607500000,
433
- "endTime": 1614608220000,
434
- "departureDelay": 0,
435
- "arrivalDelay": 0,
436
- "realTime": false,
437
- "distance": 3058.9460891404597,
438
- "pathway": false,
439
- "mode": "BUS",
440
- "route": "C4",
441
- "agencyName": "M",
442
- "agencyUrl": "https://www.mobilites-m.fr/",
443
- "agencyTimeZoneOffset": 3600000,
444
- "routeColor": "F3D000",
445
- "routeType": 3,
446
- "routeId": "SEM:4",
447
- "routeTextColor": "000000",
448
- "interlineWithPreviousLeg": false,
449
- "headsign": "Eybens, Le Verderet",
450
- "agencyId": "SEM",
451
- "tripId": "SEM:25189715",
452
- "serviceDate": "20210301",
453
- "from": {
454
- "name": "Grenoble, Victor Hugo",
455
- "stopId": "SEM:4321",
456
- "stopCode": "4321",
457
- "lon": 5.72533,
458
- "lat": 45.1887,
459
- "arrival": 1614607499000,
460
- "departure": 1614607500000,
461
- "stopIndex": 0,
462
- "stopSequence": 1,
463
- "vertexType": "TRANSIT"
464
- },
465
- "to": {
466
- "name": "Eybens, Maisons Neuves",
467
- "stopId": "SEM:1579",
468
- "stopCode": "1579",
469
- "lon": 5.74252,
470
- "lat": 45.16491,
471
- "arrival": 1614608220000,
472
- "departure": 1614608221000,
473
- "stopIndex": 10,
474
- "stopSequence": 11,
475
- "vertexType": "TRANSIT"
476
- },
477
- "legGeometry": {
478
- "points": "o|xrGcf}a@_@w@b@e@bAiAbAgAZ[^_@JIh@q@r@y@t@}@|@eAbCoCH[Fa@h@_EVaCVkBVmB?SAU?OLKLITO^]LI^]VSl@g@TQJGzAcATM^M^Mj@U~@e@fAc@JE@AHCRITIRKXMHEZYb@Q^OhBs@TITKJCLGFA?A~Ao@n@WJCr@Wd@S~Am@JCf@UTIBAHC@ADA|DaBTIRK~Ak@pAe@BAFCJCPKDC`Bq@JCzCmArCgA~@]DAHEB?n@Wb@Al@Wt@YRKPOn@]b@Of@IZORIv@]RILGFAFEBAb@Q|Ak@h@[|@_@tB{@|Ak@rEkBFCDADC`@ODC^Ob@QNE?AHCZMjGaCR?TK\\M",
479
- "length": 127
480
- },
481
- "routeShortName": "C4",
482
- "routeLongName": "Grenoble Victor Hugo / Eybens Le Verderet",
483
- "rentedBike": false,
484
- "duration": 720,
485
- "transitLeg": true,
486
- "intermediateStops": [
487
- {
488
- "name": "Grenoble, Docteur Martin",
489
- "stopId": "SEM:0754",
490
- "stopCode": "0754",
491
- "lon": 5.72684,
492
- "lat": 45.18766,
493
- "arrival": 1614607560000,
494
- "departure": 1614607560000,
495
- "stopIndex": 1,
496
- "stopSequence": 2,
497
- "vertexType": "TRANSIT"
498
- },
499
- {
500
- "name": "Grenoble, Chavant",
501
- "stopId": "SEM:1698",
502
- "stopCode": "1698",
503
- "lon": 5.73245,
504
- "lat": 45.18482,
505
- "arrival": 1614607740000,
506
- "departure": 1614607740000,
507
- "stopIndex": 2,
508
- "stopSequence": 3,
509
- "vertexType": "TRANSIT"
510
- },
511
- {
512
- "name": "Grenoble, Driant",
513
- "stopId": "SEM:1766",
514
- "stopCode": "1766",
515
- "lon": 5.7341,
516
- "lat": 45.18229,
517
- "arrival": 1614607860000,
518
- "departure": 1614607860000,
519
- "stopIndex": 3,
520
- "stopSequence": 4,
521
- "vertexType": "TRANSIT"
522
- },
523
- {
524
- "name": "Grenoble, Mallifaud",
525
- "stopId": "SEM:0822",
526
- "stopCode": "0822",
527
- "lon": 5.73508,
528
- "lat": 45.18033,
529
- "arrival": 1614607920000,
530
- "departure": 1614607920000,
531
- "stopIndex": 4,
532
- "stopSequence": 5,
533
- "vertexType": "TRANSIT"
534
- },
535
- {
536
- "name": "Grenoble, Bajatière",
537
- "stopId": "SEM:0824",
538
- "stopCode": "0824",
539
- "lon": 5.73614,
540
- "lat": 45.17814,
541
- "arrival": 1614607920000,
542
- "departure": 1614607920000,
543
- "stopIndex": 5,
544
- "stopSequence": 6,
545
- "vertexType": "TRANSIT"
546
- },
547
- {
548
- "name": "Grenoble, Ponsard",
549
- "stopId": "SEM:0826",
550
- "stopCode": "0826",
551
- "lon": 5.7372,
552
- "lat": 45.17597,
553
- "arrival": 1614607980000,
554
- "departure": 1614607980000,
555
- "stopIndex": 6,
556
- "stopSequence": 7,
557
- "vertexType": "TRANSIT"
558
- },
559
- {
560
- "name": "Grenoble, Paul Claudel",
561
- "stopId": "SEM:0828",
562
- "stopCode": "0828",
563
- "lon": 5.73851,
564
- "lat": 45.17336,
565
- "arrival": 1614608040000,
566
- "departure": 1614608040000,
567
- "stopIndex": 7,
568
- "stopSequence": 8,
569
- "vertexType": "TRANSIT"
570
- },
571
- {
572
- "name": "Grenoble, Teisseire",
573
- "stopId": "SEM:0830",
574
- "stopCode": "0830",
575
- "lon": 5.73971,
576
- "lat": 45.17091,
577
- "arrival": 1614608100000,
578
- "departure": 1614608100000,
579
- "stopIndex": 8,
580
- "stopSequence": 9,
581
- "vertexType": "TRANSIT"
582
- },
583
- {
584
- "name": "Grenoble, Jean Racine",
585
- "stopId": "SEM:0832",
586
- "stopCode": "0832",
587
- "lon": 5.74175,
588
- "lat": 45.16683,
589
- "arrival": 1614608160000,
590
- "departure": 1614608160000,
591
- "stopIndex": 9,
592
- "stopSequence": 10,
593
- "vertexType": "TRANSIT"
594
- }
595
- ],
596
- "steps": []
597
- },
598
- {
599
- "startTime": 1614608221000,
600
- "endTime": 1614608416000,
601
- "departureDelay": 0,
602
- "arrivalDelay": 0,
603
- "realTime": false,
604
- "distance": 194.059,
605
- "pathway": false,
606
- "mode": "WALK",
607
- "route": "",
608
- "agencyTimeZoneOffset": 3600000,
609
- "interlineWithPreviousLeg": false,
610
- "from": {
611
- "name": "Eybens, Maisons Neuves",
612
- "stopId": "SEM:1579",
613
- "stopCode": "1579",
614
- "lon": 5.74252,
615
- "lat": 45.16491,
616
- "arrival": 1614608220000,
617
- "departure": 1614608221000,
618
- "stopIndex": 10,
619
- "stopSequence": 11,
620
- "vertexType": "TRANSIT"
621
- },
622
- "to": {
623
- "name": "Destination",
624
- "lon": 5.74085,
625
- "lat": 45.163729,
626
- "arrival": 1614608416000,
627
- "orig": "",
628
- "vertexType": "NORMAL"
629
- },
630
- "legGeometry": {
631
- "points": "ugtrGwq`b@DCJ?BLHl@DABFXb@bAfBVh@FJ~@vA",
632
- "length": 12
633
- },
634
- "rentedBike": false,
635
- "duration": 195,
636
- "transitLeg": false,
637
- "intermediateStops": [],
638
- "steps": [
639
- {
640
- "distance": 34.867000000000004,
641
- "relativeDirection": "DEPART",
642
- "streetName": "Maisons Neuves",
643
- "absoluteDirection": "SOUTH",
644
- "stayOn": false,
645
- "area": false,
646
- "bogusName": false,
647
- "lon": 5.742527442718813,
648
- "lat": 45.16491186775702,
649
- "elevation": [
650
- {
651
- "first": 16.014,
652
- "second": 216.55
653
- },
654
- {
655
- "first": 23.073999999999998,
656
- "second": 216.57
657
- },
658
- {
659
- "first": 23.073,
660
- "second": 216.57
661
- },
662
- {
663
- "first": 29.003,
664
- "second": 216.59
665
- }
666
- ]
667
- },
668
- {
669
- "distance": 2.503,
670
- "relativeDirection": "LEFT",
671
- "streetName": "chemin piétonnier",
672
- "absoluteDirection": "SOUTH",
673
- "stayOn": false,
674
- "area": false,
675
- "bogusName": true,
676
- "lon": 5.7422494,
677
- "lat": 45.164752,
678
- "elevation": [
679
- {
680
- "first": 0,
681
- "second": 216.67
682
- },
683
- {
684
- "first": 2.5,
685
- "second": 216.68
686
- }
687
- ]
688
- },
689
- {
690
- "distance": 100.97,
691
- "relativeDirection": "RIGHT",
692
- "streetName": "Rue Voltaire",
693
- "absoluteDirection": "SOUTHWEST",
694
- "stayOn": false,
695
- "area": false,
696
- "bogusName": false,
697
- "lon": 5.7422526000000005,
698
- "lat": 45.1647296,
699
- "elevation": [
700
- {
701
- "first": 0,
702
- "second": 216.68
703
- },
704
- {
705
- "first": 4.26,
706
- "second": 216.7
707
- },
708
- {
709
- "first": 4.262,
710
- "second": 216.7
711
- },
712
- {
713
- "first": 14.262,
714
- "second": 216.75
715
- },
716
- {
717
- "first": 24.262,
718
- "second": 216.8
719
- },
720
- {
721
- "first": 34.262,
722
- "second": 216.85
723
- },
724
- {
725
- "first": 44.262,
726
- "second": 216.91
727
- },
728
- {
729
- "first": 54.262,
730
- "second": 216.96
731
- },
732
- {
733
- "first": 64.262,
734
- "second": 217.01
735
- },
736
- {
737
- "first": 74.262,
738
- "second": 217.06
739
- },
740
- {
741
- "first": 84.262,
742
- "second": 217.11
743
- },
744
- {
745
- "first": 94.262,
746
- "second": 217.16
747
- },
748
- {
749
- "first": 100.972,
750
- "second": 217.19
751
- }
752
- ]
753
- },
754
- {
755
- "distance": 55.719,
756
- "relativeDirection": "CONTINUE",
757
- "streetName": "Chemin des Alisiers (path)",
758
- "absoluteDirection": "SOUTHWEST",
759
- "stayOn": false,
760
- "area": false,
761
- "bogusName": false,
762
- "lon": 5.741303,
763
- "lat": 45.1641173,
764
- "elevation": [
765
- {
766
- "first": 0,
767
- "second": 217.19
768
- },
769
- {
770
- "first": 6.81,
771
- "second": 217.22
772
- }
773
- ]
774
- }
775
- ]
776
- }
777
- ],
778
- "tooSloped": false
779
- },
780
- {
781
- "duration": 1206,
782
- "startTime": 1614607750000,
783
- "endTime": 1614608956000,
784
- "walkTime": 484,
785
- "transitTime": 720,
786
- "waitingTime": 2,
787
- "walkDistance": 452.2322138330627,
788
- "walkLimitExceeded": false,
789
- "elevationLost": 0.44000000000002615,
790
- "elevationGained": 0.7400000000000091,
791
- "transfers": 0,
792
- "fare": {
793
- "fare": {
794
- "regular": {
795
- "currency": {
796
- "symbol": "€",
797
- "currencyCode": "EUR",
798
- "currency": "EUR",
799
- "defaultFractionDigits": 2
800
- },
801
- "cents": 160
802
- }
803
- }
804
- },
805
- "legs": [
806
- {
807
- "startTime": 1614607750000,
808
- "endTime": 1614608039000,
809
- "departureDelay": 0,
810
- "arrivalDelay": 0,
811
- "realTime": false,
812
- "distance": 257.721,
813
- "pathway": false,
814
- "mode": "WALK",
815
- "route": "",
816
- "agencyTimeZoneOffset": 3600000,
817
- "interlineWithPreviousLeg": false,
818
- "from": {
819
- "name": "Origin",
820
- "lon": 5.723455,
821
- "lat": 45.187291,
822
- "departure": 1614607750000,
823
- "orig": "",
824
- "vertexType": "NORMAL"
825
- },
826
- "to": {
827
- "name": "Grenoble, Victor Hugo",
828
- "stopId": "SEM:4321",
829
- "stopCode": "4321",
830
- "lon": 5.72533,
831
- "lat": 45.1887,
832
- "arrival": 1614608039000,
833
- "departure": 1614608040000,
834
- "stopIndex": 0,
835
- "stopSequence": 1,
836
- "vertexType": "TRANSIT"
837
- },
838
- "legGeometry": {
839
- "points": "ctxrGm{|a@BETQ?AsA`@CMEKKDCOISOYMWQa@Ue@FGEIMQm@qAGKCICEE@Qa@",
840
- "length": 23
841
- },
842
- "rentedBike": false,
843
- "duration": 289,
844
- "transitLeg": false,
845
- "intermediateStops": [],
846
- "steps": [
847
- {
848
- "distance": 17.793,
849
- "relativeDirection": "DEPART",
850
- "streetName": "plateau piétonnier",
851
- "absoluteDirection": "SOUTHEAST",
852
- "stayOn": false,
853
- "area": false,
854
- "bogusName": false,
855
- "lon": 5.723598199907396,
856
- "lat": 45.18738397888676,
857
- "elevation": [
858
- {
859
- "first": 5.828,
860
- "second": 213.32
861
- },
862
- {
863
- "first": 19.578,
864
- "second": 213.36
865
- },
866
- {
867
- "first": 19.573,
868
- "second": 213.36
869
- },
870
- {
871
- "first": 20.703,
872
- "second": 213.37
873
- }
874
- ]
875
- },
876
- {
877
- "distance": 48.69,
878
- "relativeDirection": "HARD_LEFT",
879
- "streetName": "plateau piétonnier",
880
- "absoluteDirection": "NORTH",
881
- "stayOn": true,
882
- "area": true,
883
- "bogusName": true,
884
- "lon": 5.723722100000001,
885
- "lat": 45.1872504,
886
- "elevation": [
887
- {
888
- "first": 0,
889
- "second": 213.37
890
- },
891
- {
892
- "first": 10,
893
- "second": 213.34
894
- },
895
- {
896
- "first": 20,
897
- "second": 213.31
898
- },
899
- {
900
- "first": 30,
901
- "second": 213.28
902
- },
903
- {
904
- "first": 40,
905
- "second": 213.25
906
- },
907
- {
908
- "first": 48.69,
909
- "second": 213.23
910
- }
911
- ]
912
- },
913
- {
914
- "distance": 11.844999999999999,
915
- "relativeDirection": "RIGHT",
916
- "streetName": "chemin piétonnier",
917
- "absoluteDirection": "NORTHEAST",
918
- "stayOn": true,
919
- "area": false,
920
- "bogusName": true,
921
- "lon": 5.723559900000001,
922
- "lat": 45.187673100000005,
923
- "elevation": [
924
- {
925
- "first": 0,
926
- "second": 213.23
927
- },
928
- {
929
- "first": 5.51,
930
- "second": 213.22
931
- },
932
- {
933
- "first": 5.51,
934
- "second": 213.22
935
- },
936
- {
937
- "first": 11.85,
938
- "second": 213.22
939
- }
940
- ]
941
- },
942
- {
943
- "distance": 6.772,
944
- "relativeDirection": "LEFT",
945
- "streetName": "Boulevard Gambetta (path)",
946
- "absoluteDirection": "NORTH",
947
- "stayOn": false,
948
- "area": false,
949
- "bogusName": false,
950
- "lon": 5.723688200000001,
951
- "lat": 45.1877294,
952
- "elevation": [
953
- {
954
- "first": 0,
955
- "second": 213.22
956
- },
957
- {
958
- "first": 6.77,
959
- "second": 213.2
960
- }
961
- ]
962
- },
963
- {
964
- "distance": 77.559,
965
- "relativeDirection": "RIGHT",
966
- "streetName": "Rue Béranger",
967
- "absoluteDirection": "NORTHEAST",
968
- "stayOn": false,
969
- "area": false,
970
- "bogusName": false,
971
- "lon": 5.723657,
972
- "lat": 45.187786200000005,
973
- "elevation": [
974
- {
975
- "first": 0,
976
- "second": 213.2
977
- },
978
- {
979
- "first": 6.39,
980
- "second": 213.2
981
- },
982
- {
983
- "first": 6.393,
984
- "second": 213.2
985
- },
986
- {
987
- "first": 15.863,
988
- "second": 213.2
989
- },
990
- {
991
- "first": 15.858,
992
- "second": 213.2
993
- },
994
- {
995
- "first": 25.858,
996
- "second": 213.18
997
- },
998
- {
999
- "first": 35.858000000000004,
1000
- "second": 213.16
1001
- },
1002
- {
1003
- "first": 41.158,
1004
- "second": 213.15
1005
- },
1006
- {
1007
- "first": 41.153999999999996,
1008
- "second": 213.15
1009
- },
1010
- {
1011
- "first": 51.153999999999996,
1012
- "second": 213.13
1013
- },
1014
- {
1015
- "first": 58.45399999999999,
1016
- "second": 213.11
1017
- },
1018
- {
1019
- "first": 58.45399999999999,
1020
- "second": 213.11
1021
- },
1022
- {
1023
- "first": 68.454,
1024
- "second": 213.09
1025
- },
1026
- {
1027
- "first": 77.564,
1028
- "second": 213.07
1029
- }
1030
- ]
1031
- },
1032
- {
1033
- "distance": 4.434,
1034
- "relativeDirection": "RIGHT",
1035
- "streetName": "chemin piétonnier",
1036
- "absoluteDirection": "SOUTHEAST",
1037
- "stayOn": false,
1038
- "area": false,
1039
- "bogusName": true,
1040
- "lon": 5.7244482,
1041
- "lat": 45.188200300000005,
1042
- "elevation": [
1043
- {
1044
- "first": 0,
1045
- "second": 213.07
1046
- },
1047
- {
1048
- "first": 4.43,
1049
- "second": 213.09
1050
- }
1051
- ]
1052
- },
1053
- {
1054
- "distance": 15.547,
1055
- "relativeDirection": "LEFT",
1056
- "streetName": "chemin piétonnier",
1057
- "absoluteDirection": "NORTHEAST",
1058
- "stayOn": true,
1059
- "area": false,
1060
- "bogusName": true,
1061
- "lon": 5.724483800000001,
1062
- "lat": 45.188169300000006,
1063
- "elevation": [
1064
- {
1065
- "first": 0,
1066
- "second": 213.09
1067
- },
1068
- {
1069
- "first": 5.34,
1070
- "second": 213.08
1071
- },
1072
- {
1073
- "first": 5.344,
1074
- "second": 213.08
1075
- },
1076
- {
1077
- "first": 15.544,
1078
- "second": 213.05
1079
- }
1080
- ]
1081
- },
1082
- {
1083
- "distance": 54.485,
1084
- "relativeDirection": "CONTINUE",
1085
- "streetName": "Place Victor Hugo (path)",
1086
- "absoluteDirection": "NORTHEAST",
1087
- "stayOn": false,
1088
- "area": false,
1089
- "bogusName": false,
1090
- "lon": 5.7246264,
1091
- "lat": 45.1882657,
1092
- "elevation": [
1093
- {
1094
- "first": 0,
1095
- "second": 213.05
1096
- },
1097
- {
1098
- "first": 10,
1099
- "second": 213.02
1100
- },
1101
- {
1102
- "first": 20,
1103
- "second": 212.99
1104
- },
1105
- {
1106
- "first": 30,
1107
- "second": 212.97
1108
- },
1109
- {
1110
- "first": 40.51,
1111
- "second": 212.95
1112
- },
1113
- {
1114
- "first": 40.512,
1115
- "second": 212.95
1116
- },
1117
- {
1118
- "first": 47.462,
1119
- "second": 212.95
1120
- },
1121
- {
1122
- "first": 47.457,
1123
- "second": 212.95
1124
- },
1125
- {
1126
- "first": 51.727000000000004,
1127
- "second": 212.95
1128
- },
1129
- {
1130
- "first": 51.731,
1131
- "second": 212.95
1132
- },
1133
- {
1134
- "first": 54.481,
1135
- "second": 212.95
1136
- }
1137
- ]
1138
- },
1139
- {
1140
- "distance": 3.505,
1141
- "relativeDirection": "LEFT",
1142
- "streetName": "chemin piétonnier",
1143
- "absoluteDirection": "NORTH",
1144
- "stayOn": false,
1145
- "area": false,
1146
- "bogusName": true,
1147
- "lon": 5.7251712,
1148
- "lat": 45.188570000000006,
1149
- "elevation": [
1150
- {
1151
- "first": 0,
1152
- "second": 212.95
1153
- },
1154
- {
1155
- "first": 3.51,
1156
- "second": 212.95
1157
- }
1158
- ]
1159
- },
1160
- {
1161
- "distance": 17.091,
1162
- "relativeDirection": "RIGHT",
1163
- "streetName": "Victor Hugo",
1164
- "absoluteDirection": "NORTHEAST",
1165
- "stayOn": false,
1166
- "area": false,
1167
- "bogusName": false,
1168
- "lon": 5.7251631000000005,
1169
- "lat": 45.188601000000006,
1170
- "elevation": []
1171
- }
1172
- ]
1173
- },
1174
- {
1175
- "startTime": 1614608040000,
1176
- "endTime": 1614608760000,
1177
- "departureDelay": 0,
1178
- "arrivalDelay": 0,
1179
- "realTime": false,
1180
- "distance": 3058.9460891404597,
1181
- "pathway": false,
1182
- "mode": "BUS",
1183
- "route": "C4",
1184
- "agencyName": "M",
1185
- "agencyUrl": "https://www.mobilites-m.fr/",
1186
- "agencyTimeZoneOffset": 3600000,
1187
- "routeColor": "F3D000",
1188
- "routeType": 3,
1189
- "routeId": "SEM:4",
1190
- "routeTextColor": "000000",
1191
- "interlineWithPreviousLeg": false,
1192
- "headsign": "Eybens, Le Verderet",
1193
- "agencyId": "SEM",
1194
- "tripId": "SEM:25189716",
1195
- "serviceDate": "20210301",
1196
- "from": {
1197
- "name": "Grenoble, Victor Hugo",
1198
- "stopId": "SEM:4321",
1199
- "stopCode": "4321",
1200
- "lon": 5.72533,
1201
- "lat": 45.1887,
1202
- "arrival": 1614608039000,
1203
- "departure": 1614608040000,
1204
- "stopIndex": 0,
1205
- "stopSequence": 1,
1206
- "vertexType": "TRANSIT"
1207
- },
1208
- "to": {
1209
- "name": "Eybens, Maisons Neuves",
1210
- "stopId": "SEM:1579",
1211
- "stopCode": "1579",
1212
- "lon": 5.74252,
1213
- "lat": 45.16491,
1214
- "arrival": 1614608760000,
1215
- "departure": 1614608761000,
1216
- "stopIndex": 10,
1217
- "stopSequence": 11,
1218
- "vertexType": "TRANSIT"
1219
- },
1220
- "legGeometry": {
1221
- "points": "o|xrGcf}a@_@w@b@e@bAiAbAgAZ[^_@JIh@q@r@y@t@}@|@eAbCoCH[Fa@h@_EVaCVkBVmB?SAU?OLKLITO^]LI^]VSl@g@TQJGzAcATM^M^Mj@U~@e@fAc@JE@AHCRITIRKXMHEZYb@Q^OhBs@TITKJCLGFA?A~Ao@n@WJCr@Wd@S~Am@JCf@UTIBAHC@ADA|DaBTIRK~Ak@pAe@BAFCJCPKDC`Bq@JCzCmArCgA~@]DAHEB?n@Wb@Al@Wt@YRKPOn@]b@Of@IZORIv@]RILGFAFEBAb@Q|Ak@h@[|@_@tB{@|Ak@rEkBFCDADC`@ODC^Ob@QNE?AHCZMjGaCR?TK\\M",
1222
- "length": 127
1223
- },
1224
- "routeShortName": "C4",
1225
- "routeLongName": "Grenoble Victor Hugo / Eybens Le Verderet",
1226
- "rentedBike": false,
1227
- "duration": 720,
1228
- "transitLeg": true,
1229
- "intermediateStops": [
1230
- {
1231
- "name": "Grenoble, Docteur Martin",
1232
- "stopId": "SEM:0754",
1233
- "stopCode": "0754",
1234
- "lon": 5.72684,
1235
- "lat": 45.18766,
1236
- "arrival": 1614608100000,
1237
- "departure": 1614608100000,
1238
- "stopIndex": 1,
1239
- "stopSequence": 2,
1240
- "vertexType": "TRANSIT"
1241
- },
1242
- {
1243
- "name": "Grenoble, Chavant",
1244
- "stopId": "SEM:1698",
1245
- "stopCode": "1698",
1246
- "lon": 5.73245,
1247
- "lat": 45.18482,
1248
- "arrival": 1614608280000,
1249
- "departure": 1614608280000,
1250
- "stopIndex": 2,
1251
- "stopSequence": 3,
1252
- "vertexType": "TRANSIT"
1253
- },
1254
- {
1255
- "name": "Grenoble, Driant",
1256
- "stopId": "SEM:1766",
1257
- "stopCode": "1766",
1258
- "lon": 5.7341,
1259
- "lat": 45.18229,
1260
- "arrival": 1614608400000,
1261
- "departure": 1614608400000,
1262
- "stopIndex": 3,
1263
- "stopSequence": 4,
1264
- "vertexType": "TRANSIT"
1265
- },
1266
- {
1267
- "name": "Grenoble, Mallifaud",
1268
- "stopId": "SEM:0822",
1269
- "stopCode": "0822",
1270
- "lon": 5.73508,
1271
- "lat": 45.18033,
1272
- "arrival": 1614608460000,
1273
- "departure": 1614608460000,
1274
- "stopIndex": 4,
1275
- "stopSequence": 5,
1276
- "vertexType": "TRANSIT"
1277
- },
1278
- {
1279
- "name": "Grenoble, Bajatière",
1280
- "stopId": "SEM:0824",
1281
- "stopCode": "0824",
1282
- "lon": 5.73614,
1283
- "lat": 45.17814,
1284
- "arrival": 1614608460000,
1285
- "departure": 1614608460000,
1286
- "stopIndex": 5,
1287
- "stopSequence": 6,
1288
- "vertexType": "TRANSIT"
1289
- },
1290
- {
1291
- "name": "Grenoble, Ponsard",
1292
- "stopId": "SEM:0826",
1293
- "stopCode": "0826",
1294
- "lon": 5.7372,
1295
- "lat": 45.17597,
1296
- "arrival": 1614608520000,
1297
- "departure": 1614608520000,
1298
- "stopIndex": 6,
1299
- "stopSequence": 7,
1300
- "vertexType": "TRANSIT"
1301
- },
1302
- {
1303
- "name": "Grenoble, Paul Claudel",
1304
- "stopId": "SEM:0828",
1305
- "stopCode": "0828",
1306
- "lon": 5.73851,
1307
- "lat": 45.17336,
1308
- "arrival": 1614608580000,
1309
- "departure": 1614608580000,
1310
- "stopIndex": 7,
1311
- "stopSequence": 8,
1312
- "vertexType": "TRANSIT"
1313
- },
1314
- {
1315
- "name": "Grenoble, Teisseire",
1316
- "stopId": "SEM:0830",
1317
- "stopCode": "0830",
1318
- "lon": 5.73971,
1319
- "lat": 45.17091,
1320
- "arrival": 1614608640000,
1321
- "departure": 1614608640000,
1322
- "stopIndex": 8,
1323
- "stopSequence": 9,
1324
- "vertexType": "TRANSIT"
1325
- },
1326
- {
1327
- "name": "Grenoble, Jean Racine",
1328
- "stopId": "SEM:0832",
1329
- "stopCode": "0832",
1330
- "lon": 5.74175,
1331
- "lat": 45.16683,
1332
- "arrival": 1614608700000,
1333
- "departure": 1614608700000,
1334
- "stopIndex": 9,
1335
- "stopSequence": 10,
1336
- "vertexType": "TRANSIT"
1337
- }
1338
- ],
1339
- "steps": []
1340
- },
1341
- {
1342
- "startTime": 1614608761000,
1343
- "endTime": 1614608956000,
1344
- "departureDelay": 0,
1345
- "arrivalDelay": 0,
1346
- "realTime": false,
1347
- "distance": 194.059,
1348
- "pathway": false,
1349
- "mode": "WALK",
1350
- "route": "",
1351
- "agencyTimeZoneOffset": 3600000,
1352
- "interlineWithPreviousLeg": false,
1353
- "from": {
1354
- "name": "Eybens, Maisons Neuves",
1355
- "stopId": "SEM:1579",
1356
- "stopCode": "1579",
1357
- "lon": 5.74252,
1358
- "lat": 45.16491,
1359
- "arrival": 1614608760000,
1360
- "departure": 1614608761000,
1361
- "stopIndex": 10,
1362
- "stopSequence": 11,
1363
- "vertexType": "TRANSIT"
1364
- },
1365
- "to": {
1366
- "name": "Destination",
1367
- "lon": 5.74085,
1368
- "lat": 45.163729,
1369
- "arrival": 1614608956000,
1370
- "orig": "",
1371
- "vertexType": "NORMAL"
1372
- },
1373
- "legGeometry": {
1374
- "points": "ugtrGwq`b@DCJ?BLHl@DABFXb@bAfBVh@FJ~@vA",
1375
- "length": 12
1376
- },
1377
- "rentedBike": false,
1378
- "duration": 195,
1379
- "transitLeg": false,
1380
- "intermediateStops": [],
1381
- "steps": [
1382
- {
1383
- "distance": 34.867000000000004,
1384
- "relativeDirection": "DEPART",
1385
- "streetName": "Maisons Neuves",
1386
- "absoluteDirection": "SOUTH",
1387
- "stayOn": false,
1388
- "area": false,
1389
- "bogusName": false,
1390
- "lon": 5.742527442718813,
1391
- "lat": 45.16491186775702,
1392
- "elevation": [
1393
- {
1394
- "first": 16.014,
1395
- "second": 216.55
1396
- },
1397
- {
1398
- "first": 23.073999999999998,
1399
- "second": 216.57
1400
- },
1401
- {
1402
- "first": 23.073,
1403
- "second": 216.57
1404
- },
1405
- {
1406
- "first": 29.003,
1407
- "second": 216.59
1408
- }
1409
- ]
1410
- },
1411
- {
1412
- "distance": 2.503,
1413
- "relativeDirection": "LEFT",
1414
- "streetName": "chemin piétonnier",
1415
- "absoluteDirection": "SOUTH",
1416
- "stayOn": false,
1417
- "area": false,
1418
- "bogusName": true,
1419
- "lon": 5.7422494,
1420
- "lat": 45.164752,
1421
- "elevation": [
1422
- {
1423
- "first": 0,
1424
- "second": 216.67
1425
- },
1426
- {
1427
- "first": 2.5,
1428
- "second": 216.68
1429
- }
1430
- ]
1431
- },
1432
- {
1433
- "distance": 100.97,
1434
- "relativeDirection": "RIGHT",
1435
- "streetName": "Rue Voltaire",
1436
- "absoluteDirection": "SOUTHWEST",
1437
- "stayOn": false,
1438
- "area": false,
1439
- "bogusName": false,
1440
- "lon": 5.7422526000000005,
1441
- "lat": 45.1647296,
1442
- "elevation": [
1443
- {
1444
- "first": 0,
1445
- "second": 216.68
1446
- },
1447
- {
1448
- "first": 4.26,
1449
- "second": 216.7
1450
- },
1451
- {
1452
- "first": 4.262,
1453
- "second": 216.7
1454
- },
1455
- {
1456
- "first": 14.262,
1457
- "second": 216.75
1458
- },
1459
- {
1460
- "first": 24.262,
1461
- "second": 216.8
1462
- },
1463
- {
1464
- "first": 34.262,
1465
- "second": 216.85
1466
- },
1467
- {
1468
- "first": 44.262,
1469
- "second": 216.91
1470
- },
1471
- {
1472
- "first": 54.262,
1473
- "second": 216.96
1474
- },
1475
- {
1476
- "first": 64.262,
1477
- "second": 217.01
1478
- },
1479
- {
1480
- "first": 74.262,
1481
- "second": 217.06
1482
- },
1483
- {
1484
- "first": 84.262,
1485
- "second": 217.11
1486
- },
1487
- {
1488
- "first": 94.262,
1489
- "second": 217.16
1490
- },
1491
- {
1492
- "first": 100.972,
1493
- "second": 217.19
1494
- }
1495
- ]
1496
- },
1497
- {
1498
- "distance": 55.719,
1499
- "relativeDirection": "CONTINUE",
1500
- "streetName": "Chemin des Alisiers (path)",
1501
- "absoluteDirection": "SOUTHWEST",
1502
- "stayOn": false,
1503
- "area": false,
1504
- "bogusName": false,
1505
- "lon": 5.741303,
1506
- "lat": 45.1641173,
1507
- "elevation": [
1508
- {
1509
- "first": 0,
1510
- "second": 217.19
1511
- },
1512
- {
1513
- "first": 6.81,
1514
- "second": 217.22
1515
- }
1516
- ]
1517
- }
1518
- ]
1519
- }
1520
- ],
1521
- "tooSloped": false
1522
- }
1523
- ]
1524
- },
1525
- "debugOutput": {
1526
- "precalculationTime": 500,
1527
- "pathCalculationTime": 46,
1528
- "pathTimes": [
1529
- 31,
1530
- 15
1531
- ],
1532
- "renderingTime": 0,
1533
- "totalTime": 546,
1534
- "timedOut": false
1535
- }
1536
- }