Preparing MapServer/ja

From Ka-Map Wiki

Jump to: navigation, search

このページのほとんどの文章はTyler Mitchell氏の記事を元にしています。 Build AJAX-Based Web Maps Using ka-Map (ka-Mapを利用したAjaxベースのWeb地図の作成)

Contents

[edit] マップサーバーの準備

ka-Mapを使うには動作確認済みのマップサーバーアプリケーション設定ファイルが必要です。従来の(非Ajaxの)マップサーバーアプリケーションでは、Webページを作り、データを準備し、データを参照する設定ファイルを作成し、そして地図の外観を設定しました。一方ka-MapアプリケーションにはWebページがデフォルトで提供されており、地図データの準備とマップサーバーアプリケーション設定ファイルに集中することができます。

[edit] マップスクリプト・プログラミング・ライブラリ

ka-Mapを利用するには、マップサーバー用プログラミングライブラリであるマップスクリプトが動作していなければなりません。ka-Mapは地図を描画するためにPHPマップスクリプトAPIを使用します。マップスクリプトを動作させる最も簡単な方法は、バイナリーのマップサーバーをインストールする方法です。

ウィンドウズ用のマップサーバーはMapServer For Windows (MS4W)と呼ばれています。動作させるには単にファイルをドライブに解凍するだけです。その後、他のパッケージ(ka-Mapなど)をダウンロードして機能を付け足すことができます。MS4Wを始めるには下のサイトを見てください。

http://maptools.org/ms4w

リナックス用のインストーラはFOSS GIS Suite (FGS)と呼ばれています。FGSは依存するライブラリも含む全ての標準モジュールの設定を行ってくれます。シェルスクリプトのインストーラーは、モジュールをシステムに自動的に抽出し、さらに依存するライブラリをチェック、取得してくれます。FGSを始めるには下のサイトにアクセスしてください。

http://maptools.org/fgs

もしソースコードから始めたいのでしたら、マップサーバーWebサイトMapServer websiteにより多くのインストール関連情報があります。Tyler Mitchell氏のWeb Mapping Illustratedでもインストールプロセスについての説明があります。

[edit] データの準備

マップサーバー設定ファイルを作る前にまず地図データが必要です。FreeGIS.org世界データパッケージの一部として、世界の国境データが以下のサイトで手に入ります。

here

これはESRIシェイプフォーマットの基本的な地図データを提供します。 まずcountries_simplから始めてください。これらのファイルはサイズを小さく抑えるために低解像度になっています。もしもっと高解像度のデータが欲しいのでしたら、hereから取得してください。

背景イメージとして、世界の雲の画像を下のサイトから取得できます。

here

この画像はXplanetデータと、Mapping Hacksという本の天気地図ハックから作られています。このハックを使うと、6時間毎に自動更新される世界の雲画像を利用することができます。フォーマットはTIFFで、位置情報を示すTFWファイルも含まれています。

以上の国境ファイルと画像ファイルを両方ともdataというフォルダに解凍してください。

[edit] マップサーバー設定

次に、マップサーバー設定ファイルを作ります。このファイルは、どうやってデータにアクセスし、どのように表示するかということをマップサーバーに指示する単純なテキストファイルです。通常マップファイルと呼ばれます。マップファイルはオブジェクトと呼ばれるいくつかのセクションに分かれます。セクションはオブジェクトタイプを示すキーワードで始まり、ENDというキーワードで終わります。

以下は先ほどの2つのデータレイヤーを利用した基本的なマップファイルです。

MAP
 NAME global_map
 STATUS ON
 SIZE 600 300
 EXTENT -180 -90 180 90
 UNITS DD
 IMAGECOLOR 255 255 255
 IMAGETYPE png

 WEB
   IMAGEPATH "/opt/fgs/apps/kamap-0.1.1/htdocs/tmp/"
   IMAGEURL "/ka-map/tmp/"
 END

 LEGEND
   TRANSPARENT TRUE
 END

 SCALEBAR
   TRANSPARENT TRUE
 END

 LAYER
   NAME clouds
   TYPE RASTER
   STATUS ON
   DATA "data/day_clouds.tif"
 END

 LAYER
   NAME countries
   TYPE LINE
   STATUS ON
   DATA "data/countries_simpl.shp"
   CLASS
     NAME "Country Boundaries"
     STYLE
       COLOR 200 100 100
     END
   END
 END
END #MAP END

上のコードをglobal.mapという名前のテキストファイルとして保存してください。

[edit] マップファイルのテスト

マップファイルの設定が間違っていると問題が起こりますので、ka-Mapで使う前にテストしてください。

マップサーバーのインストール方法によってはshp2imgというプログラムに問題がある可能性があります。shp2imgはマップファイルから画像ファイルを作るコマンドラインツールです。下のように実行してください。

> shp2img -m global.map -o test.png

もし全て上手くいっていれば、test.phpという地図画像が作成されるはずです。一方、プログラムが実行に失敗したりエラーを起こしたりした場合はマップファイルに問題があります。

マップファイルが正く動作するという確証を得るためにはさらにテストが必要な場合がありますが、このテストを最初の一歩とすることができます。マップファイルから作られた地図がWebサーバーから容易にアクセスできるようにするにはWeb環境でテストする必要があります。この件については"Further Adventures"セクションでさらに議論されています。

Personal tools