In [1]:
# exemples de structures finies de données
# chaîne de caractères
s = "Hello"
# booléen
a = True
b = False
b == (not a) # True
# entier
x = 3
# réel
y = 3.4

In [2]:
# classes
class RoadUser:
    def __init__(self, position, velocity):
        self.name = ''
        self.position = position        
        self.velocity = velocity

    def move(self, deltaT):
        self.position += deltaT*self.velocity

    def getType(self):
        return 'User'

    def __str__(self):
        return '{} @ {}'.format(self.getType(), self.position)

    def draw(self):
        pass

class PassengerVehicle(RoadUser):
    def getType(self):
        return 'Véhicule'

class Pedestrian(RoadUser):
    def getType(self):
        return 'Piéton'

class Cyclist(RoadUser):
    def getType(self):
        return 'Cycliste'

roadUsers = [PassengerVehicle(1, 5.),
             Pedestrian(10, 1.),
             Cyclist(15, 2.)]

for r in roadUsers:
    print(r)


Véhicule @ 1
Piéton @ 10
Cycliste @ 15

In [3]:
# exemples de structures indexées de données
# listes
l = [3,4]
m = list(range(10))
# ensemble
s = set(range(10))
# matrices etc.
import numpy as np
m = np.zeros((5,6))
print(m)
m = np.random.random_sample(25).reshape(5, 5)
print(m)
# dictionnaire
comptages = {'autos': 12, 'cyclistes': 45, 'piétons': 23}


[[0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]]
[[0.50002135 0.93769225 0.24191443 0.89653815 0.54460384]
 [0.15490695 0.13509592 0.57247765 0.88585507 0.17488602]
 [0.49014849 0.02028156 0.02013347 0.69005017 0.48137415]
 [0.95697792 0.04804245 0.98121181 0.50672401 0.91766488]
 [0.93176987 0.42874801 0.92512403 0.10487725 0.28315599]]

In [4]:
# exemples de structures récursives
%matplotlib inline
#%config InlineBackend.figure_format = 'svg'
import matplotlib.pyplot as plt
import networkx as nx
import osmnx as ox

In [5]:
#ox.plot_graph(ox.graph_from_place('Modena, Italy'))
G = ox.graph_from_address('2900 Bd Edouard Montpetit, Montreal, QC', network_type='drive')
ox.plot_graph(G)
ox.basic_stats(G)
#ox.extended_stats(G, bc=True)


Out[5]:
{'n': 179,
 'm': 397,
 'k_avg': 4.435754189944134,
 'intersection_count': 173,
 'streets_per_node_avg': 3.3128491620111733,
 'streets_per_node_counts': {0: 0, 1: 6, 2: 5, 3: 98, 4: 67, 5: 3},
 'streets_per_node_proportion': {0: 0.0,
  1: 0.0335195530726257,
  2: 0.027932960893854747,
  3: 0.547486033519553,
  4: 0.3743016759776536,
  5: 0.01675977653631285},
 'edge_length_total': 44781.83999999999,
 'edge_length_avg': 112.800604534005,
 'street_length_total': 31637.988999999976,
 'street_length_avg': 115.46711313868605,
 'street_segments_count': 274,
 'node_density_km': None,
 'intersection_density_km': None,
 'edge_density_km': None,
 'street_density_km': None,
 'circuity_avg': 1.0383686283600522,
 'self_loop_proportion': 0.007556675062972292,
 'clean_intersection_count': None,
 'clean_intersection_density_km': None}

In [6]:
# G.node
list(G.adjacency())


Out[6]:
[(504315953,
  {5416283759: {0: {'osmid': [102232485, 518224462],
     'lanes': '4',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 275.55,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b1546f7b8>}},
   31699864: {0: {'osmid': 102232485,
     'lanes': '4',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 267.65700000000004,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b1546f4a8>}},
   213573344: {0: {'osmid': 443075135,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'length': 105.209,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14c015c0>}},
   213573512: {0: {'osmid': 464708841,
     'oneway': False,
     'lanes': '1',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'length': 159.104,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14c012e8>}}}),
 (303431774,
  {1975853548: {0: {'osmid': 27628459,
     'lanes': '2',
     'name': 'Avenue Robert',
     'highway': 'residential',
     'oneway': False,
     'length': 56.689}}}),
 (3964969097,
  {213538770: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 23.494}},
   213572953: {0: {'osmid': 20192248,
     'lanes': '2',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'oneway': False,
     'length': 287.13199999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a869b0>}},
   213538698: {0: {'osmid': 20194964,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'length': 89.61699999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86a90>}},
   213538758: {0: {'osmid': 455735492,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 132.661,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a869e8>}}}),
 (3964969125,
  {30453569: {0: {'osmid': 4685592,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 233.747,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86b70>}},
   1765630401: {0: {'osmid': 455716117,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 98.571,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86ba8>}},
   1765630398: {0: {'osmid': [464695104, 464695105, 455716117, 464694087],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 438.49699999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86c18>}}}),
 (3964969147,
  {213649392: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 105.638,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86d30>}},
   31700077: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 244.04100000000003,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86d68>}}}),
 (5415829801,
  {4171683688: {0: {'osmid': [464953354, 561695910, 464940898],
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 159.96099999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5278>}},
   5415829806: {0: {'osmid': 561695922,
     'oneway': True,
     'lanes': '1',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'length': 27.972,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f52b0>}}}),
 (5415829803,
  {300103857: {0: {'osmid': 464953352,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 21.709}},
   31700078: {0: {'osmid': 561695913,
     'oneway': True,
     'lanes': '1',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'length': 25.854,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f52e8>}}}),
 (5415829806,
  {213666597: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 91.748}},
   5415829803: {0: {'osmid': 561695916,
     'oneway': True,
     'lanes': '1',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'length': 25.506,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5320>}}}),
 (5415829812,
  {1765630408: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 47.677}},
   4171683688: {0: {'osmid': 561695925,
     'oneway': True,
     'lanes': '2',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 54.870999999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5358>}}}),
 (1704419702,
  {2485523857: {0: {'osmid': 158209463,
     'lanes': '2',
     'name': 'Rue Souart',
     'highway': 'residential',
     'oneway': False,
     'length': 179.979}},
   4520704482: {0: {'osmid': 4640305,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 87.15899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5588>}},
   30453320: {0: {'osmid': 4640305,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 84.477,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f55c0>}}}),
 (1765630398,
  {31393536: {0: {'osmid': [500990449, 4872825, 464694084, 463684962],
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 298.31699999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5828>}},
   1765657071: {0: {'osmid': 464694085,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 166.285,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5908>}},
   3964969125: {0: {'osmid': [464695104, 464695105, 455716117, 464694087],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 438.49699999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5978>}},
   4520704485: {0: {'osmid': 500990450,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 77.253,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f59b0>}}}),
 (1765630401,
  {209377880: {0: {'osmid': 19936202,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Northmount',
     'highway': 'residential',
     'length': 228.555}},
   3750100565: {0: {'osmid': [455716113, 455716117],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 95.62400000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f59e8>}},
   3964969125: {0: {'osmid': 455716117,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 98.571,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5a20>}}}),
 (1765630403,
  {3750100565: {0: {'osmid': [455716106, 464720839],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 78.13499999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5a58>}},
   1765657072: {0: {'osmid': 464734936,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 81.37700000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5a90>}}}),
 (1765630404,
  {1765630405: {0: {'osmid': 464939362,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 17.237}},
   1765657072: {0: {'osmid': 464734936,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 92.268,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5ac8>}}}),
 (1765630405,
  {1765630404: {0: {'osmid': 464939362,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 17.237}},
   209377861: {0: {'osmid': [164972314, 19936204],
     'oneway': True,
     'lanes': '1',
     'name': ['Avenue Plantagenet', 'Avenue Soissons'],
     'highway': 'residential',
     'length': 483.414,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5b00>}},
   1765630406: {0: {'osmid': 464734935,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 72.14500000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5b38>}}}),
 (1765630406,
  {828077359: {0: {'osmid': 68920348,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Wilderton',
     'highway': 'tertiary',
     'length': 338.51699999999994,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5b70>}},
   1765630405: {0: {'osmid': 464734935,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 72.14500000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5ba8>}},
   1765657073: {0: {'osmid': 464939363,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.08200000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5be0>}}}),
 (1765630407,
  {4158246906: {0: {'osmid': 26418242,
     'lanes': '2',
     'name': 'Avenue Déom',
     'highway': 'residential',
     'oneway': False,
     'length': 185.517}},
   1765657075: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 74.502}},
   1765657074: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 26.666}}}),
 (1765630408,
  {5415829812: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 47.677}},
   1765657076: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 58.375}},
   1975853544: {0: {'osmid': 562684233,
     'lanes': '2',
     'name': 'Avenue de Vimy',
     'highway': 'residential',
     'oneway': False,
     'length': 74.429,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5c18>}}}),
 (1975853544,
  {1975853546: {0: {'osmid': 27628501,
     'lanes': '2',
     'name': 'Avenue Kelvin',
     'highway': 'residential',
     'oneway': False,
     'length': 65.742,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5fd0>}},
   1975853560: {0: {'osmid': 562684232,
     'lanes': '2',
     'name': 'Avenue Kelvin',
     'highway': 'residential',
     'oneway': False,
     'length': 53.492000000000004,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106048>}},
   1765630408: {0: {'osmid': 562684233,
     'lanes': '2',
     'name': 'Avenue de Vimy',
     'highway': 'residential',
     'oneway': False,
     'length': 74.429,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106080>}}}),
 (1975853546,
  {1975853548: {0: {'osmid': 27628459,
     'lanes': '2',
     'name': 'Avenue Robert',
     'highway': 'residential',
     'oneway': False,
     'length': 25.566}},
   1975853544: {0: {'osmid': 27628501,
     'lanes': '2',
     'name': 'Avenue Kelvin',
     'highway': 'residential',
     'oneway': False,
     'length': 65.74199999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106160>}},
   1765657076: {0: {'osmid': 455297990,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Robert',
     'highway': 'residential',
     'length': 94.612,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141060f0>}}}),
 (1975853548,
  {1975853546: {0: {'osmid': 27628459,
     'lanes': '2',
     'name': 'Avenue Robert',
     'highway': 'residential',
     'oneway': False,
     'length': 25.566}},
   303431774: {0: {'osmid': 27628459,
     'lanes': '2',
     'name': 'Avenue Robert',
     'highway': 'residential',
     'oneway': False,
     'length': 56.689}},
   1975853561: {0: {'osmid': 133437707,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Peronne',
     'highway': 'residential',
     'length': 109.69400000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141061d0>}}}),
 (1975853560,
  {1975853561: {0: {'osmid': 27628467,
     'lanes': '2',
     'name': 'Avenue de Vimy',
     'highway': 'residential',
     'oneway': False,
     'length': 44.292,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141064e0>}},
   1975853544: {0: {'osmid': 562684232,
     'lanes': '2',
     'name': 'Avenue Kelvin',
     'highway': 'residential',
     'oneway': False,
     'length': 53.492000000000004,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106550>}}}),
 (1975853561,
  {1975853560: {0: {'osmid': 27628467,
     'lanes': '2',
     'name': 'Avenue de Vimy',
     'highway': 'residential',
     'oneway': False,
     'length': 44.292,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106588>}}}),
 (213533465,
  {213533472: {0: {'osmid': 20191934,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 59.284,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115748>}}}),
 (213533472,
  {213533475: {0: {'osmid': 20191934,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 30.49}},
   29796838: {0: {'osmid': 20191935,
     'lanes': '2',
     'name': 'Rue du Piedmont',
     'highway': 'residential',
     'oneway': False,
     'length': 18.727}}}),
 (213533475,
  {29796840: {0: {'osmid': 20187996,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 114.93799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115828>}}}),
 (392111042,
  {392111056: {0: {'osmid': 331247587,
     'name': 'Avenue du Boisé',
     'highway': 'residential',
     'oneway': False,
     'length': 11.411},
    1: {'osmid': 34182745,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue du Boisé',
     'highway': 'residential',
     'length': 129.194,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a51d0>}}}),
 (392111056,
  {392111042: {0: {'osmid': 331247587,
     'name': 'Avenue du Boisé',
     'highway': 'residential',
     'oneway': False,
     'length': 11.411}},
   32585160: {0: {'osmid': 34182745,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue du Boisé',
     'highway': 'residential',
     'length': 59.054,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5278>}}}),
 (213476584,
  {31461030: {0: {'osmid': 165217776,
     'lanes': '2',
     'name': 'Avenue Forest Hill',
     'highway': 'residential',
     'oneway': False,
     'length': 16.112}},
   213476586: {0: {'osmid': 165217776,
     'lanes': '2',
     'name': 'Avenue Forest Hill',
     'highway': 'residential',
     'oneway': False,
     'length': 148.527,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5128>}}}),
 (213476586,
  {213476584: {0: {'osmid': 165217776,
     'lanes': '2',
     'name': 'Avenue Forest Hill',
     'highway': 'residential',
     'oneway': False,
     'length': 148.527,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5160>}},
   213476586: {0: {'osmid': 411198619,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Forest Hill',
     'highway': 'residential',
     'length': 99.143,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5208>}}}),
 (213476614,
  {29796842: {0: {'osmid': 165217778,
     'lanes': '2',
     'name': 'Avenue Ridgewood',
     'highway': 'residential',
     'oneway': False,
     'length': 17.103}},
   213476629: {0: {'osmid': [393798974, 455707566],
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 373.737,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b54a8>}}}),
 (29517075,
  {29796836: {0: {'osmid': [463642657, 450921037, 450921038],
     'oneway': True,
     'lanes': ['3', '4'],
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 90.69,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5588>}},
   213538706: {0: {'osmid': [462445300, 463640956],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 143.522,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b55c0>}},
   213538754: {0: {'osmid': 553532892,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Swail',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 95.545,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b55f8>}}}),
 (213476629,
  {213476640: {0: {'osmid': 466895707,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 54.855}},
   213476631: {0: {'osmid': 20187992,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 99.504,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5630>}}}),
 (213476631,
  {2512252524: {0: {'osmid': 463673422,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 92.029}},
   213476640: {0: {'osmid': 20187993,
     'oneway': True,
     'lanes': '3',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 64.528,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5668>}}}),
 (213476640,
  {29796840: {0: {'osmid': 450934831,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 19.401}},
   213476657: {0: {'osmid': 466895705,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 132.198,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b56d8>}}}),
 (213476657,
  {2512252525: {0: {'osmid': 450924976,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 53.647}},
   213476660: {0: {'osmid': 466895705,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 36.66}}}),
 (213476660,
  {213476667: {0: {'osmid': 466895705,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 38.171,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5940>}}}),
 (213476667,
  {213486211: {0: {'osmid': 451072963,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'residential',
     'length': 36.284000000000006,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b59e8>}},
   213476672: {0: {'osmid': 466895705,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 38.606,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5a20>}}}),
 (213476672,
  {213476674: {0: {'osmid': 463643633,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 15.471}},
   2512252526: {0: {'osmid': 450921043,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 66.899,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5a90>}}}),
 (213476674,
  {29796836: {0: {'osmid': 450934832,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 24.057}},
   29517075: {0: {'osmid': [450934833, 463642658],
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 93.291,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5b38>}}}),
 (1704789512,
  {29784055: {0: {'osmid': [449819611, 463639303],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 82.09100000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2940>}},
   213538706: {0: {'osmid': [463621817, 4872828, 463640958],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 150.99499999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c29e8>}},
   213538741: {0: {'osmid': 518221036,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Lacombe',
     'highway': 'residential',
     'length': 98.117,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2a20>}}}),
 (303433230,
  {300103857: {0: {'osmid': 27628506,
     'lanes': '2',
     'name': 'Avenue Perham',
     'highway': 'residential',
     'oneway': False,
     'length': 66.605}}}),
 (31278731,
  {2485523856: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 84.76}},
   30453271: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 87.199}},
   2626203843: {0: {'osmid': 37452880,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 342.5,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3b70>}}}),
 (31278764,
  {30453403: {0: {'osmid': 186496248,
     'oneway': True,
     'name': 'Avenue Barclay',
     'highway': 'residential',
     'length': 409.66799999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061128>}}}),
 (31278769,
  {30453396: {0: {'osmid': 52948925,
     'lanes': '2',
     'name': 'Avenue de Kent',
     'highway': 'residential',
     'oneway': False,
     'length': 301.996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061278>}},
   31278764: {0: {'osmid': 68920348,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Wilderton',
     'highway': 'tertiary',
     'length': 225.37300000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140612b0>}}}),
 (31393536,
  {213538747: {0: {'osmid': 449819603,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'maxspeed': '40',
     'oneway': False,
     'length': 167.292}},
   213572955: {0: {'osmid': 455707564,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 264.283}},
   213538745: {0: {'osmid': 455735491,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 80.082}},
   1765630398: {0: {'osmid': [4872825, 463684962, 464694084, 500990449],
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 298.317,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140616d8>}}}),
 (437708595,
  {31278769: {0: {'osmid': 68920348,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Wilderton',
     'highway': 'tertiary',
     'length': 124.964,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061908>}},
   828077363: {0: {'osmid': 463432782,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 83.15899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061940>}},
   2011708394: {0: {'osmid': 463432783,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 91.28899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061978>}}}),
 (213649392,
  {213649401: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 114.163,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071b38>}},
   3964969147: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 105.638,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071b70>}}}),
 (213649401,
  {213649392: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 114.163,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071da0>}}}),
 (29452649,
  {213573476: {0: {'osmid': 518283126,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 97.205}},
   5416283756: {0: {'osmid': 408720106,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 165.793,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5390>}},
   213573472: {0: {'osmid': 449819609,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 70.174,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5518>}}}),
 (29452651,
  {2626203843: {0: {'osmid': 73850324,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 99.563}},
   4520745137: {0: {'osmid': 455716121,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 9.639}},
   209377823: {0: {'osmid': 455713042,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 81.884,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5550>}}}),
 (29452652,
  {2485523857: {0: {'osmid': 158209463,
     'lanes': '2',
     'name': 'Rue Souart',
     'highway': 'residential',
     'oneway': False,
     'length': 9.702}},
   2485523856: {0: {'osmid': 455713042,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 89.865}}}),
 (29796836,
  {29783878: {0: {'osmid': 463643632,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 14.288}}}),
 (29796838,
  {213533472: {0: {'osmid': 20191935,
     'lanes': '2',
     'name': 'Rue du Piedmont',
     'highway': 'residential',
     'oneway': False,
     'length': 18.727}},
   213476660: {0: {'osmid': 500991146,
     'oneway': True,
     'lanes': '2',
     'name': 'Rue du Piedmont',
     'highway': 'residential',
     'length': 27.069}},
   213533475: {0: {'osmid': 20187996,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 37.794,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5ef0>}}}),
 (29796840,
  {29796842: {0: {'osmid': [466895706, 463670133, 455707567],
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 425.92999999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106128>}}}),
 (29796842,
  {213476614: {0: {'osmid': 165217778,
     'lanes': '2',
     'name': 'Avenue Ridgewood',
     'highway': 'residential',
     'oneway': False,
     'length': 17.103}},
   213476584: {0: {'osmid': [433808921, 393872214],
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 237.24900000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106208>}}}),
 (1765657071,
  {5416283760: {0: {'osmid': 464694086,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 74.683}},
   1765630398: {0: {'osmid': 464694085,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 166.28499999999997,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141062b0>}}}),
 (1765657072,
  {1765630404: {0: {'osmid': 464734936,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 92.268,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141062e8>}},
   1765630403: {0: {'osmid': 464734936,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 81.37700000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106320>}}}),
 (1765657073,
  {3165394666: {0: {'osmid': 61584291,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Stirling',
     'highway': 'residential',
     'length': 196.05200000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106358>}},
   1765630406: {0: {'osmid': 464939363,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.082,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106390>}},
   1765657074: {0: {'osmid': 464940902,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 123.207,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141063c8>}}}),
 (1765657074,
  {1765630407: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 26.666}},
   1765657073: {0: {'osmid': 464940902,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 123.20700000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106400>}}}),
 (1765657075,
  {1765657076: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 18.462}},
   1765630407: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 74.502}}}),
 (1765657076,
  {1765630408: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 58.375}},
   1765657075: {0: {'osmid': 34144734,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 18.462}}}),
 (213486192,
  {289446101: {0: {'osmid': 20188673,
     'oneway': True,
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 59.363,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106eb8>}},
   2512252524: {0: {'osmid': 463673422,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 48.998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106ef0>}},
   213538758: {0: {'osmid': 463673423,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.06700000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106f28>}}}),
 (213486197,
  {213476674: {0: {'osmid': 450921046,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 71.64,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106fd0>}},
   213538754: {0: {'osmid': 450924975,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 86.993,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115048>}}}),
 (213486211,
  {29796838: {0: {'osmid': 20187996,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 84.95,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115128>}},
   213533465: {0: {'osmid': 20191934,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 56.989999999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b141150b8>}}}),
 (213666597,
  {1765630408: {0: {'osmid': 19936421,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Glencoe',
     'highway': 'residential',
     'length': 196.48999999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115860>}},
   209387112: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 77.52799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115898>}}}),
 (5194500927,
  {213572937: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 5.327}}}),
 (30453271,
  {31278731: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 87.199}}}),
 (30453320,
  {2485523858: {0: {'osmid': 4767566,
     'lanes': '2',
     'name': 'Rue Dolbeau',
     'highway': 'residential',
     'oneway': False,
     'length': 180.227}},
   1704419702: {0: {'osmid': 4640305,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 84.477,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3278>}},
   209377826: {0: {'osmid': [19936200, 4640305],
     'lanes': '2',
     'name': ['Avenue Ellendale', 'Avenue Mcshane'],
     'highway': 'residential',
     'oneway': False,
     'length': 185.55,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d32b0>}}}),
 (30453322,
  {2485523858: {0: {'osmid': 4767566,
     'lanes': '2',
     'name': 'Rue Dolbeau',
     'highway': 'residential',
     'oneway': False,
     'length': 9.637}},
   29452652: {0: {'osmid': 455713042,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 85.788}}}),
 (5416283756,
  {29452649: {0: {'osmid': 408720106,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 165.793,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3860>}},
   5416283762: {0: {'osmid': 455723745,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 9.952,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3898>}},
   5416283759: {0: {'osmid': 561752790,
     'oneway': True,
     'lanes': '2',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 27.04,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d38d0>}}}),
 (5416283759,
  {504315953: {0: {'osmid': [102232485, 518224462],
     'lanes': '4',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 275.54999999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3978>}},
   5416283762: {0: {'osmid': 561752792,
     'oneway': True,
     'lanes': '2',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 26.868,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d39b0>}}}),
 (5416283760,
  {1765657071: {0: {'osmid': 464694086,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 74.683}},
   5416283756: {0: {'osmid': 561752791,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 25.592,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d39e8>}}}),
 (5416283762,
  {213573342: {0: {'osmid': 561752789,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 101.166}},
   5416283756: {0: {'osmid': 455723745,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 9.952,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3a58>}},
   5416283760: {0: {'osmid': 561752793,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 25.512,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3a90>}}}),
 (2512252526,
  {213486197: {0: {'osmid': 463673826,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 14.519}},
   289446100: {0: {'osmid': 450921045,
     'oneway': True,
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 74.137,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3940>}}}),
 (2512252525,
  {2512252526: {0: {'osmid': 450924976,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 36.6,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3908>}}}),
 (30453387,
  {30453543: {0: {'osmid': 464729226,
     'oneway': True,
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 94.36,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3c88>}}}),
 (30453396,
  {31278769: {0: {'osmid': 52948925,
     'lanes': '2',
     'name': 'Avenue de Kent',
     'highway': 'residential',
     'oneway': False,
     'length': 301.996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3d68>}},
   30453400: {0: {'osmid': [313916024, 190527485],
     'oneway': True,
     'lanes': ['1', '3'],
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 150.45600000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3da0>}}}),
 (30453400,
  {828077363: {0: {'osmid': 463432782,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 170.072}},
   209377850: {0: {'osmid': 311016135,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 94.971,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3ef0>}},
   2485523864: {0: {'osmid': 474804269,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 121.78,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3f28>}}}),
 (30453403,
  {4514575268: {0: {'osmid': 190527485,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 87.421,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3f98>}}}),
 (31461030,
  {213476584: {0: {'osmid': 165217776,
     'lanes': '2',
     'name': 'Avenue Forest Hill',
     'highway': 'residential',
     'oneway': False,
     'length': 16.112}},
   213476614: {0: {'osmid': [393798979, 433241183],
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 246.628,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061198>}}}),
 (31461029,
  {31461030: {0: {'osmid': 433808920,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 65.21600000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061048>}}}),
 (30453543,
  {30453403: {0: {'osmid': 464729226,
     'oneway': True,
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 102.946}}}),
 (30453569,
  {3964969125: {0: {'osmid': 4685592,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 233.747,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061ac8>}},
   209377834: {0: {'osmid': 4685592,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 64.074,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061b00>}}}),
 (30453649,
  {1733718891: {0: {'osmid': 464724766,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 165.65800000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140716a0>}}}),
 (4158246906,
  {1765630407: {0: {'osmid': 26418242,
     'lanes': '2',
     'name': 'Avenue Déom',
     'highway': 'residential',
     'oneway': False,
     'length': 185.517}}}),
 (32583859,
  {213538679: {0: {'osmid': 223184233,
     'lanes': '2',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'oneway': False,
     'length': 82.868}}}),
 (2626203843,
  {29452651: {0: {'osmid': 73850324,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 99.563}},
   1733718891: {0: {'osmid': 464724766,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 80.914}},
   31278731: {0: {'osmid': 37452880,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 342.5,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86dd8>}},
   2485523863: {0: {'osmid': 474804268,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 202.813,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86e10>}}}),
 (2480804071,
  {2485523862: {0: {'osmid': 240865245,
     'lanes': '2',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'oneway': False,
     'length': 9.307}},
   2485523864: {0: {'osmid': 240334218,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'length': 66.143,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f51d0>}}}),
 (1846276665,
  {4520704482: {0: {'osmid': 464693786,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 10.628}},
   213573476: {0: {'osmid': 464693787,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 157.817}},
   213573490: {0: {'osmid': [500990442, 464692767],
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 96.399,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106b70>}}}),
 (1733718891,
  {2626203843: {0: {'osmid': 464724766,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 80.914}},
   30453271: {0: {'osmid': 19936558,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Kent',
     'highway': 'residential',
     'length': 339.362,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115ac8>}},
   30453649: {0: {'osmid': 464724766,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 165.65800000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115b00>}}}),
 (31699864,
  {504315953: {0: {'osmid': 102232485,
     'lanes': '4',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 267.65700000000004,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14115f60>}}}),
 (4514575268,
  {1734466805: {0: {'osmid': 190527485,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 37.439}}}),
 (31700050,
  {1573705335: {0: {'osmid': 4886242,
     'lanes': '4',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 305.49699999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5b38>}},
   209387091: {0: {'osmid': [4886242, 464720531],
     'lanes': ['2', '4'],
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 265.052,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5b70>}},
   3165394666: {0: {'osmid': [72878562, 451620574],
     'lanes': '2',
     'name': 'Avenue Stirling',
     'highway': 'residential',
     'oneway': False,
     'length': 90.15799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5ba8>}}}),
 (31700055,
  {31700077: {0: {'osmid': 4886244,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'residential',
     'oneway': False,
     'length': 44.016999999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5be0>}},
   300103857: {0: {'osmid': 167252472,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 74.454,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5c18>}},
   1573705335: {0: {'osmid': 385188798,
     'oneway': True,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'length': 100.60400000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5cc0>}}}),
 (31700076,
  {31700077: {0: {'osmid': 4886244,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'residential',
     'oneway': False,
     'length': 166.029,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5d68>}}}),
 (31700077,
  {31700055: {0: {'osmid': 4886244,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'residential',
     'oneway': False,
     'length': 44.016999999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5da0>}},
   31700076: {0: {'osmid': 4886244,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'residential',
     'oneway': False,
     'length': 166.029,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5dd8>}},
   3964969147: {0: {'osmid': 474163778,
     'lanes': '2',
     'name': 'Boulevard du Mont-Royal',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 244.041,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5e10>}}}),
 (31700078,
  {5415829806: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 3.946}},
   5415829801: {0: {'osmid': 561695919,
     'oneway': True,
     'lanes': '1',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'length': 27.611,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5e48>}}}),
 (828077359,
  {437708595: {0: {'osmid': 68920348,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Wilderton',
     'highway': 'tertiary',
     'length': 124.382}},
   828077363: {0: {'osmid': 68980955,
     'lanes': '2',
     'name': 'Crescent Wilderton',
     'highway': 'residential',
     'oneway': False,
     'length': 175.265,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b57f0>}}}),
 (828077363,
  {30453400: {0: {'osmid': 463432782,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 170.072}},
   828077359: {0: {'osmid': 68980955,
     'lanes': '2',
     'name': 'Crescent Wilderton',
     'highway': 'residential',
     'oneway': False,
     'length': 175.265,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5978>}},
   437708595: {0: {'osmid': 463432782,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 83.15899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b59b0>}}}),
 (2485523843,
  {2485523847: {0: {'osmid': 449819595,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 47.854}},
   29237097: {0: {'osmid': 449819606,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 9.832}},
   213573472: {0: {'osmid': 455070870,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.856}}}),
 (2485523847,
  {2485523848: {0: {'osmid': 240865244,
     'lanes': '2',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'oneway': False,
     'length': 11.66}},
   2485523855: {0: {'osmid': 455713043,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 213.583,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2080>}}}),
 (2485523848,
  {29237097: {0: {'osmid': 240865243,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 46.693}},
   2485523847: {0: {'osmid': 240865244,
     'lanes': '2',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'oneway': False,
     'length': 11.66}}}),
 (2485523855,
  {2485523857: {0: {'osmid': 449819593,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 90.013}},
   2485523856: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 9.133}},
   213573483: {0: {'osmid': 500990446,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 100.652,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2198>}}}),
 (2485523856,
  {2485523855: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 9.133}},
   31278731: {0: {'osmid': 455713041,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'oneway': False,
     'length': 84.76}},
   2485523848: {0: {'osmid': 240865243,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 214.731,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c21d0>}}}),
 (2485523857,
  {1704419702: {0: {'osmid': 158209463,
     'lanes': '2',
     'name': 'Rue Souart',
     'highway': 'residential',
     'oneway': False,
     'length': 179.979}},
   29452652: {0: {'osmid': 158209463,
     'lanes': '2',
     'name': 'Rue Souart',
     'highway': 'residential',
     'oneway': False,
     'length': 9.702}},
   2485523858: {0: {'osmid': 449819593,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 85.629}}}),
 (2485523858,
  {30453322: {0: {'osmid': 4767566,
     'lanes': '2',
     'name': 'Rue Dolbeau',
     'highway': 'residential',
     'oneway': False,
     'length': 9.637}},
   30453320: {0: {'osmid': 4767566,
     'lanes': '2',
     'name': 'Rue Dolbeau',
     'highway': 'residential',
     'oneway': False,
     'length': 180.227}},
   2485523859: {0: {'osmid': 449819593,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 86.177}}}),
 (2485523859,
  {209377823: {0: {'osmid': 19936200,
     'lanes': '2',
     'name': 'Avenue Mcshane',
     'highway': 'residential',
     'oneway': False,
     'length': 8.523}},
   209377826: {0: {'osmid': 19936200,
     'lanes': '2',
     'name': 'Avenue Mcshane',
     'highway': 'residential',
     'oneway': False,
     'length': 81.295}},
   4520745137: {0: {'osmid': 449819593,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 85.5,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2208>}}}),
 (2485523862,
  {2480804071: {0: {'osmid': 240865245,
     'lanes': '2',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'oneway': False,
     'length': 9.307}},
   29452651: {0: {'osmid': 240334219,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'length': 166.34,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2240>}}}),
 (2485523863,
  {2485523864: {0: {'osmid': 474804270,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 18.43}},
   2485523862: {0: {'osmid': 240334219,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'length': 51.108999999999995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2278>}},
   2626203843: {0: {'osmid': 474804268,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 202.813,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c22b0>}}}),
 (2485523864,
  {2485523863: {0: {'osmid': 474804270,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 18.43}},
   30453400: {0: {'osmid': 474804269,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 121.78,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c22e8>}}}),
 (32585160,
  {437712607: {0: {'osmid': 331247580,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 101.573}},
   209386967: {0: {'osmid': 19936413,
     'lanes': '2',
     'name': 'Place Northcrest',
     'highway': 'residential',
     'oneway': False,
     'length': 160.964,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c24e0>}},
   392111042: {0: {'osmid': 34182745,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue du Boisé',
     'highway': 'residential',
     'length': 61.388,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2518>}},
   2011708394: {0: {'osmid': [331247580, 463432783],
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 112.857,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2550>}}}),
 (1573705335,
  {31700050: {0: {'osmid': 4886242,
     'lanes': '4',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 305.497,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3b38>}},
   31700055: {0: {'osmid': 385188796,
     'oneway': True,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'length': 101.582,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3be0>}}}),
 (437712607,
  {32585160: {0: {'osmid': 331247580,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 101.573}}}),
 (3165394666,
  {209387136: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 92.534}},
   31700050: {0: {'osmid': [72878562, 451620574],
     'lanes': '2',
     'name': 'Avenue Stirling',
     'highway': 'residential',
     'oneway': False,
     'length': 90.15799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140616a0>}}}),
 (289445691,
  {213538758: {0: {'osmid': 20192255,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Swail',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 63.582,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140619e8>}}}),
 (29783878,
  {213476672: {0: {'osmid': 450924676,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 26.934}},
   213486211: {0: {'osmid': 20187996,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 30.769,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061cc0>}}}),
 (4171683688,
  {5415829801: {0: {'osmid': [464940898, 464953354, 561695910],
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 159.96099999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140710f0>}},
   5415829812: {0: {'osmid': 561695923,
     'oneway': True,
     'lanes': '1',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'length': 55.547,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071128>}}}),
 (213538679,
  {32583859: {0: {'osmid': 223184233,
     'lanes': '2',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'oneway': False,
     'length': 82.868}},
   1704789512: {0: {'osmid': 167252480,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Lacombe',
     'highway': 'residential',
     'length': 295.118,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140712b0>}}}),
 (213538698,
  {213538701: {0: {'osmid': 20192257,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'length': 60.888999999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071550>}}}),
 (213538701,
  {213572979: {0: {'osmid': 20192254,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 75.992}},
   213538706: {0: {'osmid': 20192257,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'length': 96.055,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071630>}}}),
 (2512252524,
  {2512252525: {0: {'osmid': 26418107,
     'oneway': True,
     'name': 'Avenue Troie',
     'highway': 'residential',
     'length': 130.256}},
   213476631: {0: {'osmid': 463673422,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 92.029}},
   213486192: {0: {'osmid': 463673422,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 48.998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3a20>}}}),
 (213538706,
  {29517075: {0: {'osmid': [463640956, 462445300],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 143.522,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071748>}},
   1704789512: {0: {'osmid': [463621817, 4872828, 463640958],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 150.995,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140717f0>}}}),
 (213538741,
  {213538747: {0: {'osmid': 20192254,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 80.644,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140718d0>}},
   213538745: {0: {'osmid': 463639298,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Lacombe',
     'highway': 'residential',
     'length': 159.519,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071908>}}}),
 (213538745,
  {31393536: {0: {'osmid': 455735491,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 80.082}},
   213572959: {0: {'osmid': 463639298,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Lacombe',
     'highway': 'residential',
     'length': 269.454}},
   213572970: {0: {'osmid': 553532894,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 69.028}}}),
 (213538747,
  {31393536: {0: {'osmid': 449819603,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'maxspeed': '40',
     'oneway': False,
     'length': 167.292}},
   1765657071: {0: {'osmid': 20192254,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 298.021,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071978>}},
   29784055: {0: {'osmid': 173961707,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'maxspeed': '40',
     'oneway': False,
     'length': 99.107,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140719b0>}}}),
 (213538754,
  {213538701: {0: {'osmid': 20192254,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 147.945,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140719e8>}},
   289445691: {0: {'osmid': 20192255,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Swail',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 73.105,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071a20>}}}),
 (213538758,
  {3964969097: {0: {'osmid': 455735492,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 132.661,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071a58>}},
   213486192: {0: {'osmid': 463673423,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.067,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071a90>}}}),
 (213538770,
  {213538698: {0: {'osmid': 20192257,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'length': 85.647}},
   3964969097: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 23.494}},
   305552757: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 64.794}}}),
 (29784055,
  {32583859: {0: {'osmid': 449819605,
     'oneway': True,
     'lanes': '1',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 296.699}},
   213538747: {0: {'osmid': 173961707,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'maxspeed': '40',
     'oneway': False,
     'length': 99.107,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071c18>}},
   213573340: {0: {'osmid': 449819613,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 97.238,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071c50>}},
   1704789512: {0: {'osmid': [449819611, 463639303],
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 82.091,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071c88>}}}),
 (4520745137,
  {29452651: {0: {'osmid': 455716121,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 9.639}},
   2480804071: {0: {'osmid': 240334218,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'length': 164.45600000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86c88>}},
   209377834: {0: {'osmid': 455716122,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 85.10900000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86cc0>}}}),
 (300103857,
  {303433230: {0: {'osmid': 27628506,
     'lanes': '2',
     'name': 'Avenue Perham',
     'highway': 'residential',
     'oneway': False,
     'length': 66.605}},
   5415829803: {0: {'osmid': 464953352,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 21.709}},
   31700055: {0: {'osmid': 167252472,
     'lanes': '2',
     'name': "Avenue Vincent-D'Indy",
     'highway': 'tertiary',
     'oneway': False,
     'length': 74.45400000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86cf8>}}}),
 (289446100,
  {289446101: {0: {'osmid': 26418026,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Bégin',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 14.102}},
   213486192: {0: {'osmid': 450927956,
     'oneway': True,
     'lanes': '3',
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 61.635999999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86e48>}}}),
 (289446101,
  {213486197: {0: {'osmid': 20188673,
     'oneway': True,
     'name': 'Chemin Queen Mary',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 73.909,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86e80>}},
   289445691: {0: {'osmid': 26418026,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Bégin',
     'highway': 'residential',
     'maxspeed': '30',
     'length': 83.46000000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14a86eb8>}}}),
 (4520704482,
  {1846276665: {0: {'osmid': 464693786,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 10.628}},
   1704419702: {0: {'osmid': 4640305,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 87.15899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5e10>}},
   4520704488: {0: {'osmid': 500990448,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 81.54899999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5e48>}}}),
 (4520704485,
  {213573490: {0: {'osmid': 455713033,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 10.762}},
   4520704482: {0: {'osmid': [464693784, 500990444],
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 96.92699999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140f5eb8>}}}),
 (4520704488,
  {213573483: {0: {'osmid': 455713037,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 9.948}},
   2485523855: {0: {'osmid': 500990447,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 100.186,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106278>}}}),
 (305551848,
  {213572955: {0: {'osmid': 20194965,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 38.283}}}),
 (209377823,
  {2485523859: {0: {'osmid': 19936200,
     'lanes': '2',
     'name': 'Avenue Mcshane',
     'highway': 'residential',
     'oneway': False,
     'length': 8.523}},
   30453322: {0: {'osmid': 455713042,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Linton',
     'highway': 'residential',
     'maxspeed': '40',
     'length': 86.065}}}),
 (209377826,
  {2485523859: {0: {'osmid': 19936200,
     'lanes': '2',
     'name': 'Avenue Mcshane',
     'highway': 'residential',
     'oneway': False,
     'length': 81.295}},
   30453320: {0: {'osmid': [19936200, 4640305],
     'lanes': '2',
     'name': ['Avenue Ellendale', 'Avenue Mcshane'],
     'highway': 'residential',
     'oneway': False,
     'length': 185.55,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106860>}},
   209377834: {0: {'osmid': 455716124,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Brighton',
     'highway': 'residential',
     'length': 135.354,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106898>}}}),
 (209377834,
  {30453569: {0: {'osmid': 4685592,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 64.074,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106908>}},
   4520745137: {0: {'osmid': 455716122,
     'lanes': '2',
     'name': 'Chemin Hudson',
     'highway': 'residential',
     'oneway': False,
     'length': 85.10900000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106940>}}}),
 (209377850,
  {209377834: {0: {'osmid': 19936201,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Brighton',
     'highway': 'residential',
     'length': 282.563,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106ba8>}},
   209377861: {0: {'osmid': 311016135,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 104.221,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106be0>}}}),
 (209377861,
  {209377880: {0: {'osmid': 464696292,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Soissons',
     'highway': 'residential',
     'length': 117.538}},
   3750100565: {0: {'osmid': 464696293,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 232.269,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14106c50>}}}),
 (209377880,
  {30453569: {0: {'osmid': 464696292,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Soissons',
     'highway': 'residential',
     'length': 100.364}}}),
 (2011708394,
  {2011708399: {0: {'osmid': 190527539,
     'lanes': '2',
     'name': 'Chemin Hillsdale',
     'highway': 'residential',
     'oneway': False,
     'length': 70.973}},
   32585160: {0: {'osmid': [331247580, 463432783],
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 112.857,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5358>}},
   437708595: {0: {'osmid': 463432783,
     'lanes': '2',
     'name': 'Avenue Van Horne',
     'highway': 'secondary',
     'oneway': False,
     'length': 91.289,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a5390>}}}),
 (2011708399,
  {2011708394: {0: {'osmid': 190527539,
     'lanes': '2',
     'name': 'Chemin Hillsdale',
     'highway': 'residential',
     'oneway': False,
     'length': 70.973}},
   2011708399: {0: {'osmid': 414706080,
     'oneway': True,
     'lanes': '2',
     'name': 'Chemin Hillsdale',
     'highway': 'residential',
     'length': 109.49799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140a53c8>}}}),
 (1734466805,
  {4514575268: {0: {'osmid': 52948944,
     'oneway': True,
     'name': 'Place Darlington',
     'highway': 'residential',
     'length': 622.0430000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5240>}},
   30453396: {0: {'osmid': 190527485,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de Darlington',
     'highway': 'tertiary',
     'length': 81.993,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b51d0>}}}),
 (213572937,
  {5194500927: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 5.327}},
   213572939: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 117.364,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5b70>}}}),
 (213572939,
  {213572965: {0: {'osmid': 20194966,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Fendall',
     'highway': 'residential',
     'length': 166.567}},
   213572953: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 190.17999999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5ba8>}},
   213572937: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 117.364,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5be0>}}}),
 (29482318,
  {213572955: {0: {'osmid': 464720532,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 264.779}},
   5194500927: {0: {'osmid': 58473164,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'length': 85.20999999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5c88>}},
   209387091: {0: {'osmid': [167252474, 464720533],
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 262.884,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5cc0>}}}),
 (29482321,
  {209387100: {0: {'osmid': 20194962,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 40.216}}}),
 (213572953,
  {3964969097: {0: {'osmid': 20192248,
     'lanes': '2',
     'name': 'Rue Jean-Brillant',
     'highway': 'residential',
     'oneway': False,
     'length': 287.132,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5e10>}},
   213572939: {0: {'osmid': 26414132,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 190.18,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5e48>}},
   213572965: {0: {'osmid': 167252470,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 81.908,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5dd8>}}}),
 (213572955,
  {305551848: {0: {'osmid': 20194965,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 38.283}},
   213572959: {0: {'osmid': 167252473,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 81.821}},
   31393536: {0: {'osmid': 455707564,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 264.283}},
   29482318: {0: {'osmid': 464720532,
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 264.779}}}),
 (213572959,
  {213572965: {0: {'osmid': 167252470,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 86.9}},
   213572937: {0: {'osmid': 167252471,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Lacombe',
     'highway': 'residential',
     'length': 242.61}},
   213572955: {0: {'osmid': 167252473,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 81.821}}}),
 (213572965,
  {305552757: {0: {'osmid': 20194966,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Fendall',
     'highway': 'residential',
     'length': 277.47}},
   213572959: {0: {'osmid': 167252470,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 86.9}},
   213572953: {0: {'osmid': 167252470,
     'lanes': '2',
     'name': 'Rue McKenna',
     'highway': 'residential',
     'oneway': False,
     'length': 81.908,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5eb8>}}}),
 (213572970,
  {305552757: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 13.647}},
   213538745: {0: {'osmid': 553532894,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 69.028}}}),
 (213572979,
  {213538741: {0: {'osmid': 20192254,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Gatineau',
     'highway': 'residential',
     'length': 73.333,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5ef0>}},
   213572970: {0: {'osmid': 27829417,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Maréchal',
     'highway': 'residential',
     'length': 153.636,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140b5f28>}}}),
 (305552757,
  {213538770: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 64.794}},
   213572970: {0: {'osmid': 455735490,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'oneway': False,
     'length': 13.647}}}),
 (209386967,
  {32585160: {0: {'osmid': 19936413,
     'lanes': '2',
     'name': 'Place Northcrest',
     'highway': 'residential',
     'oneway': False,
     'length': 160.964,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c25f8>}},
   209386967: {0: {'osmid': 432510979,
     'oneway': True,
     'name': 'Place Northcrest',
     'highway': 'residential',
     'length': 77.27900000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140c2630>}}}),
 (209387091,
  {209387103: {0: {'osmid': 464720530,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Woodbury',
     'highway': 'residential',
     'length': 87.991,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d34a8>}},
   31700050: {0: {'osmid': [4886242, 464720531],
     'lanes': ['4', '2'],
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 265.052,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d34e0>}},
   29482318: {0: {'osmid': [167252474, 464720533],
     'lanes': '2',
     'name': 'Boulevard Édouard-Montpetit',
     'highway': 'tertiary',
     'oneway': False,
     'length': 262.88399999999996,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3518>}}}),
 (3750100565,
  {1765630403: {0: {'osmid': [455716106, 464720839],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 78.135,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3550>}},
   1765630401: {0: {'osmid': [455716113, 455716117],
     'lanes': '3',
     'name': 'Chemin de la Côte-Sainte-Catherine',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 95.62400000000001,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3588>}}}),
 (209387100,
  {29482321: {0: {'osmid': 20194962,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'oneway': False,
     'length': 40.216}},
   29482318: {0: {'osmid': 450923444,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Louis-Collin',
     'highway': 'residential',
     'length': 87.431,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d36a0>}}}),
 (209387103,
  {209387147: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 81.658}},
   1765657072: {0: {'osmid': 19936423,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Woodbury',
     'highway': 'residential',
     'length': 199.11,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3780>}}}),
 (209387112,
  {209387127: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 105.797}},
   1765657075: {0: {'osmid': 19936427,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Hazelwood',
     'highway': 'residential',
     'length': 196.728,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3828>}}}),
 (209387127,
  {3165394666: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 120.744}},
   1765657074: {0: {'osmid': 19936428,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue de la Brunante',
     'highway': 'residential',
     'length': 197.048}}}),
 (209387136,
  {209387140: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 84.547}},
   1765630406: {0: {'osmid': 19936429,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Wilderton',
     'highway': 'residential',
     'length': 198.841,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3c18>}}}),
 (209387140,
  {209387103: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 90.268}},
   1765630404: {0: {'osmid': 19936430,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Plantagenet',
     'highway': 'residential',
     'length': 197.848,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3ba8>}}}),
 (209387147,
  {209387156: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 79.44}},
   1765630403: {0: {'osmid': 19936431,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Canterbury',
     'highway': 'residential',
     'length': 200.26799999999997,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3d30>}}}),
 (209387156,
  {209387100: {0: {'osmid': 19936424,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Willowdale',
     'highway': 'residential',
     'length': 102.502,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3dd8>}},
   3750100565: {0: {'osmid': 19936432,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Darlington',
     'highway': 'residential',
     'length': 204.96300000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140d3e10>}}}),
 (213573336,
  {32583859: {0: {'osmid': 443075135,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'length': 92.493,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140614a8>}},
   213573340: {0: {'osmid': 463878770,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Saint-Kevin',
     'highway': 'residential',
     'length': 296.509,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140614e0>}}}),
 (213573340,
  {213573342: {0: {'osmid': 455723744,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 94.023}},
   29784055: {0: {'osmid': 449819613,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 97.238,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061518>}}}),
 (213573342,
  {213573340: {0: {'osmid': 455723744,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 94.023}},
   5416283762: {0: {'osmid': 561752789,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 101.166}},
   213573344: {0: {'osmid': 165217775,
     'oneway': True,
     'lanes': '1',
     'name': 'Avenue Dupuis',
     'highway': 'residential',
     'length': 296.507,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061588>}}}),
 (213573344,
  {213573336: {0: {'osmid': 443075135,
     'oneway': True,
     'lanes': '1',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'length': 96.193,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140615c0>}}}),
 (213573472,
  {2485523843: {0: {'osmid': 455070870,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 84.856}},
   29452649: {0: {'osmid': 449819609,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 70.174,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061f60>}}}),
 (213573476,
  {1846276665: {0: {'osmid': 464693787,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'oneway': False,
     'length': 157.817}},
   29452649: {0: {'osmid': 518283126,
     'lanes': '2',
     'name': 'Avenue Ellendale',
     'highway': 'residential',
     'maxspeed': '40',
     'oneway': False,
     'length': 97.205}},
   213573483: {0: {'osmid': 20195004,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 231.456,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14061fd0>}}}),
 (29237097,
  {2485523843: {0: {'osmid': 449819606,
     'lanes': '4',
     'name': 'Chemin de la Côte-des-Neiges',
     'highway': 'secondary',
     'maxspeed': '50',
     'oneway': False,
     'length': 9.832}}}),
 (213573483,
  {4520704488: {0: {'osmid': 455713037,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 9.948}},
   213573476: {0: {'osmid': 20195004,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 231.45600000000002,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b140711d0>}},
   1846276665: {0: {'osmid': 500990445,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'length': 82.16799999999999,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071208>}}}),
 (213573490,
  {4520704485: {0: {'osmid': 455713033,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'oneway': False,
     'length': 10.762}},
   213573476: {0: {'osmid': 456313039,
     'oneway': True,
     'lanes': '2',
     'name': 'Place Decelles',
     'highway': 'residential',
     'maxspeed': '50',
     'length': 255.17399999999998,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071240>}},
   1765630398: {0: {'osmid': 500990443,
     'oneway': True,
     'lanes': '2',
     'name': 'Avenue Decelles',
     'highway': 'tertiary',
     'maxspeed': '50',
     'length': 76.923,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071278>}}}),
 (213573512,
  {504315953: {0: {'osmid': 464708841,
     'oneway': False,
     'lanes': '1',
     'name': 'Rue Légaré',
     'highway': 'residential',
     'length': 159.104,
     'geometry': <shapely.geometry.linestring.LineString at 0x7f9b14071518>}}})]

Algorithmes vus en cours

D'autres algorithmes classiques sont décrits dans des ressources extérieures:


In [7]:
# algorithme plus grand
a = np.random.random_sample(10)
print('Entree:', a)
sortie = []

plusPetit = a[0]
i = 1
while i<len(a):
    if a[i] < plusPetit:
        plusPetit = a[i]
    i += 1
    
print('Plus petit:', plusPetit)


Entree: [0.17070135 0.5457349  0.78960363 0.31341527 0.66158619 0.53560073
 0.9748879  0.14339949 0.19327307 0.12661   ]
Plus petit: 0.1266099978297468

In [8]:
# tri
a = np.random.random_sample(10).tolist()
print('Entree:', a)

def plusPetit(a):
    plusPetit = a[0]
    i = 1
    while i<len(a):
        if a[i] < plusPetit:
            plusPetit = a[i]
        i += 1
    return plusPetit

sortie = []
while len(a)>0:
    pp = plusPetit(a)
    sortie.append(pp)
    a.remove(pp)
print('Liste triee:', sortie)


Entree: [0.6148515379016862, 0.5772645969670787, 0.20550799125393193, 0.9516714456826237, 0.5474088890256141, 0.22261087286973102, 0.4471977787187963, 0.1653575265762801, 0.07369977393954308, 0.24474559757857395]
Liste triee: [0.07369977393954308, 0.1653575265762801, 0.20550799125393193, 0.22261087286973102, 0.24474559757857395, 0.4471977787187963, 0.5474088890256141, 0.5772645969670787, 0.6148515379016862, 0.9516714456826237]

In [9]:
# algorithme factorielle
def Factorielle(N):
    M=1
    F=1
    while M != N:
        M=M+1
        F=F*M
        print(F, M)
    return F

N = int(input('Entrer un entier positif: '))
print('Resultat de factorielle de {0}: {1}'.format(N, Factorielle(N)))


Entrer un entier positif: 11
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
39916800 11
Resultat de factorielle de 11: 39916800

In [10]:
# calcul de distances
coordonnees = {'Montréal': [611982, 5039496], # meme zones UTM 18T
              'Trois-Rivières': [688507, 5135853],
              'Mont-Tremblant': [530908, 5107088],
              'Gatineau': [449203, 5036850]}
noms = ['Montréal', 'Trois-Rivières', 'Mont-Tremblant', 'Gatineau']
coordonnees = [[611982, 5039496],
               [688507, 5135853],
               [530908, 5107088],
               [449203, 5036850]]
nVilles = len(noms)
distances = np.zeros((nVilles,nVilles))
print(coordonnees)
for i in range(nVilles):
    for j in range(i):
        distances[i,j] = np.sqrt((coordonnees[i][0]-coordonnees[j][0])**2 + (coordonnees[i][1]-coordonnees[j][1])**2)/1000
        distances[j,i] = distances[i,j]
        
plt.imshow(distances, interpolation='none')
plt.colorbar()
plt.xticks(range(4), noms, rotation=45)
plt.yticks(range(4), noms)


[[611982, 5039496], [688507, 5135853], [530908, 5107088], [449203, 5036850]]
Out[10]:
([<matplotlib.axis.YTick at 0x7f9b14aae748>,
  <matplotlib.axis.YTick at 0x7f9b14aa0240>,
  <matplotlib.axis.YTick at 0x7f9b14b02c50>,
  <matplotlib.axis.YTick at 0x7f9b14a635f8>],
 <a list of 4 Text yticklabel objects>)