最終更新日: 2006年 10月 23日
MapServer4.x用のクイック・チュートリアルが http://mapserver.gis.umn.edu/docs/tutorial/tutorial で公開されています。
このページでは、このチュートリアルのSection 1:Static Maps and the MapFileの Example 1.1 - A map with a single layer の設定等について説明しています。
Example 1.1: Map with a Single Layer と同じデータが見つけられなかったので、別のデータを用います。 そのため、表示する地図の画像が若干異なります。
nationalatlas.gov のRaw Data Downloadページで、 Boundaries を選択して、下から3番目の項目 State Boundaries の Shapefile: statesp020.tar.gz をダウンロードします。
これを/var/www/html/gis/mapserver_tutorial/の下に展開します。
ディレクトリ/var/www/html/gis/mapserver_tutorial/statesp020/ に以下のファイルが存在するはずです。
チュ―トリアルに書かれているようにogrinfoを使用してみると、以下のようになります。
# ogrinfo -al -so statesp020.shp INFO: Open of `statesp020.shp' using driver `ESRI Shapefile' successful. Layer name: statesp020 Geometry: Polygon Feature Count: 2895 Extent: (-179.133392, 17.674692) - (179.788208, 71.398048) Layer SRS WKT: (unknown) AREA: Real (12.3) PERIMETER: Real (12.3) STATESP020: Real (11.0) STATE: String (20.0) STATE_FIPS: String (2.0) ORDER_ADM: Integer (6.0) MONTH_ADM: String (18.0) DAY_ADM: Real (16.0) YEAR_ADM: Real (16.0)注. ogrinfoは、gdalに含まれているので、gdalをインストールしていれば /usr/local/bin/にあります。
example1-1のmapファイルをチュートリアルから上記のデータ用に変更します。 (変更箇所は赤色の部分)
# The annotated map file (sort of) # Created by Pericles S. Nacionales for the MapServer tutorial # 20050408 # # MapServer map file uses the pound sign (#) to denote the start of a line # comment--each line that needs to be commented has to be prepended with a "#". # # Map files begin with MAP keyword to signify the start of the map object. # Well, the entire map file is THE map object. Enclosed between MAP and END # at the very bottom of this map file, are keyword/value pairs and other # objects. MAP IMAGETYPE PNG EXTENT -97.238976 41.619778 -82.122902 49.385620 SIZE 400 300 SHAPEPATH "/var/www/html/gis/mapserver_tutorial/" # "/ms4w/apps/tutorial/data" IMAGECOLOR 255 255 255 # Layer objects are defined beneath the map object. You need at least one # layer defined in your map file before you can display a map... You can # define as many layers as you'd like although a limit is typically hard-coded # in map.h in the MapServer source. The default limit is set at 100. You'd # have to have a very specialized application to need more than 100 layers in # your application. # Start of LAYER DEFINITIONS --------------------------------------------- LAYER # States polygon layer begins here NAME statesp020 #states DATA statesp020 #states_ugl STATUS OFF TYPE POLYGON # The class object is defined within the layer object. You can define as # many classes as you need (well, there are limits as with layers, but it's # senseless to define more than ten on a "normal" layer. There are # situations, however, where you might have to do it.) CLASS NAME "The Upper Great Lakes States" # There are styles in a class, just like there are classes in a layer, # just like there are layers in a map. You can define multiple styles in # a class just as you can define multiple classes in a layer and multiple # layers in a map. STYLE COLOR 232 232 232 OUTLINECOLOR 32 32 32 END END END # States polygon layer ends here # End of LAYER DEFINITIONS ------------------------------- END # All map files must come to an end just as all other things must come to...このファイルを/var/html/gis/mapserver_tutorial/example1-1.mapとして保存します
以下のようにアクセスします。
http://192.168.0.1/cgi-bin/mapserv?map=/var/www/html/gis/mapserver_tutorial/example1-1.map&layer=statesp020&mode=map
注. 上記でmap=/var/www/html/gis/mapserver_tutorial/の部分を相対パス、すなわちmap=/gis/mapserver_tutorial/としたらエラーになります。
問題がなければ、以下のような画像が表示されます。