'; echo ' ' . __("Grid") . ' ' . __("Satellite") . ' ' . __("AOS Time") . ' ' . __("Duration") . ' ' . __("AOS Azimuth") . ' ' . __("Max Elevation") . ' ' . __("LOS Time") . ' ' . __("LOS Azimuth") . ' '; foreach ($overlaps as $overlap) { echo ''; echo '' . strtoupper($yourgrid) . ''; echo '' . $overlap['grid1']->satname . ''; echo '' . Predict_Time::daynum2readable($overlap['grid1']->visible_aos, $zone, $format) . ''; echo '' . returntimediff(Predict_Time::daynum2readable($overlap['grid1']->visible_aos, $zone, $format), Predict_Time::daynum2readable($overlap['grid1']->visible_los, $zone, $format), $format) . ''; $aos_az = round($overlap['grid1']->visible_aos_az); echo '' . $aos_az . ' ° (' . azDegreesToDirection($overlap['grid1']->visible_aos_az) . ')'; $max_el = round($overlap['grid1']->max_el); echo '' . $max_el . ' °'; echo '' . Predict_Time::daynum2readable($overlap['grid1']->visible_los, $zone, $format) . ''; $los_az = round($overlap['grid1']->visible_los_az); echo '' . $los_az . ' ° (' . azDegreesToDirection($overlap['grid1']->visible_los_az) . ')'; echo ''; echo ''; echo '' . strtoupper($skedgrid) . ''; echo '' . $overlap['grid2']->satname . ''; echo '' . Predict_Time::daynum2readable($overlap['grid2']->visible_aos, $zone, $format) . ''; echo '' . returntimediff(Predict_Time::daynum2readable($overlap['grid2']->visible_aos, $zone, $format), Predict_Time::daynum2readable($overlap['grid2']->visible_los, $zone, $format), $format) . ''; $aos_az = round($overlap['grid2']->visible_aos_az); echo '' . $aos_az . ' ° (' . azDegreesToDirection($overlap['grid2']->visible_aos_az) . ')'; $max_el = round($overlap['grid2']->max_el); echo '' . $max_el . ' °'; echo '' . Predict_Time::daynum2readable($overlap['grid2']->visible_los, $zone, $format) . ''; $los_az = round($overlap['grid2']->visible_los_az); echo '' . $los_az . ' ° (' . azDegreesToDirection($overlap['grid2']->visible_los_az) . ')'; echo ''; echo "---"; // Separator row } echo ""; echo ""; echo ''; echo ''; foreach ($overlaps as $overlap) { $satellite = $overlap['grid1']->satname; $skedDate = Predict_Time::daynum2readable($overlap['grid1']->visible_aos, $zone, $format); $skedAOS = $overlap['grid1']->visible_aos < $overlap['grid2']->visible_aos ? $overlap['grid2']->visible_aos : $overlap['grid1']->visible_aos; $skedLOS = $overlap['grid1']->visible_los < $overlap['grid2']->visible_los ? $overlap['grid1']->visible_los : $overlap['grid2']->visible_los; $timestamp = strtotime($date); echo ''; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } } else { echo '
'; echo '

'.__('Search failed!').'

'; echo '

'.__('No overlapping passes found. Please check the input parameters.').'

'; echo '
'; } function returntimediff($start, $end, $format) { $datetime1 = DateTime::createFromFormat($format, $end); $datetime2 = DateTime::createFromFormat($format, $start); $interval = $datetime1->diff($datetime2); $diff = sprintf('%02d', (($interval->h*60)+$interval->i)).':'.sprintf('%02d', $interval->s).' '.__("min"); return $diff; } function azDegreesToDirection($az = 0) { $i = floor($az / 22.5); $m = (22.5 * (2 * $i + 1)) / 2; $i = ($az >= $m) ? $i + 1 : $i; return trim(substr('N NNENE ENEE ESESE SSES SSWSW WSWW WNWNW NNWN ', $i * 3, 3)); }
' . __("Satellite") . ' ' . __("Date") . ' ' . __("Sked AOS Time") . ' ' . __("Sked LOS Time") . ' ' . __("Duration") . '
". $satellite . "" . date($custom_date_format, $timestamp) . "" . Predict_Time::daynum2readable($skedAOS, $zone, $format) . "" . Predict_Time::daynum2readable($skedLOS, $zone, $format) . "" . returntimediff(Predict_Time::daynum2readable($skedAOS, $zone, $format), Predict_Time::daynum2readable($skedLOS, $zone, $format), $format) . "