久しぶりのWebGIS構築の説明です。
今回は準備したESRI Shape形式のデータを
ms4wで表示するための設定の作成となります。
まずはその2で作った環境を再利用します。
データのうちサンプルとして利用するのは
道路構成線データのみとします。
前回作成したESRI Shape形式のデータのうち
道路構成線という名前が含まれるファイル4種
(拡張子はdbf,prj,shp,shxの4種)を
それぞれリネームして拡張子はそのままで
roadという名前に変換してください。
変換した4ファイルを
ms4w/OpenLayers-2.12/に設置してください。
次にms4w/OpenLayers-2.12/ にroad_test.mapという名前の
空ファイルを作成し、中身を下記の内容にします。
このときファイルの保存エンコードをUTF-8にしてください。
またcドライブにms4wフォルダがあることになっていますが、
各自の環境に合わせてドライブを修正してください。
MAP
NAME "WMS-MAP"
SIZE 600 480
UNITS dd
EXTENT 122 20.5 154 45.5
PROJECTION
"init=EPSG:4326"
END
TRANSPARENT ON
IMAGECOLOR 255 255 255
IMAGEQUALITY 95
IMAGETYPE png
OUTPUTFORMAT
NAME png
DRIVER 'GD/PNG'
MIMETYPE 'image/png'
IMAGEMODE RGBA
EXTENSION 'png'
TRANSPARENT OFF
END
WEB
IMAGEPATH "/ms4w/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
# WMS server settings
METADATA
'ows_title' 'WMS-MAP'
'ows_onlineresource' 'http://localhost/cgi-bin/mapserv.exe?'
'ows_srs' 'EPSG:4326 EPSG:900913'
'ows_encoding' 'utf-8'
END
END
#主要道路
LAYER
NAME 'road'
TYPE LINE
DUMP true
TEMPLATE void
DATA 'C:/ms4w/OpenLayers-2.12/road.shp'
METADATA
'ows_title' 'road'
END
STATUS ON
TRANSPARENCY 100
PROJECTION
'init=EPSG:2447'
END
CLASS
NAME 'road'
STYLE
SYMBOL 0
SIZE 7.0
COLOR 162 42 42 #0 0 0
WIDTH 2
END
END
END
END
次に
ms4w/Apache/htdocs/openlayers.pkg.html を編集します。
<h3>OpenLayers 2.12</h3> <blockquote> <p><a href="/OpenLayers-2.12/examples/">Examples</a></p> </blockquote> <h3>test</h3> <blockquote> <p><a href="/OpenLayers-2.12/test.html">test</a></p> </blockquote> <blockquote> <p><a href="/OpenLayers-2.12/test2.html">test2</a></p> </blockquote>
最後にms4w/OpenLayers-2.12/ にtest2.htmlという名前の空ファイルを作成し、
中身を下記の内容にします。このときファイルの保存エンコードをUTF-8にしてください。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
<script src="http://localhost/OpenLayers-2.12/OpenLayers.js"></script>
<style>
body {padding: 0; margin: 0}
html, body, #map {height: 100%; width: 100%;}
div.olControlAttribution {
padding: 3px;
color:#000000;
background-color:#ffffff;
background-color:rgba(230,255,255,0.7);
font-size:12px;
line-height:14px;
bottom:5px;
vertical-align: middle;
}
</style>
</head>
<body>
<div id="map">
<script>
var projection3857 = new OpenLayers.Projection("EPSG:3857");
var projection4326 = new OpenLayers.Projection("EPSG:4326");
var map = new OpenLayers.Map({
div: "map",
projection: projection3857,
displayProjection: projection4326,
});
map.addLayer(new OpenLayers.Layer.XYZ("標準地図",
"http://cyberjapandata.gsi.go.jp/xyz/std/${z}/${x}/${y}.png", {
attribution: "<a href='http://portal.cyberjapan.jp/help/termsofuse.html' target='_blank'>国土地理院</a>",
maxZoomLevel: 17
}));
var road_layer = new OpenLayers.Layer.WMS( "主要道路",
"http://localhost/cgi-bin/mapserv.exe?" , {
//ファイルパスは各自調整してください。
map : 'C:/ms4w/OpenLayers-2.12/road_test.map' ,
layers: 'road' ,
types: 'png',
format: 'image/png',
transparent: true //,
projection: new OpenLayers.Projection("EPSG:2447")
}, //,
{gutter: 15}
);
map.addLayer(road_layer);
map.setCenter(new OpenLayers.LonLat(138.7313889, 35.3622222) .transform(projection4326, projection3857), 5); </script> </body> </html>
準備完了後はms4w/apache-restart.batを管理者権限で実行し、その上でhttp://localhostにアクセスしてください。
するとms4wのページが表示されますが、ページの下部にtest2というリンクが追加されていますので、これをクリックしてください。
兵庫の範囲にshapeファイルのデータが追加されているのが把握できると思います。
今回は以上となります。
次回は今回取り扱ったmapファイルについて詳細を説明します。