Merge pull request #456 from Struart88/patch-2
[FlightAirMap.git] / statistics-route-airport.php
blobe83887a50c5dd9622ac68ab6d6938bf400db01ef
1 <?php
2 require_once('require/class.Connection.php');
3 require_once('require/class.Spotter.php');
4 require_once('require/class.Language.php');
5 $Spotter = new Spotter();
6 $title = _("Statistics").' - '._("Most common Route by Airport");
7 require_once('header.php');
8 if (!isset($filter_name)) $filter_name = '';
9 include('statistics-sub-menu.php');
11 print '<script type="text/javascript" src="'.$globalURL.'/js/d3.min.js"></script>';
12 print '<script type="text/javascript" src="'.$globalURL.'/js/d3pie.min.js"></script>';
13 print '<div class="info">
14 <h1>'._("Most common Route by Airport").'</h1>
15 </div>
16 <p>'._("Below are the <strong>Top 10</strong> most common Departure &amp; Arrival airport combinations.").'</p>';
18 $route_array = $Spotter->countAllRoutes();
19 print '<div id="chart" class="chart" width="100%"></div><script>';
20 $route_data = '';
21 foreach($route_array as $route_item)
23 $route_data .= '[ "'.$route_item['airport_departure_icao'].' - '.$route_item['airport_arrival_icao'].'",'.$route_item['route_count'].'],';
25 $route_data = substr($route_data, 0, -1);
26 print 'var series = ['.$route_data.'];';
27 print 'var dataset = [];var onlyValues = series.map(function(obj){ return obj[1]; });var minValue = Math.min.apply(null, onlyValues), maxValue = Math.max.apply(null, onlyValues);';
28 print 'var paletteScale = d3.scale.log().domain([minValue,maxValue]).range(["#e6e6f6","#1a3151"]);';
29 print 'series.forEach(function(item){var lab = item[0], value = item[1]; dataset.push({"label":lab,"value":value,"color":paletteScale(value)});});';
30 print 'var aircraftype = new d3pie("chart",{"header":{"title":{"fontSize":24,"font":"open sans"},"subtitle":{"color":"#999999","fontSize":12,"font":"open sans"},"titleSubtitlePadding":9},"footer":{"color":"#999999","fontSize":10,"font":"open sans","location":"bottom-left"},"size":{"canvasWidth":700,"pieOuterRadius":"60%"},"data":{"sortOrder":"value-desc","content":';
31 print 'dataset';
32 print '},"labels":{"outer":{"pieDistance":32},"inner":{"hideWhenLessThanPercentage":3},"mainLabel":{"fontSize":11},"percentage":{"color":"#ffffff","decimalPlaces":0},"value":{"color":"#adadad","fontSize":11},"lines":{"enabled":true},"truncation":{"enabled":true}},"effects":{"pullOutSegmentOnClick":{"effect":"linear","speed":400,"size":8}},"misc":{"gradient":{"enabled":true,"percentage":100}}});';
33 print '</script>';
36 if (!empty($route_array))
38 print '<div class="table-responsive">';
39 print '<table class="common-routes table-striped">';
40 print '<thead>';
41 print '<th></th>';
42 print '<th>'._("Departure Airport").'</th>';
43 print '<th>'._("Arrival Airport").'</th>';
44 print '<th>'._("# of times").'</th>';
45 print '<th></th>';
46 print '</thead>';
47 print '<tbody>';
48 $i = 1;
49 foreach($route_array as $route_item)
51 print '<tr>';
52 print '<td><strong>'.$i.'</strong></td>';
53 print '<td>';
54 print '<a href="'.$globalURL.'/airport/'.$route_item['airport_departure_icao'].'">'.$route_item['airport_departure_city'].', '.$route_item['airport_departure_country'].' ('.$route_item['airport_departure_icao'].')</a>';
55 print '</td>';
56 print '<td>';
57 print '<a href="'.$globalURL.'/airport/'.$route_item['airport_arrival_icao'].'">'.$route_item['airport_arrival_city'].', '.$route_item['airport_arrival_country'].' ('.$route_item['airport_arrival_icao'].')</a>';
58 print '</td>';
59 print '<td>'.$route_item['route_count'].'</td>';
60 print '<td>';
61 print '<a href="'.$globalURL.'/route/'.$route_item['airport_departure_icao'].'/'.$route_item['airport_arrival_icao'].'">'._("Route Profile").'</a>';
62 print '</td>';
63 print '</tr>';
64 $i++;
66 print '<tbody>';
67 print '</table>';
68 print '</div>';
71 require_once('footer.php');