File "map2.php"

Full path: /www/ansys/qgis/005_honmoku/map/map2.php
File size: 10.9 KiB (11157 bytes)
MIME-type: text/xml
Charset: utf-8

Download   Open   Back

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Refresh" content="30">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta equiv="expires" content="0">
<title>運行管理システム-横浜港南本牧地区-</title>
<meta http-equiv="imagetoolbar" content="no">
<!--ie image gizmo OFF!-->

<style type="text/css">
#map {
	width: 1100px;
	height: 610px;
	border: 1px solid black;
}
h1 {
	font-family: Utopia,Arial, Helvetica, sans-serif;
	font-size: 28px;
	line-height: 32px;
	color: #005599;
}
#features {
	margin-top: 5px;
	font-size: small;
}
table, table td, table th {
	border: 1px solid #DDD;
	border-collapse: collapse;
	margin: 0;
	text-align: center;
	padding: 1px 3px;
}
table th {
	background-color: #EEE;
	font-weight: bold;
}

.olControlButtonItemActive {
	position : absolute;
	top : 0px;
	right : 0px;
	width : 18px;
	height : 20px;
	background-color : blue;
	background-image : url("./img/def.gif");
	background-repeat : no-repeat;
}

.olControlPanel {
	top : 84px;
	right : 1065px;
	width : 16px;
	height : 18px;
	border : 0px solid black;
}

</style>

<?php
//----------------------
// const
//----------------------
$WORK_STATUS = 0;
$enableSec = 600;
$enableDateTime = date("Y-m-d H:i:s", time() - $enableSec);

//データベース接続
$HOST = "192.168.100.153";
$DB = "ansys";
$USER = "postgres";
$PASS = "am#71ZJ*";

