· 6 years ago · Oct 01, 2019, 06:14 PM
1clc
2% clear
3
4% load zips
5
6bing_API = ''; % get your own API key
7
8LGA_coords = "40.772185,-73.871479";
9EWR_coords = "40.692716,-74.184549";
10% JFK_coords = "40.643449,-73.784277"; % the real JFK airport
11JFK_coords = "42.363056,-71.006389"; % actually Boston
12
13allzips = ziplatlong.ZIP; % my ZIP array
14myzips = NYCzips.x; % the NYC zip array from my ARC dataset
15
16for i = 1:length(myzips)
17 idx = find(strcmp(allzips,myzips(i)));
18 if ~isempty(idx)
19 myzips(i,2) = ziplatlong{idx,2};
20 myzips(i,3) = ziplatlong{idx,3};
21 end
22end % data cleanup
23
24% URL request % HTTP post request
25i = 1;
26
27for i = 1:length(myzips)
28 firstpart = 'https://dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=';
29 origin_lat = myzips{i,2};
30 comma = ',';
31 origin_long = myzips{i,3};
32 secondpart = '&destinations=';
33 destinations = strcat(LGA_coords,';',EWR_coords,';',JFK_coords);
34 thirdpart = '&travelMode=driving&key=';
35 key = bing_API;
36 HTTPGET_URL = strcat(firstpart,origin_lat,comma,origin_long,...
37 secondpart,destinations,thirdpart,key);
38 disp(i)
39
40 try
41 data = webread(HTTPGET_URL);
42 catch
43 continue
44 end
45
46
47 distancematrix = data.resourceSets.resources.results;
48 myzips{i,4} = distancematrix(1).travelDistance;
49 myzips{i,5} = distancematrix(1).travelDuration;
50 myzips{i,6} = distancematrix(2).travelDistance;
51 myzips{i,7} = distancematrix(2).travelDuration;
52 myzips{i,8} = distancematrix(3).travelDistance;
53 myzips{i,9} = distancematrix(3).travelDuration;
54
55end
56
57T = cell2table(myzips,...
58'VariableNames',{'ZIPfromARCData','Lat','Long','DisttoLGA','TTtoLGA','DisttoEWR','TTtoEWR','DisttoJFK','TTtoJFK'});
59
60writetable(T,'distAndTT.csv');