Exemplo n.º 1
0
function findDistance($data)
{
    $timeArr = array();
    $totalDistance = 0;
    $data1 = explode("#", $data);
    for ($j1 = 0; $j1 < count($data1); $j1++) {
        $data2 = explode("\$", $data1[$j1]);
        if (count($data2) > 1) {
            $data3 = explode(",", $data2[1]);
            $vehi = $data3[0];
            $geodate = date("d-m-Y h:i A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
            $geoTime = date("H:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
            $pos1 = convertLat(calLat($data3[7]));
            $pos2 = convertLong(calLong($data3[8]));
            if ($pos1 > 0 && $pos2 > 0) {
                if (!in_array($geoTime, $timeArr)) {
                    if ($j1 == 0) {
                        $pits1 = $pos1;
                        $pits2 = $pos2;
                    } else {
                        $pits3 = $pos1;
                        $pits4 = $pos2;
                        $dist = getDistance($pits1, $pits2, $pits3, $pits4);
                        $totalDistance += $dist;
                        $pits1 = $pits3;
                        $pits2 = $pits4;
                    }
                }
            }
        }
        array_push($timeArr, $geoTime);
    }
    return round($totalDistance);
}
Exemplo n.º 2
0
function kmsPerDay($path)
{
    $timeArr = array();
    $cnt = 1;
    $totalDistance = 0;
    $file1 = @fopen($path, "r");
    if ($file1) {
        $i = 0;
        while (!feof($file1)) {
            $data = fgets($file1);
            //$i++;
        }
        $data = getSortedData($data);
        $data1 = explode("#", $data);
        for ($j1 = 0; $j1 < count($data1); $j1++) {
            $data2 = explode("\$", $data1[$j1]);
            if (count($data2) > 1) {
                $data3 = explode(",", $data2[1]);
                $vehi = $data3[0];
                $geodate = date("d-m-Y h:i A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $geoTime = date("H:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $pos1 = convertLat(calLat($data3[7]));
                $pos2 = convertLong(calLong($data3[8]));
                if ($pos1 > 0 && $pos2 > 0) {
                    if (!in_array($geoTime, $timeArr)) {
                        if ($j1 == 0) {
                            $pits1 = $pos1;
                            $pits2 = $pos2;
                        } else {
                            $pits3 = $pos1;
                            $pits4 = $pos2;
                            $dist = getDistance($pits1, $pits2, $pits3, $pits4);
                            $totalDistance += $dist;
                            $pits1 = $pits3;
                            $pits2 = $pits4;
                        }
                    }
                }
            }
            array_push($timeArr, $geoTime);
        }
        //echo $data3[11];
        $res = simpleGeocode($pos1, $pos2);
        //print_r($res);
        $res = str_replace('"', "", $res);
        //echo $res."<br>";
        //echo round($totalDistance,2);
        $finalData = round($totalDistance) . "#" . $geodate . "#" . $res;
        fclose($file1);
        return $finalData;
    }
}
function kmsPerDay($path)
{
    $timeArr = array();
    $cnt = 1;
    $totalDistance = 0;
    $file1 = @fopen($path, "r");
    if ($file1) {
        $i = 0;
        while (!feof($file1)) {
            $data = fgets($file1);
            //$i++;
        }
        $data = getSortedData($data);
        $data1 = explode("#", $data);
        for ($j1 = 0; $j1 < count($data1); $j1++) {
            $data2 = explode("\$", $data1[$j1]);
            if (count($data2) > 1) {
                $data3 = explode(",", $data2[1]);
                $vehi = $data3[0];
                $geodate = date("d-m-Y h:i A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $geoTime = date("H:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $pos1 = convertLat(calLat($data3[7]));
                $pos2 = convertLong(calLong($data3[8]));
                if ($pos1 > 0 && $pos2 > 0) {
                    if (!in_array($geoTime, $timeArr)) {
                        if ($j1 == 0) {
                            $pits1 = $pos1;
                            $pits2 = $pos2;
                        } else {
                            $pits3 = $pos1;
                            $pits4 = $pos2;
                            $dist = getDistance($pits1, $pits2, $pits3, $pits4);
                            $totalDistance += $dist;
                            $pits1 = $pits3;
                            $pits2 = $pits4;
                        }
                        $mph = $data3[9];
                        $direction = $data3[10];
                        $distance = '';
                        $date = $date;
                        $locationMethod = '327681';
                        //echo getDateFromJavaDate($date);
                        $phoneNumber = $data3[0];
                        $sessionID = $_GET["sessionID"];
                        $accuracy = 11;
                        $locationIsValid = yes;
                        $extraInfo = $data3[11];
                        $xml .= '<locations latitude="' . $pos1 . '" longitude="' . $pos2 . '" speed="' . $mph . '" direction="' . $direction . '" distance="' . round($totalDistance, 2) . '" locationMethod="327681" gpsTime="' . $geodate . '" phoneNumber="' . $phoneNumber . '" sessionID="' . $sessionID . '" accuracy="11" isLocationValid="yes" extraInfo="' . $extraInfo . '" />';
                    }
                }
            }
            array_push($timeArr, $geoTime);
        }
        //echo $data3[11];
        //$res=simpleGeocode($pos1,$pos2);
        //print_r($res);
        //$res=str_replace(",","-",$res[0]);
        //echo $res."<br>";
        //echo round($totalDistance,2);
        $finalData = round($totalDistance) . "#" . $geodate . "#" . $res;
        fclose($file1);
        return $finalData;
    }
}
function storeData1($data)
{
    //echo $data;
    $data1 = explode("#", $data);
    $latnlong_values = "";
    if ($_GET[sessionID] != '') {
        $getDriver = "SELECT di_id,di_driverId,di_license,di_firstName,di_lastName,di_phone1,di_profile_image from driver_info,gps_task_info, vehicle_info  WHERE gti_clientId=" . $_GET[sessionID] . " AND di_id=gti_driver_id AND  '" . $_GET[date_offline] . "' BETWEEN DATE_FORMAT( gti_start_date, '%Y-%m-%d' ) AND DATE_FORMAT( gti_end_date, '%Y-%m-%d' ) AND vi_reg_no = '" . $_GET[phoneNumber] . "' LIMIT 0 , 30";
        $resDriver = mysql_query($getDriver);
        $fetchDriver = @mysql_fetch_assoc($resDriver);
        $qr = "SELECT * FROM gps_geopoints_info WHERE gpi_clientID=" . $_SESSION["clientID"];
        $rs_geofence_details = mysql_query($qr);
        if (@mysql_num_rows($rs_geofence_details) == 0) {
            $latnlong_values = "";
        } else {
            $latnlong_values = "";
            $ct = 0;
            while ($fetch_geofence_details = @mysql_fetch_assoc($rs_geofence_details)) {
                //print_r($fetch_geofence_details);
                if ($ct == 0) {
                    $latnlong_values = $fetch_geofence_details[gpi_miles] . "," . $fetch_geofence_details[gpi_latVal] . "," . $fetch_geofence_details[gpi_longVal] . "@";
                    $ct++;
                } else {
                    $latnlong_values .= $fetch_geofence_details[gpi_miles] . "," . $fetch_geofence_details[gpi_latVal] . "," . $fetch_geofence_details[gpi_longVal] . "@";
                    $ct++;
                }
                if ($ct != @mysql_num_rows($rs_geofence_details)) {
                    $point_names .= $fetch_geofence_details[gpi_stopName] . ",";
                } else {
                    $point_names .= $fetch_geofence_details[gpi_stopName];
                }
            }
            //echo $latnlong_values;
        }
    } else {
        $client_array = array();
        $res_clients = SuperAdminSF::getClients();
        while ($clientIds = mysql_fetch_assoc($res_clients)) {
            array_push($client_array, $clientIds);
        }
        for ($cl = 0; $cl < count($client_array); $cl++) {
            $fetchDriver = getDriverDetails($client_array[$cl][clin_id], $_GET[date_offline], $_GET[phoneNumber]);
        }
    }
    $xml = '<gps geoData="' . $latnlong_values . '" geoPointName="' . $point_names . '">';
    $timeArr = array();
    $totalDistance = 0;
    if ($_GET[from_hrs] != '' && ($fm = $_GET[from_mins] != '' && ($th = $_GET[to_hrs] != '' && ($tm = $_GET[to_mins] != '')))) {
        for ($j1 = 0; $j1 < count($data1); $j1++) {
            $data2 = explode("\$", $data1[$j1]);
            if (count($data2) > 1) {
                $data3 = explode(",", $data2[1]);
                if (date("d-m-Y", strtotime($_GET[date_offline])) == date("d-m-Y", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]))) {
                    $fh = $_GET[from_hrs];
                    $fm = $_GET[from_mins];
                    $fs = '00';
                    $th = $_GET[to_hrs];
                    $tm = $_GET[to_mins];
                    $ts = '00';
                    $h = date("H", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                    $m = date("i", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                    $s = date("s", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                    if ($fh == $th && $fh == $h) {
                        if ($m >= $fm && $m < $tm) {
                            $show = 1;
                        } else {
                            $show = 0;
                        }
                    } else {
                        if ($h >= $fh && $h <= $th) {
                            if ($h < $th) {
                                if ($m >= $fm || $m < $tm) {
                                    $show = 1;
                                } else {
                                    $show = 0;
                                }
                            } else {
                                if ($h == $th) {
                                    if ($m >= $fm && $m < $tm) {
                                        $show = 1;
                                    } else {
                                        $show = 0;
                                    }
                                }
                            }
                        } else {
                            $show = 0;
                        }
                    }
                    if ($show == 1) {
                        $vehi = $data3[0];
                        $geodate = date("d-m-Y h:i A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                        $geoTime = date("h:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                        $pos1 = convertLat(calLat($data3[7]));
                        $pos2 = convertLong(calLong($data3[8]));
                        if ($pos1 > 0 && $pos2 > 0) {
                            if (!in_array($geoTime, $timeArr)) {
                                //echo $sPt=$pos1."#".$pos2;
                                if ($cnt == 1) {
                                    $pits1 = $pos1;
                                    $pits2 = $pos2;
                                } else {
                                    $pits3 = $pos1;
                                    $pits4 = $pos2;
                                    $dist = getDistance($pits1, $pits2, $pits3, $pits4);
                                    $totalDistance += $dist;
                                    $pits1 = $pits3;
                                    $pits2 = $pits4;
                                }
                                $mph = $data3[9];
                                $direction = $data3[10];
                                $distance = '';
                                $date = $date;
                                $locationMethod = '327681';
                                //echo getDateFromJavaDate($date);
                                $phoneNumber = $data3[0];
                                $sessionID = $_GET["sessionID"];
                                $accuracy = 11;
                                $locationIsValid = yes;
                                $extraInfo = $data3[11];
                                $xml .= '<locations latitude="' . $pos1 . '" longitude="' . $pos2 . '" speed="' . $mph . '" direction="' . $direction . '" distance="' . round($totalDistance, 2) . '" locationMethod="327681" gpsTime="' . $geodate . '" phoneNumber="' . $phoneNumber . '" sessionID="' . $sessionID . '" accuracy="11" isLocationValid="yes" extraInfo="' . $extraInfo . '"  route="' . $rtName . '"/>';
                            }
                        }
                    }
                    array_push($timeArr, $geoTime);
                }
            }
        }
    } else {
        for ($j1 = 0; $j1 < count($data1); $j1++) {
            $data2 = explode("\$", $data1[$j1]);
            if (count($data2) > 1) {
                $data3 = explode(",", $data2[1]);
                $vehi = $data3[0];
                $geodate = date("d-m-Y h:i A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $geoTime = date("H:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                $pos1 = convertLat(calLat($data3[7]));
                $pos2 = convertLong(calLong($data3[8]));
                if ($pos1 > 0 && $pos2 > 0) {
                    if (!in_array($geoTime, $timeArr)) {
                        if ($j1 == 0) {
                            $pits1 = $pos1;
                            $pits2 = $pos2;
                        } else {
                            $pits3 = $pos1;
                            $pits4 = $pos2;
                            $dist = getDistance($pits1, $pits2, $pits3, $pits4);
                            $totalDistance += $dist;
                            $pits1 = $pits3;
                            $pits2 = $pits4;
                        }
                        $mph = $data3[9];
                        $direction = $data3[10];
                        $distance = '';
                        $date = $date;
                        $locationMethod = '327681';
                        //echo getDateFromJavaDate($date);
                        $phoneNumber = $data3[0];
                        $sessionID = $_GET["sessionID"];
                        $accuracy = 11;
                        $locationIsValid = yes;
                        $extraInfo = $data3[11];
                        $xml .= '<locations latitude="' . $pos1 . '" longitude="' . $pos2 . '" speed="' . $mph . '" direction="' . $direction . '" distance="' . round($totalDistance, 2) . '" locationMethod="327681" gpsTime="' . $geodate . '" phoneNumber="' . $phoneNumber . '" sessionID="' . $sessionID . '" accuracy="11" isLocationValid="yes" extraInfo="' . $extraInfo . '"  route="' . $rtName . '"/>';
                    }
                }
            }
            array_push($timeArr, $geoTime);
        }
    }
    //echo $totalDistance;
    $xml .= '</gps>';
    header('Content-Type: text/xml');
    echo $xml;
}
Exemplo n.º 5
0
 while (!feof($file1)) {
     $data = fgets($file1);
     //$i++;
 }
 $data = getSortedData($data);
 $data1 = explode("#", $data);
 for ($j1 = 0; $j1 < count($data1); $j1++) {
     $data2 = explode("\$", $data1[$j1]);
     if (count($data2) > 1) {
         $data3 = explode(",", $data2[1]);
         $geodate = date("d-m-Y", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
         $geoTime = date("h:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
         //echo date("d-m-Y", strtotime($sdate))."==".date("d-m-Y",@mktime(($data3[4]+5),($data3[5]+30),$data3[6],$data3[2],$data3[1],$data3[3]));
         if (date("d-m-Y", strtotime($sdate)) == date("d-m-Y", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]))) {
             $pos1 = convertLat(calLat($data3[7]));
             $pos2 = convertLong(calLong($data3[8]));
             $vehi = $data3[0];
             if ($pos1 > 0 && $pos2 > 0) {
                 if (!in_array($geoTime, $timeArr)) {
                     $sts = geoStatusReport($pos1, $pos2, $vehi);
                     //echo $sts."asds".$data3[9];
                     //echo "<br>";
                     if ($sts == 0) {
                         if ($data3[9] > 0) {
                             //$res=simpleGeocode($pos1,$pos2);
                             //print_r($res);
                             //$res=str_replace(",","-",$res[0]);
                             //echo $res."<br>";
                             $outData .= $geodate . ',' . $vehi . ',' . $geoTime . ',' . $res . ',' . $pos1 . ',' . $pos2 . ',' . round($data3[9]);
                             $outData .= "@";
                             ?>
function getOverAllTripReport($sdate, $vehId, $dest)
{
    $cnt = 1;
    $tmp = -1;
    $t1 = 0.0;
    $t2 = 0.0;
    $timeArr = array();
    $timediff = array();
    $strTime = '';
    $endTime = '';
    $tmpId = 0;
    $srcArr = array();
    $destArr = array();
    $stCunt = 0;
    $stChk = 0;
    $geocheck = 0;
    $ids = $dest;
    $ids = explode(",", $ids);
    //print_r($ids);
    $file = $GLOBALS[dataPath] . "client_" . $_SESSION[clientID] . "/" . date("d-m-Y", strtotime($sdate)) . "/" . $vehId . ".txt";
    if (chk_folder($file)) {
        $file1 = @fopen($file, "r");
        if ($file1) {
            while (!feof($file1)) {
                $data = fgets($file1);
            }
            $data = getSortedData($data);
        }
        if (count($data) > 0) {
            $data1 = explode("#", $data);
            for ($j1 = 0; $j1 < count($data1); $j1++) {
                $data2 = explode("\$", $data1[$j1]);
                if (count($data2) > 1) {
                    $data3 = explode(",", $data2[1]);
                    //echo date("d-m-Y", strtotime($sdate))."==".date("d-m-Y",@mktime(($data3[4]+5),($data3[5]+30),$data3[6],$data3[2],$data3[1],$data3[3]));
                    $vehi = $data3[0];
                    $geodate = date("d-m-Y", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                    $geoTime = date("H:i:s A", @mktime($data3[4] + 5, $data3[5] + 30, $data3[6], $data3[2], $data3[1], $data3[3]));
                    $pos1 = convertLat(calLat($data3[7]));
                    $pos2 = convertLong(calLong($data3[8]));
                    $vehi = $data3[0];
                    /*$getLL=drawCircle("17.98264333","79.601965","0.16");
                    		print_r($getLL);
                    		echo $resLL=getGeofenceStatus($getLL,"17.9809383333","79.6004683333");
                    		exit;*/
                    if ($pos1 > 0 && $pos2 > 0) {
                        for ($k = 0; $k < count($ids) - 1; $k++) {
                            //echo $ids[$k];
                            $sel_pts = "SELECT * FROM gps_geopoints_info WHERE gpi_clientID=" . $_SESSION[clientID] . " AND gpi_id=" . $ids[$k];
                            $rs_sel_pts = mysql_query($sel_pts);
                            while ($fetch_sel_pts = @mysql_fetch_assoc($rs_sel_pts)) {
                                $gcdLatLng = drawCircle($fetch_sel_pts[gpi_latVal], $fetch_sel_pts[gpi_longVal], $fetch_sel_pts[gpi_miles]);
                                //print_r($fetch_sel_pts);
                                $geocheck = getGeofenceStatus($gcdLatLng, $pos1, $pos2);
                                if ($geocheck == 1) {
                                    //print_r($gcdLatLng);
                                    /*$getLL=drawCircle("17.97905965","79.59972382","0.10");
                                    		print_r($getLL);
                                    		$resLL=getGeofenceStatus($getLL,$pos1,$pos2);*/
                                    //print_r($getLL);
                                    $result_pt = $fetch_sel_pts[gpi_stopName] . "#" . $geoTime;
                                    //echo $k." ".$j1." ".$result_pt." ".$pos1."&&".$pos2."";
                                    if ($tmpId != $fetch_sel_pts[gpi_id]) {
                                        $tmpId = $fetch_sel_pts[gpi_id];
                                        //echo "pos ".in_array($fetch_sel_pts[gpi_id],$ids);
                                        if (in_array($fetch_sel_pts[gpi_id], $ids)) {
                                            if ($destArr[$tmpId] == "") {
                                                //echo "ss".count($destArr[$tmpId])." ".$tmpId." ".$result_pt."<br>";
                                                //$destArr = array_push_assoc($destArr, $tmpId, $result_pt);
                                                $destArr[$tmpId] = $result_pt;
                                                //print_r($destArr);
                                            } else {
                                                //echo $result_pt."<br>";
                                                foreach ($destArr as $key => $value) {
                                                    // echo "Key: $key; Value: $value<br />\n";
                                                    if ($key == $tmpId) {
                                                        //echo $key ."==". $tmpId;
                                                        $tmpVal = $value;
                                                        //unset($destArr[$key]);
                                                        $destArr[$key] = $value . ',' . $result_pt;
                                                        //print_r($destArr);
                                                        //echo "<br>";
                                                        //echo "<br>";
                                                    } else {
                                                        //	$destArr[$tmpId]=$result_pt;
                                                        //$destArr = array_push_assoc($destArr, $tmpId, $result_pt);
                                                        //print_r($destArr);
                                                        //echo "<br>";
                                                    }
                                                }
                                                // foreach end
                                            }
                                            // else end
                                        }
                                        //print_r($destArr);
                                    }
                                } else {
                                    $tmpId = 0;
                                }
                            }
                            //echo "<br>";
                        }
                    }
                }
            }
            fclose($file1);
        }
    }
    $result = $destArr;
    //print_r($destArr);
    //echo $timediff;
    return $result;
}