File "view_overall_OLD20160711.php"
Full path: /www/ansys/rctm/002_hitachinaka_2/map/OLD/view_overall_OLD20160711.php
File size: 25.23 KiB (25832 bytes)
MIME-type: text/x-php
Charset: utf-8
<?php
function retShipSimbol($point_, $direction_, $mapDegree_)
{
$ret = -1;
if ($direction_ == -1)
return -1;
$ret = array();
$ret[0]["x"] = $point_["x"];
$ret[0]["y"] = $point_["y"];
$ret[1]["x"] = floor($point_["x"] + (25 * cos(deg2rad($direction_ - 90 - $mapDegree_))));
$ret[1]["y"] = floor($point_["y"] + (25 * sin(deg2rad($direction_ - 90 - $mapDegree_))));
$ret[2]["x"] = floor($point_["x"] + (12 * cos(deg2rad($direction_ - 90 - $mapDegree_))));
$ret[2]["y"] = floor($point_["y"] + (12 * sin(deg2rad($direction_ - 90 - $mapDegree_))));
$ret[3]["x"] = floor($point_["x"] + (8 * cos(deg2rad($direction_ - 90 + 120 - $mapDegree_))));
$ret[3]["y"] = floor($point_["y"] + (8 * sin(deg2rad($direction_ - 90 + 120 - $mapDegree_))));
$ret[4]["x"] = floor($point_["x"] + (8 * cos(deg2rad($direction_ - 90 - 120 - $mapDegree_))));
$ret[4]["y"] = floor($point_["y"] + (8 * sin(deg2rad($direction_ - 90 - 120 - $mapDegree_))));
return $ret;
}
function deleteFile($dir)
{
if (!$handle=opendir($dir))
return;
while($filename=readdir($handle))
{
if(!preg_match("/^\./", $filename))
{
if (!unlink("$dir/$filename"));
return;
}
}
}
function ColorConvert($colorcode)
{
$colorcode = preg_replace("/#/", "", $colorcode);
$ColorC[0] = hexdec(substr($colorcode, 0, 2));
$ColorC[1] = hexdec(substr($colorcode, 2, 2));
$ColorC[2] = hexdec(substr($colorcode, 4, 2));
return $ColorC;
}
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
// 自動でクラスを参照する
// 関数名 : __autoload()
// 備考 : 参照先は./class/XXX.phpとする
// 更新 : 2012/10/19 KMK-Teraoka
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
function __autoload($className)
{
$fPath = "./class/" . str_replace("_", "/", $className) . ".php";
require_once $fPath;
}
//===============================================
// DEBUG_MODE
// 備考 :
// 更新 : 2012/10/19 KMK-Teraoka
//===============================================
define("DEBUG_MODE", "0");
Debug::setMode(DEBUG_MODE);
if (DEBUG_MODE == 1)
{
Stopwatch::start();
}
extract($_POST);
extract($_GET);
//print_r($_POST);
//print_r($_GET);
//===============================================
// CommonUtilities
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
//===============================================
$SCRIPT_TITLE = "運航管理システム -船舶位置確認-";
$PENTA_OCEAN = "五洋・菅原特定建設工事共同企業体";
$TAIL_PENTA_OCEAN = "penta-ocean";
$HOST = "192.168.100.153";
$DB = "ansys";
$USER = "postgres";
$PASS = "am#71ZJ*";
$LOG_FILE = "./log/view.log";
$CONST_ID = 12;
$APPLICATION_ID = 23;
$MAP_NAME = "./scmap/orig_all.png";
$MAP_NAME_ZOOM = "./scmap/webpage2.png";
$ZOOM_MAP_DEGREE = 36.029;
$R_VAL = array(255, 204, 204, 204, 204, 153, 153, 100, 102, 102, 255, 153);
$G_VAL = array(102, 255, 102, 153, 255, 0, 51, 0, 204, 51, 0, 153);
$B_VAL = array( 0, 0, 102, 255, 255, 51, 255, 0, 153, 255, 153, 0);
$ENABLE_SEC = 600;
$ENABLE_DATETIME = date("Y-m-d H:i:s", time() - $ENABLE_SEC);
$now_t = time();
//================================================
// データベース接続
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
//================================================
$conn = pg_connect("
host = ". $HOST. "
dbname = ". $DB. "
user = ". $USER. "
password= ". $PASS. "
");
if (!$conn)
{
throw new Exception("データベースへの接続に失敗しました");
}
//===============================================
// HTML-HEAD-
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "<html>";
print "<head>";
//print "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">";
//print "<meta http-equiv=\"Refresh\" content=\"30\">";
print "<link rel=\"stylesheet\" type=\"text/css\" href=\"/ansys/config/css/style.css\">";
print "<link rel=\"shortcut icon\" href=\"/ansys/config/favicon.ico\">";
print "<title>". $SCRIPT_TITLE. "</title>";
//print "<script src='./lib/jquery-2.0.3/jquery-2.0.3.min.js'></script>";
//print "<script src='./lib/jquery-ui-1.10.3/jquery-ui.min.js'></script>";
//print "<script src='./lib/three-67/three.min.js'></script>";
//print "<script src='./lib/three-67/TrackballControls_kmkt.js'></script>";
//print "<script src='./lib/three-67/helvetiker_bold.typeface.js'></script>";
//print "<script src='./lib/jquery-cookie/jquery.cookie.js'></script>";
print "</head>";
//===============================================
// HTML-BODY部開始-
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "<body>";
/*
print "<center>";
print "<font size=\"3\">";
print "<b>";
print "". $SCRIPT_TITLE. "<br>";
print "</b>";
print "</font>";
print "</center>";
*/
?>
<script type="text/javascript">
function DataDelete(AreaName_,AreaId_) {
// 「OK」時の処理開始 + 確認ダイアログの表示
if(window.confirm('"' + AreaName_ + '"を削除します。'))
{
location.href = "view_overall.php?del=" + AreaId_ ; // example_confirm.html へジャンプ
}
// 「OK」時の処理終了
// 「キャンセル」時の処理開始
else
{
location.href = "view_overall.php";
// window.alert('"' + AreaName_ + '"を削除しました。'); // 警告ダイアログを表示
}
// 「キャンセル」時の処理終了
}
</script>
<?php
try
{
// tmpディレクトリ内のファイルを削除
deleteFile("./tmp_o");
$_log = new Log($LOG_FILE);
// ===============================================
// 画像情報の取得
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
// ===============================================
$imgSize = getimagesize($MAP_NAME);
// $zoomImgSize = getimagesize($MAP_NAME_ZOOM);
$imgFileName = "./tmp_o/". $CONST_ID. "_". $APPLICATION_ID. "_". md5(uniqid(rand(), true)) .image_type_to_extension($imgSize[2]);
$AreaFileName = "./area.txt";
/*
if(!strcmp($AreaInput,"入力"))
{
if($Lat1 && $Lon1 && $Lat2 && $Lon2 && $Lat3 && $Lon3)
{
$fp = fopen($AreaFileName, "w");
fwrite($fp, $Lat1 ."," .$Lon1 ."#" .$Lat2 ."," .$Lon2 ."#" .$Lat3 ."," .$Lon3);
if($Lat4 && $Lon4) fwrite($fp, "#" .$Lat4 ."," .$Lon4);
if($Lat5 && $Lon5) fwrite($fp, "#" .$Lat5 ."," .$Lon5);
fclose($fp);
}
else
{
}
}
*/
//20151019 ■■■エリア削除
//print "del= " .$del ."<BR>";
if($del)
{
$DelArea = "UPDATE qgis.area_status_2 SET ";
$DelArea .= "del_flg = 'TRUE' ";
$DelArea .= " WHERE list_id =" .$del .";";
//$_log->write($selTerm. "\n");
if (!($resDelArea = pg_query($conn, $DelArea)))
{
// print pg_last_error() ."<BR>";
// throw new Exception("データ取得に失敗<br />". $DelArea. "<br />". pg_last_error(). "<br />");
}
$selArea = "SELECT * FROM qgis.area_status_2";
$selArea .= " WHERE const_id='". $CONST_ID. "'";
$selArea .= " AND app_id='". $APPLICATION_ID. "'";
$selArea .= " AND del_flg = FALSE";
$selArea .= " ORDER BY list_id";
$selArea .= ";";
//print $selArea ."<BR>";
if (!($resArea = pg_query($conn, $selArea)))
{
//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
//print pg_last_error() ;
}
$rowA = pg_num_rows($resArea);
$fp = fopen($AreaFileName, "w");
for($iCount = 0; $iCount < $rowA; $iCount++)
{
$rowArea = pg_fetch_array($resArea, $iCount, PGSQL_ASSOC);
$OutputData .= $rowArea['lat1'] ."," .$rowArea['lon1'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'];
$OutputData .= "#" .$rowArea['lat2'] ."," .$rowArea['lon2'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'];
$OutputData .= "#" .$rowArea['lat3'] ."," .$rowArea['lon3'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'];
$OutputData .= ($rowArea['lat4']) ? "#" .$rowArea['lat4'] ."," .$rowArea['lon4'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat5']) ? "#" .$rowArea['lat5'] ."," .$rowArea['lon5'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat6']) ? "#" .$rowArea['lat6'] ."," .$rowArea['lon6'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat7']) ? "#" .$rowArea['lat7'] ."," .$rowArea['lon7'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat8']) ? "#" .$rowArea['lat8'] ."," .$rowArea['lon8'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat9']) ? "#" .$rowArea['lat9'] ."," .$rowArea['lon9'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
$OutputData .= ($rowArea['lat10']) ? "#" .$rowArea['lat10'] ."," .$rowArea['lon10'] ."," .$rowArea['list_id'] ."," .$rowArea['legend_color']."," .$rowArea['area_name'] :"";
if(($rowA-1) != $iCount) $OutputData .= "#";
}
fwrite($fp, $OutputData);
fclose($fp);
}
//20151001 追加
// $AreaData = file_get_contents($AreaFileName);
// $Area = split("#", $AreaData);
// ===============================================
// 基準点情報
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
// ===============================================
// $ltLon = 140.62380; //経度(左上)
// $ltLat = 36.42613; //緯度(左上)
// $rbLon = 140.61533; //経度(右下)
// $rbLat = 36.41504; //緯度(右下)
// $ltX = 112; // 左上X座標
// $ltY = 359; // 左上Y座標
// $rbX = 929; // 右下X座標
// $rbY = 854; // 右下Y座標
$ltLon = 140.62993; //経度(左上)
$ltLat = 36.42755; //緯度(左上)
$rbLon = 140.61488; //経度(右下)
$rbLat = 36.41410; //緯度(右下)
$ltX = 5; // 左上X座標
$ltY = 2; // 左上Y座標
$rbX = 1152; // 右下X座標
$rbY = 1021; // 右下Y座標
//0,40,36.42829978,140.62994
//1227,935,36.4056804,140.6091508
$ltLon = 140.62994; //経度(左上)
$ltLat = 36.42829978; //緯度(左上)
$rbLon = 140.6091508; //経度(右下)
$rbLat = 36.4056804; //緯度(右下)
$ltX = 0; // 左上X座標
$ltY = 40; // 左上Y座標
$rbX = 1227; // 右下X座標
$rbY = 935; // 右下Y座標
$diffX = $rbX - $ltX; // X座標ピクセルの差を求める
$diffY = $rbY - $ltY; // Y座標ピクセルの差を求める
$spX = number_format(($rbLat - $ltLat) / $diffX, 10); // X座標の倍率を求める
// $spY = number_format(($ltLat - $rbLat) / $diffY, 10); // Y座標の倍率を求める
$spY = number_format(($rbLon - $ltLon) / $diffY, 10); // Y座標の倍率を求める
// ===============================================
// 基準点情報2
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
// ===============================================
$ltLonZm = 139.8023727; //経度(左上)
$ltLatZm = 35.58572163; //緯度(左上)
$rbLonZm = 139.8100264; //経度(右下)
$rbLatZm = 35.57928836; //緯度(右下)
$ltXZm = 18; // 左上X座標
$ltYZm = 72; // 左上Y座標
$rbXZm = 399; // 右下X座標
$rbYZm = 139; // 右下Y座標
// 回転させてから比率を求める
$ltXZm = 17 * cos(deg2rad($ZOOM_MAP_DEGREE)) - 73 * sin(deg2rad($ZOOM_MAP_DEGREE));
$ltYZm = 17 * sin(deg2rad($ZOOM_MAP_DEGREE)) + 73 * cos(deg2rad($ZOOM_MAP_DEGREE));
$rbXZm = 384 * cos(deg2rad($ZOOM_MAP_DEGREE)) - 136 * sin(deg2rad($ZOOM_MAP_DEGREE));
$rbYZm = 384 * sin(deg2rad($ZOOM_MAP_DEGREE)) + 136 * cos(deg2rad($ZOOM_MAP_DEGREE));
$diffXZm = $rbXZm - $ltXZm; // X座標ピクセルの差を求める
$diffYZm = $rbYZm - $ltYZm; // Y座標ピクセルの差を求める
$spXZm = number_format(($rbLonZm - $ltLonZm) / $diffXZm, 10); // X座標の倍率を求める
$spYZm = number_format(($ltLatZm - $rbLatZm) / $diffYZm, 10); // Y座標の倍率を求める
// ===============================================
// GD処理準備
// 備考 :
// 更新 : 2010/09/08 KMK T.Teraoka
// ===============================================
$src = ImageCreateFromPNG($MAP_NAME); //パレットへ貼り付ける画像指定(地図画像)
// $src2 = ImageCreateFromPNG($MAP_NAME_ZOOM);
$img = imagecreatetruecolor($imgSize[0], $imgSize[1]); //パレットの作成
// $zoomImg = imagecreatetruecolor($zoomImgSize[0], $zoomImgSize[1]);
imagecopy($img, $src, 0, 0, 0, 0, $imgSize[0], $imgSize[1]); //画像をパレットへ貼り付け
// imagecopy($zoomImg, $src2, 0, 0, 0, 0, $zoomImgSize[0], $zoomImgSize[1]);
$font1 = "/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf";
// imagesetthickness($img, $THIC);
// imagesetthickness($img, $THIC);
// 使用色の準備
$Black = imagecolorallocate($img, 0,0,0);
// $BlackZm = imagecolorallocate($zoomImg, 0,0,0);
$White = imagecolorallocate($img, 255, 255, 255);
// $WhiteZm = imagecolorallocate($zoomImg, 255, 255, 255);
// 更新時間をマップに表示する
//$update = date("H:i:s" ,time());
//imagefilledpolygon($img, array(10, 10, 10, 20, 55, 20, 55, 10), 4, $White);
//ImageTTFText ($img, 8, 0, 10, 20, $Black, $font1, $update);
//20151001
$AreaData = file_get_contents($AreaFileName);
$Area = split("#", $AreaData);
$Act = count($Area);
$AreaCt = 1;
$AreaNo2 = 0;
if($Act > 2)
{
$values = array();
for($AA = 0;$AA < $Act;$AA++)
{
$Adata =split(",", $Area[$AA]);
if(($AA + 1) < $Act)
{
$Adata2 = split(",", $Area[$AA+1]);
$AreaNo2 = $Adata2[2];
}
else
{
$AreaNo2 = 0;
}
$values[] = ($Adata[0]-$ltLat) / $spX + $ltX;
$values[] = ($Adata[1]- $ltLon) / $spY + $ltY;
if(($Adata[2] != $AreaNo2))
{
$SetColor = ColorConvert($Adata[3]);
$AreaCol = imagecolorallocate($img, $SetColor[0],$SetColor[1],$SetColor[2]);
$AreaAlpha = imagecolorallocatealpha($img, $SetColor[0],$SetColor[1],$SetColor[2], 75);
imagefilledpolygon($img, $values, $AreaCt, $AreaAlpha);
imagepolygon($img, $values, $AreaCt, $AreaCol);
$values = array();
$AreaCt = 1;
}
else
{
$AreaCt += 1;
}
}
}
// ===============================================
// 位置を取得する
// 備考 :
// 更新 : 2012/11/29 KMK T.Teraoka
// ===============================================
$RTime = date("Y-m-d H:i:s" ,time() - 600);
$selTerm = "SELECT * FROM qgis.ts_terminal";
$selTerm .= " WHERE const_id='". $CONST_ID. "'";
$selTerm .= " AND app_id='". $APPLICATION_ID. "'";
//$selTerm .= " AND mesdatetime >= '". $ENABLE_DATETIME. "'";
$selTerm .= " AND mesdatetime > '". $RTime. "'";
$selTerm .= " ORDER BY android_id";
$selTerm .= ";";
//$_log->write($selTerm. "\n");
if (!($resTerm = pg_query($conn, $selTerm)))
{
throw new Exception("データ取得に失敗<br />". $resTerm. "<br />". pg_last_error(). "<br />");
}
$shipCol = imagecolorallocate($img, 255, 165, 0);
$zmShipCol = imagecolorallocate($img, 255, 165, 0);
$zmSyunCol = imagecolorallocate($img, 0, 102, 253);
$row = pg_num_rows($resTerm);
// ImageTTFText($img, 12, 0, 300, 200, $Black, $font1, $spX ."__" .$spY);
for($iCount = 0; $iCount < $row; $iCount++)
{
$rowTerm = pg_fetch_array($resTerm, $iCount, PGSQL_ASSOC);
//var_dump($rowTerm);
if (0 != strcmp($rowTerm["lat"], "") && 0 != strcmp($rowTerm["lon"], "") && strcmp($rowTerm["android_id"], "8041c3ba7d4843c1") != 0)
{
// 基準点1
//
if (strcmp($rowTerm["android_id"], "a237b48012d8873e") != 0 && strcmp($rowTerm["android_id"], "26f784b2293665d0") != 0 && strcmp($rowTerm["android_id"], "db9739dd1cfbc823") != 0)
{
$point = array();
$point["x"] = ($rowTerm["lat"] - $ltLat) / $spX + $ltX;
$point["y"] = ($rowTerm["lon"] - $ltLon) / $spY + $ltY;
// $rowTerm["lon"] = $point["x"] * $spX - $ltX * $spX + $ltLon;
// $rowTerm["lat"] = $ltLat - $point["y"] * $spY + $ltY*$spY
$shipSimbol = retShipSimbol($point, $rowTerm["direction"], 0);
if ($shipSimbol == -1)
{
$ellipSize = 8;
imagefilledellipse($img, $point["x"], $point["y"], $ellipSize, $ellipSize, $shipCol);
}
else
{
imageline($img, $shipSimbol[0]["x"], $shipSimbol[0]["y"], $shipSimbol[1]["x"], $shipSimbol[1]["y"], $shipCol);
imageline($img, $shipSimbol[2]["x"], $shipSimbol[2]["y"], $shipSimbol[3]["x"], $shipSimbol[3]["y"], $shipCol);
imageline($img, $shipSimbol[3]["x"], $shipSimbol[3]["y"], $shipSimbol[4]["x"], $shipSimbol[4]["y"], $shipCol);
imageline($img, $shipSimbol[4]["x"], $shipSimbol[4]["y"], $shipSimbol[2]["x"], $shipSimbol[2]["y"], $shipCol);
}
$length = strlen($rowTerm["terminal_name"]);
imagefilledrectangle($img, $point["x"] + 5, $point["y"] - 45, $point["x"] + 5 + ($length * 8), $point["y"] - 22, $White);
imagerectangle($img, $point["x"] + 5, $point["y"] - 45, $point["x"] + 5 + ($length * 8), $point["y"] - 22, $shipCol);
ImageTTFText($img, 12, 0, $point["x"] + 15, $point["y"] - 27, $Black, $font1, $rowTerm["terminal_name"]);
}
/*
// 基準点2
$point = array();
$px = ($rowTerm["lon"] - $ltLonZm) / $spXZm + $ltXZm;
$py = ($ltLatZm - $rowTerm["lat"]) / $spYZm + $ltYZm;
$point["x"] = $px * cos(deg2rad(-$ZOOM_MAP_DEGREE)) - $py * sin(deg2rad(-$ZOOM_MAP_DEGREE));
$point["y"] = $px * sin(deg2rad(-$ZOOM_MAP_DEGREE)) + $py * cos(deg2rad(-$ZOOM_MAP_DEGREE));
if (strcmp($rowTerm["android_id"], "a237b48012d8873e") != 0 && strcmp($rowTerm["android_id"], "26f784b2293665d0") != 0 && strcmp($rowTerm["android_id"], "db9739dd1cfbc823") != 0)
{
$shipSimbol = retShipSimbol($point, $rowTerm["direction"], $ZOOM_MAP_DEGREE);
if ($shipSimbol == -1)
{
$ellipSize = 8;
imagefilledellipse($zoomImg, $point["x"], $point["y"], $ellipSize, $ellipSize, $zmShipCol);
}
else
{
imageline($zoomImg, $shipSimbol[0]["x"], $shipSimbol[0]["y"], $shipSimbol[1]["x"], $shipSimbol[1]["y"], $zmShipCol);
imageline($zoomImg, $shipSimbol[2]["x"], $shipSimbol[2]["y"], $shipSimbol[3]["x"], $shipSimbol[3]["y"], $zmShipCol);
imageline($zoomImg, $shipSimbol[3]["x"], $shipSimbol[3]["y"], $shipSimbol[4]["x"], $shipSimbol[4]["y"], $zmShipCol);
imageline($zoomImg, $shipSimbol[4]["x"], $shipSimbol[4]["y"], $shipSimbol[2]["x"], $shipSimbol[2]["y"], $zmShipCol);
}
$length = strlen($rowTerm["terminal_name"]);
imagefilledrectangle($zoomImg, $point["x"] + 30, $point["y"] - 40, $point["x"] + 30 + ($length * 8), $point["y"] - 17, $White);
imagerectangle($zoomImg, $point["x"] + 30, $point["y"] - 40, $point["x"] + 30 + ($length * 8), $point["y"] - 17, $zmShipCol);
imageline($zoomImg, $point["x"] + 30, $point["y"] - 17, $point["x"], $point["y"], $zmShipCol);
ImageTTFText($zoomImg, 12, 0, $point["x"] + 40, $point["y"] - 22, $Black, $font1, $rowTerm["terminal_name"]);
}
else
{
$ellipSize = 8;
imagefilledellipse($zoomImg, $point["x"], $point["y"], $ellipSize, $ellipSize, $zmSyunCol);
$length = strlen($rowTerm["terminal_name"]);
imagefilledrectangle($zoomImg, $point["x"] + 30, $point["y"] - 40, $point["x"] + 30 + ($length * 8), $point["y"] - 17, $White);
imagerectangle($zoomImg, $point["x"] + 30, $point["y"] - 40, $point["x"] + 30 + ($length * 8), $point["y"] - 17, $zmSyunCol);
imageline($zoomImg, $point["x"] + 30, $point["y"] - 17, $point["x"], $point["y"], $zmSyunCol);
ImageTTFText($zoomImg, 12, 0, $point["x"] + 40, $point["y"] - 22, $Black, $font1, $rowTerm["terminal_name"]);
}
*/
}
}
/*
//-----------------------------------------------------------------------------------
// Debug
$FUNABASHI_ROUTE_LAT = 35.59561081;
$FUNABASHI_ROUTE_LON = 139.9843314;
$COUNT_AREA = array(
array("lat" => 35.62678039, "lon" => 140.0013295),
array("lat" => 35.63562604, "lon" => 140.0137459),
array("lat" => 35.62880063, "lon" => 140.0254795),
array("lat" => 35.62017771, "lon" => 140.0109185)
);
// $COUNT_AREA = array(
// array("lat" => 35.585232, "lon" => 139.804459),
// array("lat" => 35.581812, "lon" => 139.800081),
// array("lat" => 35.579438, "lon" => 139.804716),
// array("lat" => 35.582580, "lon" => 139.808836)
// );
$xa = ($FUNABASHI_ROUTE_LON - $ltLon) / $spX + $ltX;
$ya = ($ltLat - $FUNABASHI_ROUTE_LAT) / $spY + $ltY;
imagefilledellipse($img, $xa, $ya, 8, 8, $Black);
$pointa = array();
for($iCount = 0; $iCount < 4; $iCount++)
{
$pointa[$iCount]["x"] = ($COUNT_AREA[$iCount]["lon"] - $ltLon) / $spX + $ltX;
$pointa[$iCount]["y"] = ($ltLat - $COUNT_AREA[$iCount]["lat"]) / $spY + $ltY;
if ($iCount > 0)
{
imageline($img, $pointa[$iCount]["x"], $pointa[$iCount]["y"], $pointa[$iCount - 1]["x"], $pointa[$iCount - 1]["y"], $Black);
}
if ($iCount == 3)
{
imageline($img, $pointa[$iCount]["x"], $pointa[$iCount]["y"], $pointa[0]["x"], $pointa[0]["y"], $Black);
}
}
*/
//-----------------------------------------------------------------------------------
// imagerectangle($zoomImg, 0, 0, $zoomImgSize[0] - 1, $zoomImgSize[1] - 1, $BlackZm);
// imagecopy($img, $zoomImg, 0, 0, 0, 0, $zoomImgSize[0], $zoomImgSize[1]);
// ===============================================
// 描画した画像を保存 & パレットを削除
// 備考 :
// 更新 : 2010/09/08 KMK T.Teraoka
// ===============================================
imagepng($img, $imgFileName);
imagedestroy($img);
// imagedestroy($zoomImg);
imagedestroy($src);
// imagedestroy($src2);
// ===============================================
// 上で保存した画像を表示
// 備考 :
// 更新 : 2010/09/08 KMK T.Teraoka
// ===============================================
// print "<img src=\"". $imgFileName. "?t=$now_t\" galleryimg=\"no\" width=\"881\" height=\"590\">";
// print "<img src=\"". $imgFileName. "?t=$now_t\" galleryimg=\"no\" width=\"945\" height=\"1022\">";
// print "<right>";
/*
if (file_exists($imgFileName)) {
echo "$imgFileName が存在します";
} else {
echo "$imgFileName は存在しません";
}
*/
print "<center>";
print "<div style='position: relative;'>";
print "<img src=\"". $imgFileName. "?t=$now_t\" usemap=\"#map_1\" galleryimg=\"no\" width=\"550\" >";
print "<div style='position: relative; top: -485px; right: -240px;'>";
print "<form action=\"". "view_overall.php". "\" method=\"post\" style=\"display:inline\">";
print "<input type=\"submit\" name=\"reroad\" value=\"画面更新\" style=\"width:70px\">";
print "</form>";
// print " ";
// print "<B><FONT size ='2'>エリア名称</B> 設定色</B></FONT><BR>";
print "</div>";
print "<div style='position: relative; top: -465px; right: -240px;'>";
print "<form action=\"". "view_edit.php". "\" method=\"post\" target=\"_blank\" style=\"display:inline\">";
print "<input type=\"submit\" name=\"AreaInput\" value=\"エリア入力\" style=\"width:70px\">";
print "<BR><BR><BR>";
// print "<B><FONT SIZE='3'>設定中エリア</FONT><B>";
// print "<span style='background-color:#FF0000'>"
print "</form>";
print "</div>";
// ===============================================
// 帳票出力Formの作成
// 備考 :
// 更新 : 2013/06/17 KMK T.Teraoka
// ===============================================
$selArea = "SELECT * FROM qgis.area_status_2";
$selArea .= " WHERE const_id='". $CONST_ID. "'";
$selArea .= " AND app_id='". $APPLICATION_ID. "'";
$selArea .= " AND del_flg='FALSE'";
//$selArea .= " AND mesdatetime >= '". $ENABLE_DATETIME. "'";
$selArea .= " ORDER BY list_id";
$selArea .= ";";
if (!($resArea = pg_query($conn, $selArea)))
{
throw new Exception("データ取得に失敗<br />". $resTerm. "<br />". pg_last_error(). "<br />");
}
$rowA = pg_num_rows($resArea);
// print " ";
print "<div style='position: relative; top: -90px; right: -190px;'>";
print "<table>";
for($iCount = 0; $iCount < $rowA; $iCount++)
{
$rowArea = pg_fetch_array($resArea, $iCount, PGSQL_ASSOC);
// print "<td bgcolor='".$rowArea['legend_color'] ."'>";
print "<TR><TD bgcolor='".$rowArea['legend_color'] ."' height='10'>";
print "<FONT size='1'>" .$rowArea['area_name'] ."</FONT>";
print "<form action=\"". "view_edit.php". "\" method=\"post\" target=\"_blank\" style=\"display:inline\">";
print " ";
print "</TD>";
print "<TD>";
print "<input type=\"submit\" name=\"edit\" value=\"編集\" style=\"width:40px;font-size:10\">";
print "<input type=\"hidden\" name=\"upid\" value='" .$rowArea['list_id'] ."'>";
print "</form>";
print " ";
print "</TD>";
print "<TD>";
print "<input type=\"button\" name=\"delete" .$rowArea['list_id'] ."\" value=\"削除\" onclick='DataDelete(\"" .$rowArea['area_name'] ."\",\"" .$rowArea['list_id'] ."\");' style=\"width:40px;font-size:10\">";
print "</TD></TR>";
}
print "</table>";
print "</div>";
print "</div>";
print "</center>";
}
catch(Exception $exc)
{
$_log->write($exc->getMessage(). "\n");
}
// 戻る
//print "<br />";
//print "<a href=\"../index.php\">戻る</a>";
//===============================================
// Postgresql終了処理
// 備考 :
// 更新 : 2012/10/19 KMK-Teraoka
//===============================================
pg_close($conn);
//===============================================
// HTML終了処理
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "</body>";
print "</html>";
?>