-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGoogle Distance Matrix API
More file actions
48 lines (38 loc) · 1.94 KB
/
Copy pathGoogle Distance Matrix API
File metadata and controls
48 lines (38 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import googlemaps
import os
import csv
from collections import defaultdict
gmaps = googlemaps.Client(key="AIzaSyDTTdbk89S3Ic####################")
columns = defaultdict(list)
with open('C:/Users/xzhang10/Desktop/ZXY/Dissertation/Data/Dataset/Park_large/output0.csv', 'w') as csvfile:
spamwriter = csv.writer(csvfile)
spamwriter.writerow(['Barcode', 'Distance', 'Duration'])
for dirpath, dirnames, files in os.walk("C:/Users/#########/Data/Dataset/Park_large"):
for f in files:
if f.endswith('ParksToBMI.csv'):
fullpath = os.path.join(dirpath, f)
print(fullpath)
with open(fullpath) as csvfile:
reader = csv.DictReader(csvfile) # read rows into a dictionary format
for row in reader: # read a row as {column1: value1, column2: value2,...}
for (k, v) in row.items(): # go over each column name and value
columns[k].append(v) # append the value into the appropriate list
# based on column name k
print(columns['Barcode'])
print(columns['Lat'])
print(columns['Lon'])
print(columns['Lat_Park'])
print(columns['Lon_Park'])
for i in range(1000,1001):
origin_lat = columns['Lat'][i]
origin_lon = columns['Lon'][i]
des_lat = columns['Lat_Park'][i]
des_lon = columns['Lon_Park'][i]
origin_coor = origin_lat + "," + origin_lon
des_coor = des_lat + "," + des_lon
matrix = gmaps.distance_matrix(origins=origin_coor, destinations=des_coor, mode="walking")
distance = matrix['rows'][0]['elements'][0]['distance']
duration = matrix['rows'][0]['elements'][0]['duration']
spamwriter.writerow([str(columns['Barcode'][i]),str(distance['text']),str(duration['text'])])
csvfile.close()
i=0