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(Debian 9 - 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
7-2 マップデータの準備
7-2-1 フォルダの作成
マップファイルを保存する mapfile フォルダとマップデータを保存する mapdata フォルダを作成します。
user@deb9-vmw:~$ mkdir mapdata
user@deb9-vmw:~$ mkdir mapfile
user@deb9-vmw:~$ ls
---
mapdata/
mapfile/
---
public_html/
---
user@deb9-vmw:~$ mkdir mapfile
user@deb9-vmw:~$ ls
---
mapdata/
mapfile/
---
public_html/
---
7-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@deb9-vmw:~$ cd ダウンロード
user@deb9-vmw:~/ダウンロード$ mkdir 110m_cultural
user@deb9-vmw:~/ダウンロード$ ls
---
110m_cultural ne_110m_admin_0_countries.zip
---
user@deb9-vmw:~/ダウンロード$ mv ne_110m_admin_0_countries.zip 110m_cultural
user@deb9-vmw:~/ダウンロード$ cd 110m_cultural
user@deb9-vmw:~/ダウンロード/110m_cultural$ unzip ne_110m_admin_0_countries.zip
user@deb9-vmw:~/ダウンロード/110m_cultural$ cd ../
user@deb9-vmw:~/ダウンロード$ mv 110m_cultural ../mapdata/
user@deb9-vmw:~/ダウンロード$ mkdir 110m_cultural
user@deb9-vmw:~/ダウンロード$ ls
---
110m_cultural ne_110m_admin_0_countries.zip
---
user@deb9-vmw:~/ダウンロード$ mv ne_110m_admin_0_countries.zip 110m_cultural
user@deb9-vmw:~/ダウンロード$ cd 110m_cultural
user@deb9-vmw:~/ダウンロード/110m_cultural$ unzip ne_110m_admin_0_countries.zip
Archive: ne_110m_admin_0_countries.zip inflating: ne_110m_admin_0_countries.README.html extracting: ne_110m_admin_0_countries.VERSION.txt inflating: ne_110m_admin_0_countries.dbf inflating: ne_110m_admin_0_countries.prj inflating: ne_110m_admin_0_countries.shp inflating: ne_110m_admin_0_countries.shx
user@deb9-vmw:~/ダウンロード/110m_cultural$ cd ../
user@deb9-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 ページの「Download」の一番下の「Format: Shapefile, Projection: Mercator, Last update: 2017-05-25 09:05(Large simplified polygons not split, use for zoom level 0-9)」の左側の「Download」ボタンをクリックします。
simplified-land-polygons-complete-3857.zip を解凍します。
user@deb9-vmw:~/ダウンロード$ ls
---
simplified-land-polygons-complete-3857.zip
---
user@deb9-vmw:~/ダウンロード$ unzip simplified-land-polygons-complete-3857.zip
---
simplified-land-polygons-complete-3857
simplified-land-polygons-complete-3857.zip
---
user@deb9-vmw:~/ダウンロード$ ogrinfo simplified-land-polygons-complete-3857
///// ここまで /////---
simplified-land-polygons-complete-3857.zip
---
user@deb9-vmw:~/ダウンロード$ unzip simplified-land-polygons-complete-3857.zip
Archive: simplified-land-polygons-complete-3857.zip inflating: simplified-land-polygons-complete-3857/README extracting: simplified-land-polygons-complete-3857/simplified_land_polygons.cpg inflating: simplified-land-polygons-complete-3857/simplified_land_polygons.dbf inflating: simplified-land-polygons-complete-3857/simplified_land_polygons.prj inflating: simplified-land-polygons-complete-3857/simplified_land_polygons.shp inflating: simplified-land-polygons-complete-3857/simplified_land_polygons.shxuser@deb8-vmw:~/ダウンロード$ ls
---
simplified-land-polygons-complete-3857
simplified-land-polygons-complete-3857.zip
---
user@deb9-vmw:~/ダウンロード$ ogrinfo simplified-land-polygons-complete-3857
INFO: Open of `simplified-land-polygons-complete-3857' using driver `ESRI Shapefile' successful. 1: simplified_land_polygons (Polygon)
7-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@deb9-vmw:~/ダウンロード$ vim land_ocean_ice_2048.jpgw
0.17578125 --------- A 0.00000 --------- B 0.00000 --------- C -0.17578125 --------- D -179.96666666666667 - E 89.96666666666667 -- F
A 画像ピクセルが左から右に進む際の1ピクセル当りの座標増減値
B 回転行列パラメータ
C 回転行列パラメータ
D 画像ピクセルが上から下に進む際の1ピクセル当りの座標増減値
E 画像左上のX座標(経度方向)
F 画像左上のY座標(緯度方向)
A = 360degree / 2048pixel
D = 180degree / 1024pixel
user@deb9-vmw:~/ダウンロード$ ls
---
land_ocean_ice_2048.jpg
land_ocean_ice_2048.jpgw
---
user@deb9-vmw:~/ダウンロード$ mv land_* ../mapdata/
user@deb9-vmw:~/ダウンロード$ cd ../mapdata/
user@deb9-vmw:~/mapdata$ ls
110m_cultural land_ocean_ice_2048.jpg land_ocean_ice_2048.jpgw
---
land_ocean_ice_2048.jpg
land_ocean_ice_2048.jpgw
---
user@deb9-vmw:~/ダウンロード$ mv land_* ../mapdata/
user@deb9-vmw:~/ダウンロード$ cd ../mapdata/
user@deb9-vmw:~/mapdata$ ls
110m_cultural land_ocean_ice_2048.jpg land_ocean_ice_2048.jpgw
7-3 マップファイルの準備
基本のマップファイルは、
An Introduction MapServer - MapServer 7.0.6
http://mapserver.org/el/introduction.html
の
Introduction to the Mapfile
http://mapserver.org/el/introduction.html#introduction-to-the-mapfile
を参考に作成します。
user@deb9-vmw:~/mapdata$ cd ../mapfile/
user@deb9-vmw:~/mapfile$ vim global.map
Map オブジェクトuser@deb9-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 NAME "global_map" STATUS ON SIZE 600 300 EXTENT -180 -90 180 90 UNITS DD SHAPEPATH "../mapdata" IMAGECOLOR 255 255 255 END # MAP
SIZE: ピクセル単位のマップの幅と高さ
EXTENT: 出力マップの単位の出力範囲
UNITS: マップの緯度経度の単位 DD 度 degree
SHAPEPATH: シェープファイルの位置 Layer オブジェクトで省略可能
IMAGECOLOR: 画像背景色初期値
Layer オブジェクト
MapServer 5.0 からマップファイルでレイヤの数に制限はありません。
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
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
STYLE: STYLE は、シンボル化とスタイリングのためのパラメータを保持しています。複数の 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
&layer=countries-border
マップファイルの位置
&map=/home/user/mapfile/global.map
次のように地図が表示されます。
* shp2img コマンドを使って画像を生成することもできます。
user@deb9-vmw:~/mapfile$ shp2img -m global.map -o global.png
0 件のコメント:
コメントを投稿