<?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;
}

?>
