File "map_su.php"

Full path: /www/ansys/qgis/003_asahikawa/map/map_su.php
File size: 7.84 KiB (8029 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: 952px;
	height: 842px;
	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 : 917px;
	width : 16px;
	height : 18px;
	border : 0px solid black;
}

</style>

<?php
//データベース接続
$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 WHERE app_id='6' AND const_id='2' AND work_status='3' 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"];
}
$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(",");
		
		var lon;
		var lat;
		var zoom;
		var vectorLayer = new Array(dct);
		var style = new Array(dct);
		
		var MapFilePath = "/www/ansys/qgis/003_asahikawa/map/wms.map";
		
		var options = {
			projection : "EPSG:4326",
			scales : [5000,10000,15000,25000,50000,75000],
			minZoomLevel : 1,
			numZoomLevels : 6
		};
		
		map = new OpenLayers.Map("map", options);
		if((GetCookie("lon") == null) || (GetCookie("lon") == 0))
		{
			lon = 142.417488;
			document.cookie = "lon=" + encodeURIComponent(lon);
		}
		else
		{
			lon = GetCookie("lon");
		}
		
		if((GetCookie("lat") == null) || (GetCookie("lat") == 0))
		{
			lat = 43.793030;
			document.cookie = "lat=" + encodeURIComponent(lat);
		}
		else
		{
			lat = GetCookie("lat");
		}
		
		if(GetCookie("zoom") == null)
		{
			zoom = 1;
			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_kamikawa,t_kamikawa,g_kamikawa,k_kamikawa",
				//layers : "d_kamikawa,t_kamikawa,g_kamikawa,k_kamikawa,c_kamikawa",
				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 = "#000000";
				break;
			}
			setObject(map, Tn[iCount], Lon[iCount], Lat[iCount], 10, 10, "#000000", 5, pointColor);
		}
		
		setObject(map, "TC生コン(株)", 142.420256, 43.820122, 35, -10, "#000000", 5, "#FFCC66");
		setObject(map, "(株)野田生コン", 142.420856, 43.822402, 35, 10, "#000000", 5, "#6666FF");
		setObject(map, "三共宇部生コン(株)", 142.478953, 43.792178, 35, 10, "#000000", 5, "#00ccFF");
		setObject(map, "駐屯地", 142.366858, 43.790583, 0, 0, "#3333cc", 0, "#000000");
		
		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_)
	{
		var objStyle = {
			fillOpacity : 0.5,
			strokeWidth: 1,
			pointRadius: pointRadius_,
			label : name_,
			fontSize : 12,
			fontColor : fontColor_,
			labelXOffset : xOffset_,
			labelYOffset : yOffset_,
			strokeColor : pointColor_,
			fillColor : pointColor_
		};
		
		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);
	}
	
	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>
</body>
</html>

PHP File Manager