File "csv_edit.php"
Full path: /www/ri/old/csv_edit.php
File size: 2.7 KiB (2769 bytes)
MIME-type: text/x-php
Charset: 8 bit
<?php
function distance($lat1, $lon1, $lat2, $lon2, $mode=true)
{
// €Ь“xЊo“x‚рѓ‰ѓWѓAѓ“‚Й•ПЉ·
$radLat1 = deg2rad($lat1); // €Ь“x‚P
$radLon1 = deg2rad($lon1); // Њo“x‚P
$radLat2 = deg2rad($lat2); // €Ь“x‚Q
$radLon2 = deg2rad($lon2); // Њo“x‚Q
// €Ь“xЌ·
$radLatDiff = $radLat1 - $radLat2;
// Њo“xЌ·ЋZ
$radLonDiff = $radLon1 - $radLon2;
// •Ѕ‹П€Ь“x
$radLatAve = ($radLat1 + $radLat2) / 2.0;
// ‘Є’nЊn‚Й‚ж‚й’l‚М€б‚ў
$a = $mode ? 6378137.0 : 6377397.155; // ђФ“№”јЊa
$b = $mode ? 6356752.314140356 : 6356078.963; // ‹Й”јЊa
//$e2 = ($a*$a - $b*$b) / ($a*$a);
$e2 = $mode ? 0.00669438002301188 : 0.00667436061028297; // ‘ж€к—ЈђS—¦^2
//$a1e2 = $a * (1 - $e2);
$a1e2 = $mode ? 6335439.32708317 : 6334832.10663254; // ђФ“№Џг‚МЋqЊЯђь‹И—¦”јЊa
$sinLat = sin($radLatAve);
$W2 = 1.0 - $e2 * ($sinLat*$sinLat);
$M = $a1e2 / (sqrt($W2)*$W2); // ЋqЊЯђь‹И—¦”јЊaM
$N = $a / sqrt($W2); // ‰K“Сђь‹И—¦”јЊa
$t1 = $M * $radLatDiff;
$t2 = $N * cos($radLatAve) * $radLonDiff;
$dist = number_format(sqrt(($t1*$t1) + ($t2*$t2)),1,".","");
return $dist;
}
function gps_conv($data_)
{
$int_ = floor($data_ / 100);
$dec_ = $data_ / 100 - $int_;
$cnv_data = number_format($int_ + $dec_/60 * 100.0,6,".","");
return $cnv_data;
}
//$b_lon = 139.939078;
//$b_lat = 36.907515;
//$b_lon = 139.938390;
//$b_lat = 36.908520;
$b_lon = 139.938612;
$b_lat = 36.907460;
//$b_lon = 139.939102;
//$b_lat = 36.907544;
//$b_lon = 139.938293;
//$b_lat = 36.908503;
//$b_lon = 139.938599;
//$b_lat = 36.907381;
/*
>>> logger_latitude = 3540.8061
>>> decimal, integer = math.modf(logger_latitude/100.0)
>>> gps_latitude = integer + decimal / 60.0 * 100.0
>>> gps_latitude
35.68010166666666
$l
*/
$file_ = "20190312_edit3";
$file_name = $file_ .".log";
$out_file_name = $file_ ."_3.csv";
$fp = fopen("./gps/" .$file_name , "r");
$fp2 = fopen($out_file_name, "w");
while (!feof($fp)) {
// fgets‚Еѓtѓ@ѓCѓ‹‚р“З‚ЭЌћ‚ЭЃA•Пђ”‚ЙЉi”[
$txt = fgets($fp);
// if(strpos($txt,'[') !== false)
// {
// fwrite($fp2,$txt ."\n");
// }
// if(strpos($txt,'GPGSA') !== false)
if(strpos($txt,'GPGGA') !== false)
{
$a = explode(",",$txt);
$ct = count($a);
if($ct >= 6)
{
$gps_date_tmp = date("Y-m-d H:i:s" ,mktime(substr($a[1],0,2), substr($a[1],2,2), substr($a[1],4,2), 03, 12, 2019) + 32400);
$lat_ = gps_conv($a[2]);
$lon_ = gps_conv($a[4]);
$dist = distance($b_lat, $b_lon, $lat_, $lon_, $mode=true);
fwrite($fp2,$gps_date_tmp ."," .$lat_ ."," .$lon_ ."," .$dist ."\n");
//fwrite($fp2,$a[15] ."\n");
}
}
// ѓtѓ@ѓCѓ‹‚р“З‚ЭЌћ‚с‚ѕ•Пђ”‚рЏo—Н
// echo $txt.'\n';
}
fclose($fp);
fclose($fp2);
?>