Example #1
0
File: my.php Project: Amfys/BST
				<?php 
    } else {
        ?>
				<?php 
        function dcos($arg)
        {
            return cos(deg2rad($arg));
        }
        function dsin($arg)
        {
            return sin(deg2rad($arg));
        }
        for ($i = 0; $i < count($myStopList); $i++) {
            if ($myStopList[$i]->lat != 0) {
                $r = 6378.137;
                $distant = $r * acos(dsin($lat) * dsin($myStopList[$i]->lat) + dcos($lat) * dcos($myStopList[$i]->lat) * dcos($myStopList[$i]->long - $long));
                $distant = round($distant, 2) . ' km';
            } else {
                $distant = 'N/A';
            }
            echo "<h3>" . $myStopList[$i]->stopName . " <small>{$distant}</small></h3>";
            echo "<hr>";
            $lineList = $Database->getStopLine($myStopList[$i]->stopId);
            for ($j = 0; $j < count($lineList); $j++) {
                $lineName = $Database->getLineName($lineList[$j], $userName);
                echo "<h4>行き先: {$lineName}</h4>";
                echo "<table class=table>";
                echo "<thead><th>時刻</th><th>残り時間</th></thead>";
                $timeData = $Database->getTimeTableEx($myStopList[$i]->stopId, $lineList[$j], get4Time() - 5, 3);
                for ($k = 0; $k < count($timeData); $k++) {
                    if ($timeData[$k]->type != getTodayType()) {
function truephase($k, $phase)
{
    $apcor = 0;
    $k += $phase;
    // add phase to new moon time
    $t = $k / 1236.85;
    // time in Julian centuries from 1900 January 0.5
    $t2 = $t * $t;
    // square for frequent use
    $t3 = $t2 * $t;
    // cube for frequent use
    // mean time of phase
    $pt = 2415020.75933 + SYNMONTH * $k + 0.0001178 * $t2 - 1.55E-7 * $t3 + 0.00033 * dsin(166.56 + 132.87 * $t - 0.009173000000000001 * $t2);
    // Sun's mean anomaly
    $m = 359.2242 + 29.10535608 * $k - 3.33E-5 * $t2 - 3.47E-6 * $t3;
    // Moon's mean anomaly
    $mprime = 306.0253 + 385.81691806 * $k + 0.0107306 * $t2 + 1.236E-5 * $t3;
    // Moon's argument of latitude
    $f = 21.2964 + 390.67050646 * $k - 0.0016528 * $t2 - 2.39E-6 * $t3;
    if ($phase < 0.01 || abs($phase - 0.5) < 0.01) {
        // Corrections for New and Full Moon.
        $pt += (0.1734 - 0.000393 * $t) * dsin($m) + 0.0021 * dsin(2 * $m) - 0.4068 * dsin($mprime) + 0.0161 * dsin(2 * $mprime) - 0.0004 * dsin(3 * $mprime) + 0.0104 * dsin(2 * $f) - 0.0051 * dsin($m + $mprime) - 0.0074 * dsin($m - $mprime) + 0.0004 * dsin(2 * $f + $m) - 0.0004 * dsin(2 * $f - $m) - 0.0005999999999999999 * dsin(2 * $f + $mprime) + 0.001 * dsin(2 * $f - $mprime) + 0.0005 * dsin($m + 2 * $mprime);
        $apcor = 1;
    } elseif (abs($phase - 0.25) < 0.01 || abs($phase - 0.75) < 0.01) {
        $pt += (0.1721 - 0.0004 * $t) * dsin($m) + 0.0021 * dsin(2 * $m) - 0.628 * dsin($mprime) + 0.0089 * dsin(2 * $mprime) - 0.0004 * dsin(3 * $mprime) + 0.007900000000000001 * dsin(2 * $f) - 0.0119 * dsin($m + $mprime) - 0.0047 * dsin($m - $mprime) + 0.0003 * dsin(2 * $f + $m) - 0.0004 * dsin(2 * $f - $m) - 0.0005999999999999999 * dsin(2 * $f + $mprime) + 0.0021 * dsin(2 * $f - $mprime) + 0.0003 * dsin($m + 2 * $mprime) + 0.0004 * dsin($m - 2 * $mprime) - 0.0003 * dsin(2 * $m + $mprime);
        if ($phase < 0.5) {
            // First quarter correction.
            $pt += 0.0028 - 0.0004 * dcos($m) + 0.0003 * dcos($mprime);
        } else {
            // Last quarter correction.
            $pt += -0.0028 + 0.0004 * dcos($m) - 0.0003 * dcos($mprime);
        }
        $apcor = 1;
    }
    if (!$apcor) {
        print "truephase() called with invalid phase selector ({$phase}).\n";
        exit(ERR_UNDEF);
    }
    return $pt;
}