File "view_map_w2.php"
Full path: /www/waveheight/old/view_map_w2.php
File size: 5.34 KiB (5466 bytes)
MIME-type: text/x-php
Charset: utf-8
<?php
EXTRACT($_GET);
$id = $_GET['id'];
// ===============================================
// GD処理準備
// ===============================================
//表示データの読み込み
$DirPath = "/www/waveheight/data/".$id ."/data.csv";
$data = array();
//昇順表示
// exec('tail -n ' .$y_item .' ' .$DirPath , $data, $retval);
//降順表示
// exec('tac' .' ' .$DirPath .'| head -n ' .$y_item , $data, $retval);
exec('tac' .' ' .$DirPath , $data, $retval);
$data_ct = count($data);
//データを配列の代入
for($i=0;$i < $data_ct;$i++)
{
$wave_data[$i] = explode(",",$data[$i]);
}
$x_size = 700 + 1;
$y_size = $data_ct * 20 + 50 + 2;
//パレットの作成
$img = imagecreatetruecolor($x_size,$y_size);
$font1 = "/www/ansys/config/fonts/ipam.ttf";
// 使用色の準備
$Black = imagecolorallocate($img, 0,0,0);
$White = imagecolorallocate($img, 255, 255, 255);
$Red = imagecolorallocate($img, 255, 0, 0);
$Green = imagecolorallocate($img, 0, 128, 0);
$Blue = imagecolorallocate($img, 0, 0, 255);
$LightBlue = imagecolorallocate($img, 0, 191, 255);
$DarkBlue = imagecolorallocate($img, 0, 0, 139);
$lightsteelblue = imagecolorallocate($img, 176, 196, 222);
imagefilledrectangle($img,0,0,$x_size,$y_size,$White);
imagefilledrectangle($img,0,0,$x_size,50,$DarkBlue );
imagerectangle($img,0,50,$x_size-1,$y_size-1,$Black);
imagefilledrectangle($img,0,50,200,$y_size ,$lightsteelblue);
imagerectangle($img,0,50,200,$y_size-1,$Black);
imageline($img,200,0,200,50,$White);
imageline($img,300,0,300,50,$White);
imageline($img,400,0,400,50,$White);
imageline($img,500,0,500,50,$White);
imageline($img,600,0,600,50,$White);
imageline($img,200,50,200,$y_size,$Black);
imageline($img,300,50,300,$y_size,$Black);
imageline($img,400,50,400,$y_size,$Black);
imageline($img,500,50,500,$y_size,$Black);
imageline($img,600,50,600,$y_size,$Black);
ImageTTFText ($img, 11, 0, 75, 30, $White, $font1, "日時");
ImageTTFText ($img, 11, 0, 220,25, $White, $font1, "最大波高");
ImageTTFText ($img, 11, 0, 240, 40, $White, $font1, "(m)");
ImageTTFText ($img, 11, 0, 320, 25, $White, $font1, "最大周期");
ImageTTFText ($img, 11, 0, 340, 40, $White, $font1, "(s)");
ImageTTFText ($img, 11, 0, 410,25, $White, $font1, "有義波 波高");
ImageTTFText ($img, 11, 0, 440, 40, $White, $font1, "(m)");
ImageTTFText ($img, 11, 0, 510, 25, $White, $font1, "有義波 周期");
ImageTTFText ($img, 11, 0, 540, 40, $White, $font1, "(s)");
ImageTTFText ($img, 11, 0, 635, 30, $White, $font1, "波向");
//グラフの軸の作成
for($i = 0;$i < $data_ct;$i++)
{
$datetime_ = date("Y年m月d日 H時i分" ,$wave_data[$i][1]);
$wave_direction_ = conv_wave_direction($wave_data[$i][6]);
$ii = $i * 20;
imageline($img,0,50 + $ii ,$x_size,50+ $ii,$Black);
ImageTTFText ($img, 9, 0, 30, 50+ $ii+18, $Black, $font1, $datetime_);
ImageTTFText ($img, 9, 0, 240, 50+ $ii+18, $Black, $font1, number_format($wave_data[$i][2], 1, '.', ''));
if($id != 4324)
{
ImageTTFText ($img, 9, 0, 340, 50+ $ii+18, $Black, $font1, number_format($wave_data[$i][3], 1, '.', ''));
}
else
{
ImageTTFText ($img, 9, 0, 340, 50+ $ii+18, $Black, $font1, "---");
}
ImageTTFText ($img, 9, 0, 440, 50+ $ii+18, $Black, $font1, number_format($wave_data[$i][4], 1, '.', ''));
ImageTTFText ($img, 9, 0, 540, 50+ $ii+18, $Black, $font1, number_format($wave_data[$i][5], 1, '.', ''));
ImageTTFText ($img, 9, 0, 645, 50+ $ii+18, $Black, $font1, $wave_direction_);
}
// ===============================================
// 描画した画像を保存 & パレットを削除
// ===============================================
header('Content-Type: image/png');
// imagepng($img, $imgFileName);
imagepng($img);
imagedestroy($img);
//[関数]
//●波向きの変換
function conv_wave_direction($wave_direction_){
$direction = 0;
if($wave_direction_ == 999)
{
$direction = "--";
}
else if($wave_direction_ >= 348.75 || ($wave_direction_ >= 0 && $wave_direction_ <11.25))
{
$direction = "N";
}
else if($wave_direction_ >= 11.25 && $wave_direction_ <33.75)
{
$direction = "NNE";
}
else if($wave_direction_ >= 33.75 && $wave_direction_ <56.25)
{
$direction = "NE";
}
else if($wave_direction_ >= 56.25 && $wave_direction_ <78.75)
{
$direction = "ENE";
}
else if($wave_direction_ >= 78.75 && $wave_direction_ <101.25)
{
$direction = "E";
}
else if($wave_direction_ >= 101.25 && $wave_direction_ <123.75)
{
$direction = "ESE";
}
else if($wave_direction_ >= 123.75 && $wave_direction_ <146.25)
{
$direction = "SE";
}
else if($wave_direction_ >= 146.25 && $wave_direction_ <168.75)
{
$direction = "SSE";
}
else if($wave_direction_ >= 168.75 && $wave_direction_ <191.25)
{
$direction = "S";
}
else if($wave_direction_ >= 191.25 && $wave_direction_ <213.75)
{
$direction = "SSW";
}
else if($wave_direction_ >= 213.75 && $wave_direction_ <236.25)
{
$direction = "SW";
}
else if($wave_direction_ >= 236.25 && $wave_direction_ <258.75)
{
$direction = "WSW";
}
else if($wave_direction_ >= 258.75 && $wave_direction_ <281.25)
{
$direction = "W";
}
else if($wave_direction_ >= 281.25 && $wave_direction_ <303.75)
{
$direction = "WNW";
}
else if($wave_direction_ >= 303.75 && $wave_direction_ <326.25)
{
$direction = "NW";
}
else if($wave_direction_ >= 326.25 && $wave_direction_ <348.75)
{
$direction = "NNW";
}
return $direction;
}
?>