File "index_d_t.php"
Full path: /www/ansys/qgis/000_nasu/Backup/OLD/index_d_t.php
File size: 8.75 KiB (8958 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="5 ;URL=index_d_t.php">
<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: 752px;
height: 552px;
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;
}
</style>
<?php
//
// Loading the map file
//
//データベース接続
$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' ORDER BY terminal_name;";
$res = pg_query($conn,$sql) or die (pg_last_error() ."<BR>" .$sql ."<BR>");
$Ct = pg_num_rows($res);
for($ii = 0;$ii < $Ct;$ii++)
{
$row = pg_fetch_array($res,$ii);
$lat[$ii] = $row['lat'];
$lon[$ii] = $row['lon'];
$w_status[$ii] = $row['work_status'];
$t_name[$ii] = $row['terminal_name'];
}
$lat_php = join(",",$lat);
$lon_php = join(",",$lon);
$w_status_php = join(",",$w_status);
$t_name_php = join(",",$t_name);
$jct = 0;
?>
<script src="./OpenLayers.js"></script>
<script type="text/javascript" charset="utf-8">
var map;
var lon;
var lat;
var zoom;
function init()
{
<!--
var dct = <?php echo $Ct; ?>;
var j = 0;
//■PHPで抽出したデータをJavaScript側の変数へ代入⇒カンマ区切りデータを配列に格納
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(",");
//document.write(t_name_js);
var options = {
'projection':"EPSG:4326",
scales : [3000,100000,50000,25000,12500],
'minZoomLevel': 1,
'numZoomLevels':5
};
map = new OpenLayers.Map('map',options);
//■現在のクッキーの値をセット
if((GetCookie('lon') == null) || (GetCookie('lon') == 0))
{
lon = 139.944;
document.cookie = 'lon=' + encodeURIComponent( lon );
}
else
{
lon = GetCookie('lon');
}
if((GetCookie('lat') == null) || (GetCookie('lat') == 0))
{
lat = 36.908;
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);
var landsat = new OpenLayers.Layer.WMS(
"OnEarth",
"http://hyperquad.telascience.org/cgi-bin/onearth",
{layers: "OnEarth"},
{
isBaseLayer: true,
buffer: 0,
visibility: false,
tileSize: new OpenLayers.Size(512, 512),
opacity: 1.0
}
);
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=/www/ansys/qgis/000_nasu/map/mapfiles/wms.map&",
{layers: ['road'],transparent: true, format: 'image/gif'} ,
{isBaseLayer: true, singleTile: true, opacity:0.7}
);
// document.write(host+ "/cgi-bin/mapserv-i18n?map=../html/mapserver-extensions/mapfiles/wms.map&");
map.addLayer(msLayer);
var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
///////////////////////////////////////////////
// 図の基本プロパティ
//var layer_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
//layer_style.fillOpacity = 0.2; // 内側の透明度
//layer_style.graphicOpacity = 1; // 図全体の透明度
var vectorLayer = new Array(50);
var style = new Array(50);
for(j = 0;j < dct;j++)
{
var pointFeature;
//styleの定義
//style[j] = new OpenLayers.Util.extend({}, layer_style);
style[j] = new OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style[j].fillOpacity = 0.2; // 内側の透明度
style[j].graphicOpacity = 1; // 図全体の透明度
style[j].label = Tn[j];
style[j].fontSize = 10; // 文字のサイズ
style[j].labelXOffset = 35;
style[j].labelYOffset = 10;
vectorLayer[j] = new OpenLayers.Layer.Vector(Tn[j], {style: style[j]});
// create a point feature 2つの点の位置とプロパティ
var point = new OpenLayers.Geometry.Point(Lon[j], Lat[j]);
point.transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
);
//work_statusによって色を変更
pointFeature = new OpenLayers.Feature.Vector(point,null,style[j]);
// レイヤの追加と描画する図の指定
map.addLayer(vectorLayer[j]);
vectorLayer[j].addFeatures(pointFeature);
}
//document.write(Tn[j]);
var point = new OpenLayers.Geometry.Point(139.944,36.908);
var pointFeature = new OpenLayers.Feature.Vector(point);
var map_center = new OpenLayers.Geometry.Point(lon, lat);
map.setCenter(new OpenLayers.LonLat(map_center.x, map_center.y), zoom);
}
//マウスイベント(移動後)
function onMouseMove()
{
var lonLat = map.getCenter();
//document.getElementById("lon").value = lonLat.lon;
//document.getElementById("lat").value = lonLat.lat;
document.cookie = 'lon=' + encodeURIComponent( lonLat.lon );
document.cookie = 'lat=' + encodeURIComponent( lonLat.lat );
}
//マウスイベント(ズーム完了後)
function onZoom()
{
var lonLat = map.getCenter();
var ZoomSts = map.getZoom();
//document.getElementById("zoom").value = ZoomSts;
document.cookie = 'zoom=' + encodeURIComponent( ZoomSts );
document.cookie = 'lon=' + encodeURIComponent( lonLat.lon );
document.cookie = 'lat=' + encodeURIComponent( lonLat.lat );
}
//クッキー削除
function deleteCookie()
{
cName = "zoom="; // 削除するクッキー名
dTime = new Date();
dTime.setYear(dTime.getYear() - 1);
document.cookie = cName + ";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;
}
/*
function hideerrors() {
return true;
}
window.onerror = hideerrors;
*/
//;"setInterval('changeImg()',1000*5)"
// -->
</script>
</head>
<body onload="init()">
<div id="tags"></div>
<form>
<input type="hidden" id="zoom" value="3" readonly />
<input type="hidden" id="lon" value="139.944" readonly />
<input type="hidden" id="lat" value="36.908" readonly />
</form>
<div id="map" name="map"></div>
</body>
</html>