$conn = pg_connect("
	host	=	". $HOST. "
	dbname	=	". $DB. "
	user	=	". $USER. "
	password=	". $PASS. "
") or die("接続エラー". $HOST. "--". $DB. "--". $USER. "--". $PASS. pg_last_error());

$sql = "SELECT * FROM qgis.ts_terminal";
$sql .= " WHERE app_id='14'";
$sql .= " AND const_id='8'";
$sql .= " AND mesdatetime >= '". $enableDateTime. "'";
if (strcmp($WORK_STATUS, 0) != 0)
{
	$sql .= " AND work_status='". $WORK_STATUS. "'";
}
$sql .= " ORDER BY regdatetime;";
$res = pg_query($conn, $sql) or die (pg_last_error(). "<br>". $sql. "<br />");
$Ct = pg_num_rows($res);
for($iCount = 0; $iCount < $Ct; $iCount++)
{
	$row = pg_fetch_array($res, $iCount);
	$lat[$iCount] = $row["lat"];
	$lon[$iCount] = $row["lon"];
	$w_status[$iCount] = $row["work_status"];
	$t_name[$iCount] = $row["terminal_name"];
	
//	$selShipping = "SELECT * FROM qgis.concrete_shipping_record";
//	$selShipping .= " WHERE android_id='". $row["android_id"]. "'";
//	$selShipping .= " AND record_date >= '". date("Y-m-d 00:00:00"). "'";
//	$selShipping .= " AND record_date <= '". date("Y-m-d 23:59:59"). "'";
//	$selShipping .= " AND const_id='7'";
//	$selShipping .= " AND status='1'";
//	$selShipping .= ";";
//	$resShipping = pg_query($conn, $selShipping) or die (pg_last_error(). "<br>". $selShipping. "<br />");
//	$shippingCount = pg_num_rows($resShipping) + 1;
//	
//	$t_name[$iCount] = $t_name[$iCount]. "[". $shippingCount. "]";
}

//// 搬入累計の計算
//$selShippingTotal = "SELECT * FROM qgis.concrete_shipping_record";
//$selShippingTotal .= " WHERE record_date >= '". date("Y-m-d 00:00:00"). "'";
//$selShippingTotal .= " AND record_date <= '". date("Y-m-d 23:59:59"). "'";
//$selShippingTotal .= " AND const_id='7'";
//$selShippingTotal .= " AND status='2'";
//$selShippingTotal .= ";";
//$resShippingTotal = pg_query($conn, $selShippingTotal) or die (pg_last_error(). "<br>". $selShippingTotal. "<br />");
//$shippingTotalCount = pg_num_rows($resShippingTotal);

$lat_php = join(",", $lat);
$lon_php = join(",", $lon);
$w_status_php = join(",", $w_status);
$t_name_php = join(",", $t_name);
?>

<script src="./OpenLayers.js"></script>
<script type="text/javascript" charset="utf-8">
	//<!--
	var map;
	
	function init()
	{
		var dct = "<?php echo $Ct; ?>";
		var lat_js = "<?php echo $lat_php ?>";
		var lon_js = "<?php echo $lon_php ?>";
		var ws_js = "<?php echo $w_status_php ?>";
		var t_name_js = "<?php echo $t_name_php ?>";
		
		var Lat = lat_js.split(",");
		var Lon = lon_js.split(",");
		var Ws = ws_js.split(",");
		var Tn = t_name_js.split(",");
		
		//add 2013/08/09 搬入累計
		//var shippingTotalCount = "<?php echo $shippingTotalCount ?>";
		
		var lon;
		var lat;
		var zoom;
		var vectorLayer = new Array(dct);
		var style = new Array(dct);
		
		var MapFilePath = "/www/ansys/qgis/005_honmoku/map/wms2.map";
		
		var options = {
			projection : "EPSG:4326",
			scales : [5000,10000,15000,25000,30000,50000,100000,150000],
			minZoomLevel : 1,
			numZoomLevels : 8
		};
		
		map = new OpenLayers.Map("map", options);
		if((GetCookie("lon") == null) || (GetCookie("lon") == 0))
		{
			lon = 139.684982;
			document.cookie = "lon=" + encodeURIComponent(lon);
		}
		else
		{
			lon = GetCookie("lon");
		}
		
		if((GetCookie("lat") == null) || (GetCookie("lat") == 0))
		{
			lat = 35.400997;
			document.cookie = "lat=" + encodeURIComponent(lat);
		}
		else
		{
			lat = GetCookie("lat");
		}
		
		if(GetCookie("zoom") == null)
		{
			zoom = 3;
			document.cookie = "zoom=" + encodeURIComponent(zoom);
		}
		else
		{
			zoom = GetCookie("zoom");
		}
		
		map.events.register("mousemove", map, onMouseMove);
		map.events.register("zoomend", map, onZoom);
		map.addControl(new OpenLayers.Control.ScaleLine());
		
		//============================================================
		var button = new OpenLayers.Control.Button(
		{
			displayClass : "olControlButton",
			trigger : buttonClicked,
			title : "初期位置に戻る"
		});
		var panel = new OpenLayers.Control.Panel({defaultControl : button});
		panel.addControls([button]);
		map.addControl (panel);
		//============================================================
		
		var host = location.protocol + "//" + location.hostname;
		if (location.port != "")
			host += ":" + location.port;
		
		var msLayer = new OpenLayers.Layer.WMS(
			"WMSレイヤー",
			host + "/cgi-bin/mapserv-i18n?map=" + MapFilePath +"&",
			{
				//layers : "d_yamaguchi",
				layers : "shikutyousoniki,a_koutsu,l_koutsu,a_gyousei,l_gyousei,a_goraku,l_goraku,a_koukyou,l_koukyou,a_kyouiku,l_kyouiku,a_sonota,l_sonota,a_suiiki,l_suiiki,l_kouiki_sonota_douro,l_kouiki_syuyoudouro,l_kouiki_kokudodouro,l_kakudai_sonotadouro,l_kakudai_syuyoudouro,l_kakudai_kokudodouro,p_douro_tyuuki,l_senro,l_kouiki_senro,a_senro,l_yuuryou_rouro,l_kouiki_kousokudouro,l_kakudai_kousokudouro,a_tika_ekisya,l_shikutyousonkai",
				//layers : "shikutyousoniki,p_chikeidaihyou,p_shizendaihyou,a_koutsu,l_koutsu,p_koutsu,a_gyousei,l_gyousei,a_goraku,l_goraku,p_goraku_sp,a_koukyou,l_koukyou,p_koukyou,a_kyouiku,l_kyouiku,p_kyouiku,a_sonota,l_sonota,p_sonota,a_suiiki,l_suiiki,p_suiiki,l_kouiki_sonota_douro,l_kouiki_syuyoudouro,l_kouiki_kokudodouro,l_kakudai_sonotadouro,l_kakudai_syuyoudouro,l_kakudai_kokudodouro,p_douro_tyuuki,l_senro,l_kouiki_senro,p_senro_daihyou,a_senro,p_kakudai_ekisya_ticon,p_kakudai_ekisya_ficon,l_yuuryou_rouro,l_kouiki_kousokudouro,l_kakudai_kousokudouro,a_tika_ekisya,l_shikutyousonkai,p_kakudai_tikudaihyouten,p_syukusyou_tikudaihyouten",
				//layers : "d_yamaguchi,t_yamaguchi,g_yamaguchi,k_yamaguchi,c_yamaguchi",
				transparent : true,
				format : "image/gif"
			},
			{
				isBaseLayer : true,
				singleTile : true,
				opacity : 0.7
			}
		);
		map.addLayer(msLayer);
		
		var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
		renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
		
		for(var iCount = 0; iCount < dct; iCount++)
		{
			var pointColor = "#000000";
			switch(Ws[iCount])
			{
			case "0":
				pointColor = "#cc0033";
				break;
			case "1":
				pointColor = "#FFCC66";
				break;
			case "2":
				pointColor = "#6666FF";
				break;
			case "3":
				pointColor = "#00ccFF";
				break;
			default:
				pointColor = "#ff3300";
				break;
			}
			setObject(map, Tn[iCount], Lon[iCount], Lat[iCount], 35, 10, "#000000", 5, pointColor, "circle", 12);
		}
		
		// 搬入累計の表示
		//setObject(map, "搬入累計[" + shippingTotalCount + "]", 132.252130, 34.150951, 0, 30, "#000000", 0.1, "#0022ff", "square", 15);
		
		var map_center = new OpenLayers.Geometry.Point(lon, lat);
		map.setCenter(new OpenLayers.LonLat(map_center.x, map_center.y), zoom);
	}
	
	function buttonClicked()
	{
		deleteCookie();
		location.reload();
	}
	
	function setObject(map_, name_, lon_, lat_, xOffset_, yOffset_, fontColor_, pointRadius_, pointColor_, graphicName_, fontSize_)
	{
		var objStyle = {
			fillOpacity : 0.5,
			strokeWidth: 1,
			pointRadius: pointRadius_,
			label : name_,
			fontSize : fontSize_,
			fontColor : fontColor_,
			labelXOffset : xOffset_,
			labelYOffset : yOffset_,
			strokeColor : pointColor_,
			fillColor : pointColor_,
			graphicName : graphicName_,
			labelOutlineColor : "red",
			labelOutlineWidth : 5
		};
		
		var point = new OpenLayers.Geometry.Point(lon_, lat_);
		point.transform(
			new OpenLayers.Projection("EPSG:4326"),
			map_.getProjectionObject()
		);
		
		var vectorLayer = new OpenLayers.Layer.Vector(name_, {style : objStyle});
		var pointFeature = new OpenLayers.Feature.Vector(point, null, objStyle);
		vectorLayer.addFeatures(pointFeature);
		map_.addLayer(vectorLayer);
		
		
		/*
		var vectormap = new OpenLayers.Layer.Vector('Overlay', {
			styleMap: new OpenLayers.StyleMap({
				'default' : new OpenLayers.Style({
					label : name_,
					graphicName: "square",
					pointRadius: 16,
					strokeColor: "fuchsia",
					strokeWidth: 1,
					fillColor: "lime",
					fillOpacity: 0.6
				})
			})
		});
		featurearray = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lon_, lat_));
		vectormap.addFeatures([featurearray]);
		map_.addLayer(vectormap);
		*/
	}
	
	function onMouseMove()
	{
		var lonLat = map.getCenter();
		document.cookie = "lon=" + encodeURIComponent(lonLat.lon);
		document.cookie = "lat=" + encodeURIComponent(lonLat.lat);
	}
	
	function onZoom()
	{
		var lonLat = map.getCenter();
		var ZoomSts = map.getZoom();
		document.cookie = "zoom=" + encodeURIComponent(ZoomSts);
		document.cookie = "lon=" + encodeURIComponent(lonLat.lon);
		document.cookie = "lat=" + encodeURIComponent(lonLat.lat);
	}
	
	function deleteCookie()
	{
		var dTime = new Date();
		dTime.setYear(0);
		document.cookie = "zoom=" + ";expires=" + dTime.toGMTString();
		document.cookie = "lon=" + ";expires=" + dTime.toGMTString();
		document.cookie = "lat=" + ";expires=" + dTime.toGMTString();
	}
	
	function GetCookie(name)
	{
		var result = null;
		var cookieName = name + "=";
		var allcookies = document.cookie;
		var position = allcookies.indexOf(cookieName);
		
		if(position != -1)
		{
			var startIndex = position + cookieName.length;
			var endIndex = allcookies.indexOf(';', startIndex);
			if(endIndex == -1)
				endIndex = allcookies.length;
			
			result = decodeURIComponent(allcookies.substring(startIndex, endIndex));
		}
		return result;
	}
	// -->
</script>
</head>
<body onload="init()">
<div id="map" name="map"></div>

<a href="../index.php" target="_top">トップ画面</a>
<br />

</body>
</html>

PHP File Manager