File "gps_data_view.php"
Full path: /www/db_bk/4/gps_data_view.php
File size: 10.5 KiB (10749 bytes)
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>リアルタイム測位データ</title>
<!-- css -->
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<!-- page org style -->
<link href="./style/basic2.css" rel="stylesheet">
</head>
<body>
<?php //print date("H:i:s",time()) ."(テスト表示用)"; ?>
<!-- Main Contents -->
<main>
<div class="container-fluid">
<!-- page header -->
<div class="row mb-2">
<div class="col-12">
<div class="title p-2 border rounded text-center"><FONT SIZE='6'>リアルタイム測位データ</FONT></div>
</div>
</div>
<!-- page contents -->
<?php
//現在のフォルダ名をIDとして使用
$path = explode("/" ,getcwd());
$ct = count($path) -1;
$id =$path[$ct];
//初期データ
$offset_file = "/www/ichimill/" .$id ."/offset.txt";
$timeset_file = "/www/ichimill/" .$id ."/timeset.txt";
$offset_file2 = "/www/ichimill/" .$id ."/offset2.txt";
$timeset_file2 = "/www/ichimill/" .$id ."/timeset2.txt";
$basegps_file = "/www/ichimill/" .$id ."/gps_base.txt";
$series_number_file = "/www/ichimill/" .$id ."/series_number.txt";
$series_number_list = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
// ===============================================
// DB接続準備
// ===============================================
$DATA_TABLE = "gps.rtk_data_v_10m" .$id;
$DATA_TABLE2 = "gps.rtk_data_regist" .$id;
$HOST = "localhost";
$DB = "ichimill";
$USER = "postgres";
$PASS = "postgres";
$conn = pg_connect("
host = ". $HOST. "
dbname = ". $DB. "
user = ". $USER. "
password= ". $PASS. "
");
//抽出データ範囲
$now_date = time();
$timeset =file_get_contents($timeset_file);
$start_time = date("Y-m-d H:i:s" ,$now_date - $timeset);
$sql = "SELECT * FROM " .$DATA_TABLE ." WHERE gps_date >= '" .$start_time ."' order by gps_date limit 1";
$res = pg_query($conn, $sql) or die("SQL ERROR!!<br />". $sql.pg_last_error());
$ct = pg_num_rows($res);
$row = pg_fetch_array($res,0);
if($ct) file_put_contents($basegps_file ,$row['latitude'] ."," .$row['longitude'] ."," .$row['gps_altitude']);
EXTRACT($_POST);
// print_r($_POST);
if($_POST['regist'])
{
//最新データを取得
$get_data = file_get_contents("/www/ichimill/" .$id ."/new_data.csv");
$data_split = explode(',',$get_data);
file_put_contents($series_number_file ,$row['latitude'] ."," .$row['longitude'] ."," .$row['gps_altitude']);
//平面直角座標 変換
$url = "https://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/bl2xy.pl?" ."outputType=json&refFrame=2&zone=" .$_POST['s_no'] ."&latitude=" .$row['latitude'] ."&longitude=" .$row['longitude'];
$data = file_get_contents($url);
$params = json_decode($data, true);
$x = $params['OutputData']['publicX'];
$y = $params['OutputData']['publicY'];
//ジオイド取得
$url2 = "http://vldb.gsi.go.jp/sokuchi/surveycalc/geoid/calcgh/cgi/geoidcalc.pl?" ."outputType=json&refFrame=2&latitude=" .$row['latitude'] ."&longitude=" .$row['longitude'];
$data2 = file_get_contents($url2);
$params2 = json_decode($data2, true);
$elevation = $data_split[8] - $params2['OutputData']['geoidHeight'];
file_put_contents($series_number_file ,$_POST['s_no']);
// print "x=" .$params['OutputData']['publicX'] .",";
// print "y=" .$params['OutputData']['publicY'] ."<BR>";
//標高計算
$insert = "INSERT INTO " .$DATA_TABLE2 ."(";
$insert .= "gps_date, latitude, longitude, gps_altitude ,position_type_name,remarks,file_name,del_flag,x,y,elevation,s_no)";
$insert .= "VALUES (";
$insert .= "'" .$data_split[3] ."',";
$insert .= $data_split[5] .",";
$insert .= $data_split[6] .",";
$insert .= $data_split[8] .",";
$insert .= "'" .$data_split[9] ."',";
$insert .= "'" .$_POST['remarks'] ."',";
$insert .= "'" .$_POST['point_name'] ."',";
$insert .= "'false',";
$insert .= $x .",";
$insert .= $y .",";
$insert .= $elevation ."," ;
$insert .= $_POST['s_no'] ."" ;
$insert .= ")";
$res = pg_query($conn, $insert) or die("SQL ERROR!!<br />". $insert.pg_last_error());
}
if($_POST['set'])
{
if($_POST['offset']) file_put_contents($offset_file ,$_POST['offset']);
if($_POST['timeset']) file_put_contents($timeset_file ,$_POST['timeset']);
if($_POST['offset2']) file_put_contents($offset_file2 ,$_POST['offset2']);
if($_POST['timeset2']) file_put_contents($timeset_file2 ,$_POST['timeset2']);
}
$offset =file_get_contents($offset_file);
$timeset =file_get_contents($timeset_file);
$offset2 =file_get_contents($offset_file2);
$timeset2 =file_get_contents($timeset_file2);
$series_number = file_get_contents($series_number_file);
//グラフの表示設定
$imgFileName = "view_map.php?id=".$id;
$imgFileName2 = "view_map2.php?id=".$id;
$imgFileName3 = "view_map3.php?id=".$id;
print "<SCRIPT LANGUAGE='JavaScript'>";
print "function RefreshImg(URL_,id)";
print "{";
// print "console.log(" .URL_ .");";
print "uniq = new Date();";
print "uniq = \"?\"+ \"id=\" + id +\"&\" +uniq.getTime();";
print "newImage = document.imgToLoad.src;";
print "newImage2 = document.imgToLoad2.src;";
print "newImage3 = document.imgToLoad3.src;";
print "index = newImage.indexOf(\"?\", 0);";
print "index2 = newImage2.indexOf(\"?\", 0);";
print "index3 = newImage3.indexOf(\"?\", 0);";
print " if (index > 0)";
print " {";
print " newImage = newImage.substr(0, index);";
print " newImage2 = newImage2.substr(0, index2);";
print " newImage3 = newImage3.substr(0, index3);";
print " }";
print " if(URL_ == 0)";
print " {";
print " document.imgToLoad.src = 'view_map.php'+uniq;";
print " }";
print " else if(URL_ == 1)";
print " {";
print " document.imgToLoad2.src = 'view_map2.php'+uniq;";
print " }";
print " else if(URL_ == 2)";
print " {";
print " document.imgToLoad3.src = 'view_map3.php'+uniq;";
print " }";
print "}";
print "</SCRIPT>";
print "</head>";
print "<TABLE BORDER='2'>";
print "<TR>";
print "<TD>";
print "<TABLE BORDER='0'>";
print "<TR><TD COLSPAN='2'>";
print "<div style='height:160px;'>";
print "<IMG SRC='" .$imgFileName ."' align='top' ALT='LiveCamera' name=imgToLoad onload='setTimeout(\"RefreshImg(0,$id)\", 1000)' onerror='setTimeout(\"RefreshImg(0,$id)\", 5000)' onabort='setTimeout(\"RefreshImg(0,$id)\", 10000)' id=imgToLoad4 naturalsizeflag=0>";
print "</div>";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD COLSPAN='2'>";
print "<form action='gps_data_view.php' method='post'>";
print "登録地点名: <INPUT TYPE='text' size='22' NAME='point_name'>";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD COLSPAN='2'>";
print "備 考: <INPUT TYPE='text' size='22' NAME='remarks'>";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD>";
print "系番号";
Pulldown_create(50 ,$series_number_list,$series_number);
print "<INPUT TYPE='submit' name='regist' VALUE='現在地登録' style='width:150px;height:50px' >";
print "</form>";
print "</TD>";
print "<TD>";
print "<form action='regist.php' method='post' TARGET='_BLANK'>";
print "<INPUT TYPE='submit' name='regist' VALUE='登録確認' style='width:90px;height:50px' >";
print "</form>";
print "</TD></TR>";
print "</TABLE>";
print "</TD>";
print "</TR>";
print "</TABLE>";
print "<BR>";
print "<TABLE BORDER='0'>";
print "<TR>";
print "<TD>";
print "<form action='gps_data_view.php' method='post'>";
print "基準からのずれ: ± <INPUT TYPE='text' size='10' NAME='offset' VALUE='" .$offset."'>";
print "</TD>";
print "<TD>";
print "</TD>";
print "<TD ROWSPAN='2'>";
print "<INPUT TYPE='submit' name='set' VALUE='更新' style='width:80px;height:60px' >";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD>";
print "計測時間(秒): <INPUT TYPE='text' size='10' NAME='timeset' VALUE='" .$timeset."'>";
print "</TD>";
print "<TD>";
print "</TD>";
print "<TD>";
print "</TD>";
print "</TR>";
print "</TABLE>";
print "</form>";
print "<div style='height:560px;'>";
print "<IMG SRC='" .$imgFileName2 ."' align='top' ALT='LiveCamera' name=imgToLoad2 onload='setTimeout(\"RefreshImg(1,$id)\", 1000)' onerror='setTimeout(\"RefreshImg(1,$id)\", 5000)' onabort='setTimeout(\"RefreshImg(1,$id)\", 10000)' id=imgToLoad0 naturalsizeflag=0>";
print "</div>";
print "<TABLE BORDER='0'>";
print "<TR>";
print "<TD>";
print "<form action='gps_data_view.php' method='post'>";
print "基準からのずれ: ± <INPUT TYPE='text' size='10' NAME='offset2' VALUE='" .$offset2."'>";
print "</TD>";
print "<TD>";
print "</TD>";
print "<TD ROWSPAN='2'>";
print "<INPUT TYPE='submit' name='set' VALUE='更新' style='width:80px;height:60px' >";
print "</TD>";
print "</TR>";
print "<TR>";
print "<TD>";
print "計測時間(秒): <INPUT TYPE='text' size='10' NAME='timeset2' VALUE='" .$timeset2."'>";
print "</TD>";
print "<TD>";
print "</TD>";
print "<TD>";
print "</TD>";
print "</TR>";
print "</TABLE>";
print "</form>";
print "<div style='height:300px;'>";
print "<IMG SRC='" .$imgFileName3 ."' align='top' ALT='LiveCamera' name=imgToLoad3 onload='setTimeout(\"RefreshImg(2,$id)\", 1000)' onerror='setTimeout(\"RefreshImg(2,$id)\", 5000)' onabort='setTimeout(\"RefreshImg(2,$id)\", 10000)' id=imgToLoad0 naturalsizeflag=0>";
print "</div>";
function Pulldown_create($width ,$data_,$selected)
{
$value_ct = count($data_);
print "<select name='s_no' style='width:" .$width ."px;'>";
for($j= 0 ;$j < $value_ct;$j++)
{
//$unix = strtotime($data_[$j]);
$sel = ($data_[$j] == $selected) ? "selected" : "";
print "<option value='" .$data_[$j] ."' " .$sel ." >" .$data_[$j] ."</option>";
}
print "</select>";
}
?>
</main>
</body>
</html>