MapServer に組み込まれた OpenLayers を使って、マップファイルのテストをします。
これは表示テスト用なので、レイヤ別の表示などの機能の設定はできません。
MapServer OpenLayers Viewer
http://mapserver.org/cgi/openlayers.html
の 「Opening the OpenLayers viewer in your browser」 の
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=lakespy2&layer=dlgstln2&map=/var/www/workshop/itasca.map
で /var/www/workshop/itasca.map の部分を、itasca demo(6 MapServer のインストール の 6-4 動作確認 で使った workshop-5.4)の 自分のマップファイルの位置にします。
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=lakespy2&layer=dlgstln2&map=/home/user/public_html/workshop-5.4/itasca.map
8-2 マップデータの準備
8-2-1 フォルダの作成
マップファイルを保存する mapfile フォルダとマップデータを保存する mapdata フォルダを作成します。
user@deb8-vmw:~$ mkdir mapdata
user@deb8-vmw:~$ mkdir mapfile
user@deb8-vmw:~$ ls
---
mapdata/
mapfile/
---
public_html/
---
8-2-2 NaturalEarth
国境のデータを準備します。
NaturalEarth ホームページ
http://www.naturalearthdata.com/
の、「Get the Data」をクリックします。
Downloads サイト
http://www.naturalearthdata.com/downloads/
の「Small scale data, 1:110m」の「Cultural」をクリックします。
1:110m Cultural Vectors サイト
http://www.naturalearthdata.com/downloads/110m-cultural-vectors/
の「Admin 0 – Countries」の「Download countries」ボタンをクリックしてダウンロードします。
「110m_cultural」というフォルダを作成してその中で解凍し、mapdataフォルダに移動します。
user@deb8-vmw:~$ cd ダウンロード
user@deb8-vmw:~/ダウンロード$ mkdir 110m_cultural
user@deb8-vmw:~/ダウンロード$ ls
---
110m_cultural ne_110m_admin_0_countries.zip
---
user@deb8-vmw:~/ダウンロード$ mv ne_110m_admin_0_countries.zip 110m_cultural
user@deb8-vmw:~/ダウンロード$ cd 110m_cultural
user@deb8-vmw:~/ダウンロード/110m_cultural$ unzip ne_110m_admin_0_countries.zip
user@deb8-vmw:~/ダウンロード/110m_cultural$ cd ../
user@deb8-vmw:~/ダウンロード$ mv 110m_cultural ../mapdata/
///// 参考 /////
OpenStreetMap のデータを使った国境のデータが
OpenStreetMap DATA ホームページ
http://openstreetmapdata.com/
にあります。
ページの下の方にある「Show all data」ボタンをクリックします。
http://openstreetmapdata.com/data ページの「Land Polygons」をクリックします。
http://openstreetmapdata.com/data/land-polygon ページの「Format: Shapefile, Projection: WGS84, Last update: 2015-05-17 19:47
(Large polygons not split)」の左側の「Download」ボタンをクリックします。
land-polygons-complete-4326.zip 解凍します。
user@deb8-vmw:~/ダウンロード$ ls
---
land-polygons-complete-4326.zip
---
user@deb8-vmw:~/ダウンロード$ unzip land-polygons-complete-4326.zip
Archive: land-polygons-complete-4326.zip inflating: land-polygons-complete-4326/README extracting: land-polygons-complete-4326/land_polygons.cpg inflating: land-polygons-complete-4326/land_polygons.dbf inflating: land-polygons-complete-4326/land_polygons.prj inflating: land-polygons-complete-4326/land_polygons.shp inflating: land-polygons-complete-4326/land_polygons.shx
user@deb8-vmw:~/ダウンロード$ ls
---
land-polygons-complete-4326
land-polygons-complete-4326.zip
---
///// ここまで /////
8-2-3 Blue Marble
Blue Marble 画像の準備します。
VISIVLE EARTH
http://visibleearth.nasa.gov/
の「The Blue Marble」をクリックします。
http://visibleearth.nasa.gov/view_cat.php?categoryID=1484
の 「The Blue Marble: Land Surface, Ocean Color and Sea Ice」をクリックします。
http://visibleearth.nasa.gov/view.php?id=57730
の「land_ocean_ice_2048.jpg 」を右クリックして「名前をつけてリンク先を保存」をクリックします。
次の内容のワールドファイル land_ocean_ice_2048.jpgW を作成します。
user@deb8-vmw:~/ダウンロード$ vim land_ocean_ice_2048.jpgw 0.17578125 #画像ピクセルが左から右に進む際の1ピクセル当りの座標増減値 0.00000 #回転行列パラメータ 0.00000 #回転行列パラメータ -0.17578125 #画像ピクセルが上から下に進む際の1ピクセル当りの座標増減値 -179.96666666666667 #画像左上のX座標(経度方向) 89.96666666666667 #画像左上のY座標(緯度方向)
user@deb8-vmw:~/ダウンロード$ ls
---
land_ocean_ice_2048.jpg
land_ocean_ice_2048.jpgw
---
user@deb8-vmw:~/ダウンロード$ mv land_* ../mapdata/
user@deb8-vmw:~/ダウンロード$ cd ../mapdata/
user@deb8-vmw:~/mapdata$ ls
land_ocean_ice_2048.jpg land_ocean_ice_2048.jpgw
8-3 マップファイルの準備
基本のマップファイルは、
An Introduction MapServer - MapServer 6.4.1
http://mapserver.org/el/introduction.html
の
Introduction to the Mapfile
http://mapserver.org/el/introduction.html#introduction-to-the-mapfile
を参考に作成します。
user@deb8-vmw:~/mapdata$ cd ../mapfile/
user@deb8-vmw:~/mapfile$ vim global.map
MAP # NAME "sample" NAME "global_map" STATUS ON # SIZE 600 400 SIZE 600 300 # SYMBOLSET "../etc/symbols.txt" EXTENT -180 -90 180 90 UNITS DD # SHAPEPATH "../data" SHAPEPATH "../mapdata" IMAGECOLOR 255 255 255 # FONTSET "../etc/fonts.txt" # # Start of web interface definition # WEB # IMAGEPATH "/ms4w/tmp/ms_tmp/" IMAGEPATH "/home/user/public_html/ms_tmp/" IMAGEURL "/~user/ms_tmp/" END # WEB # # Start of layer definitions # LAYER NAME global-raster TYPE RASTER STATUS DEFAULT # DATA bluemarble.gif DATA "land_ocean_ice_2048.jpg" END # LAYER LAYER NAME country-boundary TYPE POLYGON STATUS ON DATA "110m_cultural/ne_110m_admin_0_countries.shp" CLASS NAME 'Country Boundary' STYLE OUTLINECOLOR 153 0 0 END END END END # MAP
Map オブジェクト
MAP NAME "global_map" STATUS ON SIZE 600 300 EXTENT -180 -90 180 90 UNITS DD SHAPEPATH "../mapdata" IMAGECOLOR 255 255 255 END # MAP
STATUS: ブラウザで開いた時のマップの ON/OFF/DEFAULT(表示/非表示/初期値)
SIZE: ピクセル単位のマップの幅と高さ
EXTENT: 出力マップの単位の出力範囲
UNITS: マップの緯度経度の単位 DD 度 degree
SHAPEPATH: シェープファイルの位置 Layer オブジェクトで省略可能
IMAGECOLOR: 画像背景色初期値
Layer オブジェクト
MapServer 5.0 からマップファイルでレイヤの数に制限はありません。
the DATA parameter is relative to the SHAPEPATH parameter of the MAP object
DATA パラメータは、MAP オブジェクトの SHAPEPATH パラメータを基準にしています。
DATA 拡張子が、ファイル名に用意されていない場合、MapSeerver は、ESRI シェープフォーマット(.shp)と仮定します。
Raster レイヤ
(Raster: ピクセル(画素)画像のようにマス目の集合体で表現された画像データ。)
LAYER NAME global-raster TYPE RASTER STATUS DEFAULT # DATA bluemarble.gif DATA "land_ocean_ice_2048.jpg" END # LAYER
Vector レイヤ
TYPE point、line、または polygon のベクタレイヤを表示することができます。次の例では、OUTLINECOLORパラメータを使用して、TYPE polygon レイヤからのline([外周]線)だけを表示する例を示します。
LAYER NAME country-boundary TYPE POLYGON STATUS ON DATA "110m_cultural/ne_110m_admin_0_countries.shp" CLASS NAME 'Country Boundary' STYLE OUTLINECOLOR 153 0 0 END # STYLE END # CLASS END # LAYER
CLASS: CLASS オブジェクト
STYLE: スタイルは、シンボル化とスタイリングのためのパラメータを保持しています。複数のスタイルが、CLASS または LABEL 内に適用することができます。
([http://mapserver.org/el/mapfile/style.html#style])
Webブラウザのアドレスバーに次のように入力して Enter キーを押します。
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=global-laster&layer=country-boundary&map=/home/user/mapfile/global.map
基本部分
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers
マップファイル global.map の レイヤー LAYER
&layer=global-laster
&layer=countries-border
マップファイルの位置
&map=/home/user/mapfile/global.map
次のように地図が表示されます。
user@deb8-vmw:~/mapfile$ shp2img -m global.map -o global.png
0 件のコメント:
コメントを投稿