File "map2.php"
Full path: /www/ansys/qgis/012_kawasaki/map/map2.php
File size: 10.89 KiB (11156 bytes)
MIME-type: text/xml
Charset: utf-8
<?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: 300px;
height: 300px;
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>