2013年11月10日日曜日

9 - グラフィカルなデータ表示 3 - 円積図

9-3 円積図
人口を円積図で表します。人口によって円の大きさを変えて表示します。

マップファイルに描画する図の設定(SYMBOL)と新しいレイヤを追加します。
SYMBOLはレイヤの前に、新しいレイヤは global-raster レイヤと country-border レイヤの間に追加します。

LABELを表示しないとSTYLEで設定したcircleが表示されませんでした。

---
SYMBOL
 NAME 'circle'
 TYPE ELLIPSE
 FILLED TRUE
 POINTS
  1 1
 END
END
---
LAYER
 NAME global-raster
 TYPE RASTER
 STATUS DEFAULT
 DATA ../mapdata/world.topo.bathy.200410.3x5400x2700.jpg
END
LAYER
 NAME population
 GROUP population
 TYPE ANNOTATION #基準点が計算され、地物は表示されません。
                 #ラベルのみ表示したいときに使われます。
 STATUS ON #初期状態 ON:表示 OFF:非表示
 DATA "110m_cultural/ne_110m_admin_0_countries.shp"
 LABELITEM "pop_est" #LABELを使うときのフィールドの属性値の指定
 CLASSITEM "pop_est" #CLASSを使うときのフィールドの属性値の指定
 CLASS
  NAME "over 100milion" #凡例のタイトルになります
   EXPRESSION ([pop_est] >= 100000000) #描画する条件値(式)
  LABEL #LABELを表示しないとSTYLEで設定した
        #circleが表示されませんでした。
   SIZE tiny #文字の大きさ
   MINFEATURESIZE 300
   COLOR 255 204 204
   OUTLINECOLOR 102 51 51
   POSITION ul #文字の位置:upper-left 中心の上左
  END
  STYLE #表示されるものの外観を定義
   SYMBOL 'circle' #定義した'circle'を使用
   COLOR 255 0 0 #'circle'の塗りつぶしの色
   SIZE 20 #'circle'の大きさ
  END
 END
 CLASS
  NAME "10 to 100milion"
  EXPRESSION ([pop_est] < 100000000 AND [pop_est] >= 10000000)
  LABEL
   SIZE tiny
   MINFEATURESIZE 300
   COLOR 255 204 204
   OUTLINECOLOR 102 51 51
   POSITION ul
  END
  STYLE
   SYMBOL 'circle'
   COLOR 255 0 0
   SIZE 10
  END
 END
 CLASS
  NAME "1 to 10milion"
  EXPRESSION ([pop_est] < 10000000 AND [pop_est] >= 1000000)
  LABEL
   SIZE tiny
   MINFEATURESIZE 300
   COLOR 255 204 204
   OUTLINECOLOR 102 51 51
   POSITION ul
  END
  STYLE
   SYMBOL 'circle'
   COLOR 255 0 0
   SIZE 5
  END
 END
END
LAYER
NAME country-boundary
---
Webブラウザのアドレスバーに次のように入力して Enter キーを押します。

http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=global-laster&layer=population&layer=country-boundary&map=/home/user/mapfile/global.map

0 件のコメント: