Skip to content

Commit 76d6336

Browse files
[ADD] Examples: 1) Update address attributes/details in an existing route (i.e. custom data, alias, order details, weight) 2) Insert Address into existing route 3) Remove Address from existing rotue 4) Move address from one stop into another
1 parent fce092d commit 76d6336

10 files changed

+604
-7
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
from route4me import Route4Me
2+
from route4me.constants import *
3+
4+
KEY = "11111111111111111111111111111111"
5+
6+
7+
def main():
8+
r4m = Route4Me(KEY)
9+
optimization = r4m.optimization
10+
address = r4m.address
11+
optimization.algorithm_type(ALGORITHM_TYPE.TSP)
12+
optimization.share_route(0)
13+
optimization.store_route(0)
14+
optimization.route_time(0)
15+
optimization.route_max_duration(86400)
16+
optimization.vehicle_capacity(1)
17+
optimization.vehicle_max_distance_mi(10000)
18+
optimization.route_name('Single Driver Round Trip')
19+
optimization.optimize(OPTIMIZE.DISTANCE)
20+
optimization.distance_unit(DISTANCE_UNIT.MI)
21+
optimization.device_type(DEVICE_TYPE.WEB)
22+
optimization.travel_mode(TRAVEL_MODE.DRIVING)
23+
address.add_address(
24+
address='754 5th Ave New York, NY 10019',
25+
lat=40.7636197,
26+
lng=-73.9744388,
27+
alias='Bergdorf Goodman',
28+
is_depot=1,
29+
time=0
30+
)
31+
address.add_address(
32+
address='717 5th Ave New York, NY 10022',
33+
lat=40.7669692,
34+
lng=-73.9693864,
35+
alias='Giorgio Armani',
36+
time=0
37+
)
38+
address.add_address(
39+
address='888 Madison Ave New York, NY 10014',
40+
lat=40.7715154,
41+
lng=-73.9669241,
42+
alias='Ralph Lauren Women\'s and Home',
43+
time=0
44+
)
45+
address.add_address(
46+
address='1011 Madison Ave New York, NY 10075',
47+
lat=40.7772129,
48+
lng=-73.9669,
49+
alias='Yigal Azrou\u00ebl',
50+
time=0
51+
)
52+
address.add_address(
53+
address='440 Columbus Ave New York, NY 10024',
54+
lat=40.7808364,
55+
lng=-73.9732729,
56+
alias='Frank Stella Clothier',
57+
time=0
58+
)
59+
address.add_address(
60+
address='324 Columbus Ave #1 New York, NY 10023',
61+
lat=40.7803123,
62+
lng=-73.9793079,
63+
alias='Liana',
64+
time=0
65+
)
66+
address.add_address(
67+
address='110 W End Ave New York, NY 10023',
68+
lat=40.7753077,
69+
lng=-73.9861529,
70+
alias='Toga Bike Shop',
71+
time=0
72+
)
73+
address.add_address(
74+
address='555 W 57th St New York, NY 10019',
75+
lat=40.7718005,
76+
lng=-73.9897716,
77+
alias='BMW of Manhattan',
78+
time=0
79+
)
80+
address.add_address(
81+
address='57 W 57th St New York, NY 10019',
82+
lat=40.7558695,
83+
lng=-73.9862019,
84+
alias='Verizon Wireless',
85+
time=0
86+
)
87+
88+
new_sequence = [8, 5, 1, 7, 2, 6, 0, 3, 4]
89+
90+
addresses = {'addresses': []}
91+
response = r4m.run_optimization()
92+
93+
print 'Current Addresses'
94+
for i, address in enumerate(response.addresses):
95+
print 'Number {}:'.format(i)
96+
if address.is_depot:
97+
print '\t This is a Depot'
98+
print '\taddress: {}'.format(address.address)
99+
print '\t'
100+
if new_sequence[i] == 0:
101+
addresses['addresses'].append(
102+
{
103+
"route_destination_id": address.route_destination_id,
104+
"is_depot": True
105+
})
106+
else:
107+
addresses['addresses'].append({
108+
"route_destination_id": address.route_destination_id,
109+
"sequence_no": new_sequence[i],
110+
"is_depot": False
111+
})
112+
113+
print 'Moving addresses'
114+
115+
route_id = response.addresses[1].route_id
116+
117+
response = r4m.route.move_addresses_from_route(addresses, route_id)
118+
print 'Addresses after move'
119+
120+
for i, address in enumerate(response.addresses):
121+
print 'Number {}:'.format(i)
122+
if address.is_depot:
123+
print '\t This is a Depot'
124+
print '\taddress: {}'.format(address.address)
125+
print '\t'
126+
127+
128+
if __name__ == '__main__':
129+
main()
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
from route4me import Route4Me
2+
from route4me.constants import *
3+
4+
KEY = "11111111111111111111111111111111"
5+
6+
7+
def main():
8+
r4m = Route4Me(KEY)
9+
optimization = r4m.optimization
10+
address = r4m.address
11+
optimization.algorithm_type(ALGORITHM_TYPE.TSP)
12+
optimization.share_route(0)
13+
optimization.store_route(0)
14+
optimization.route_time(0)
15+
optimization.route_max_duration(86400)
16+
optimization.vehicle_capacity(1)
17+
optimization.vehicle_max_distance_mi(10000)
18+
optimization.route_name('Single Driver Round Trip')
19+
optimization.optimize(OPTIMIZE.DISTANCE)
20+
optimization.distance_unit(DISTANCE_UNIT.MI)
21+
optimization.device_type(DEVICE_TYPE.WEB)
22+
optimization.travel_mode(TRAVEL_MODE.DRIVING)
23+
address.add_address(
24+
address='754 5th Ave New York, NY 10019',
25+
lat=40.7636197,
26+
lng=-73.9744388,
27+
alias='Bergdorf Goodman',
28+
is_depot=1,
29+
time=0
30+
)
31+
address.add_address(
32+
address='717 5th Ave New York, NY 10022',
33+
lat=40.7669692,
34+
lng=-73.9693864,
35+
alias='Giorgio Armani',
36+
time=0
37+
)
38+
address.add_address(
39+
address='888 Madison Ave New York, NY 10014',
40+
lat=40.7715154,
41+
lng=-73.9669241,
42+
alias='Ralph Lauren Women\'s and Home',
43+
time=0
44+
)
45+
address.add_address(
46+
address='1011 Madison Ave New York, NY 10075',
47+
lat=40.7772129,
48+
lng=-73.9669,
49+
alias='Yigal Azrou\u00ebl',
50+
time=0
51+
)
52+
address.add_address(
53+
address='440 Columbus Ave New York, NY 10024',
54+
lat=40.7808364,
55+
lng=-73.9732729,
56+
alias='Frank Stella Clothier',
57+
time=0
58+
)
59+
address.add_address(
60+
address='324 Columbus Ave #1 New York, NY 10023',
61+
lat=40.7803123,
62+
lng=-73.9793079,
63+
alias='Liana',
64+
time=0
65+
)
66+
address.add_address(
67+
address='110 W End Ave New York, NY 10023',
68+
lat=40.7753077,
69+
lng=-73.9861529,
70+
alias='Toga Bike Shop',
71+
time=0
72+
)
73+
74+
response = r4m.run_optimization()
75+
76+
print 'Current Addresses'
77+
for i, address in enumerate(response.addresses):
78+
print 'Number {}:'.format(i)
79+
print '\taddress: {}'.format(address.address)
80+
print '\t'
81+
82+
route_id = response.addresses[1].route_id
83+
route_destination_id = response.addresses[1].route_destination_id
84+
85+
print 'Deleting address {0} from Route: {1}'.format(route_destination_id, route_id)
86+
87+
response = r4m.address.delete_address_from_route(route_id, route_destination_id)
88+
print 'Address id: {1} deleted: {0}'.format(response.deleted, response.route_destination_id)
89+
90+
91+
if __name__ == '__main__':
92+
main()
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
from route4me import Route4Me
2+
from route4me.constants import *
3+
4+
KEY = "11111111111111111111111111111111"
5+
6+
7+
def main():
8+
r4m = Route4Me(KEY)
9+
optimization = r4m.optimization
10+
address = r4m.address
11+
optimization.algorithm_type(ALGORITHM_TYPE.TSP)
12+
optimization.share_route(0)
13+
optimization.store_route(0)
14+
optimization.route_time(0)
15+
optimization.route_max_duration(86400)
16+
optimization.vehicle_capacity(1)
17+
optimization.vehicle_max_distance_mi(10000)
18+
optimization.route_name('Single Driver Round Trip')
19+
optimization.optimize(OPTIMIZE.DISTANCE)
20+
optimization.distance_unit(DISTANCE_UNIT.MI)
21+
optimization.device_type(DEVICE_TYPE.WEB)
22+
optimization.travel_mode(TRAVEL_MODE.DRIVING)
23+
address.add_address(
24+
address='754 5th Ave New York, NY 10019',
25+
lat=40.7636197,
26+
lng=-73.9744388,
27+
alias='Bergdorf Goodman',
28+
is_depot=1,
29+
time=0
30+
)
31+
address.add_address(
32+
address='717 5th Ave New York, NY 10022',
33+
lat=40.7669692,
34+
lng=-73.9693864,
35+
alias='Giorgio Armani',
36+
time=0
37+
)
38+
address.add_address(
39+
address='888 Madison Ave New York, NY 10014',
40+
lat=40.7715154,
41+
lng=-73.9669241,
42+
alias='Ralph Lauren Women\'s and Home',
43+
time=0
44+
)
45+
address.add_address(
46+
address='1011 Madison Ave New York, NY 10075',
47+
lat=40.7772129,
48+
lng=-73.9669,
49+
alias='Yigal Azrou\u00ebl',
50+
time=0
51+
)
52+
address.add_address(
53+
address='440 Columbus Ave New York, NY 10024',
54+
lat=40.7808364,
55+
lng=-73.9732729,
56+
alias='Frank Stella Clothier',
57+
time=0
58+
)
59+
address.add_address(
60+
address='324 Columbus Ave #1 New York, NY 10023',
61+
lat=40.7803123,
62+
lng=-73.9793079,
63+
alias='Liana',
64+
time=0
65+
)
66+
address.add_address(
67+
address='110 W End Ave New York, NY 10023',
68+
lat=40.7753077,
69+
lng=-73.9861529,
70+
alias='Toga Bike Shop',
71+
time=0
72+
)
73+
74+
response = r4m.run_optimization()
75+
76+
print 'Current Addresses'
77+
for i, address in enumerate(response.addresses):
78+
print 'Number {}:'.format(i)
79+
print '\taddress: {}'.format(address.address)
80+
print '\t'
81+
addresses = {'addresses': [{'address': '555 W 57th St New York, NY 10019',
82+
'lat': 40.7718005,
83+
'lng': -73.9897716,
84+
'alias': 'BMW of Manhattan',
85+
'time': 0
86+
},
87+
{'address': '57 W 57th St New York, NY 10019',
88+
'lat': 40.7558695,
89+
'lng': -73.9862019,
90+
'alias': 'Verizon Wireless',
91+
'time': 0
92+
}]
93+
}
94+
95+
route_id = response.addresses[1].route_id
96+
97+
print 'Inserting addresses in Route: {}'.format(route_id)
98+
99+
response = r4m.address.insert_address_into_route(addresses, route_id)
100+
print 'Addresses after insert'
101+
for i, address in enumerate(response.addresses):
102+
print 'Number {}:'.format(i)
103+
print '\taddress: {}'.format(address.address)
104+
print '\t'
105+
106+
107+
if __name__ == '__main__':
108+
main()

0 commit comments

Comments
 (0)