< Tutoriel | Contents | Données spatiales >
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>}}})]
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>)
Content source: nsaunier/CIV8760
Similar notebooks: