2015年6月29日月曜日

10 国土数値情報 4 - LABELの日本語表示

10-4 LABELの日本語表示
地図に市区町村名を表示します。
地図に市区町村名(ラベル)を表示するには、マップファイルに次のように追加します。
---
 LAYER
  NAME gyoseikuiki
  TYPE POLYGON
  STATUS ON
  DATA "N03-14_13_140401.shp"
  LABELITEM "N03_004" #LABELを使うときのフィールドの属性値の指定
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL #追加
    MINFEATURESIZE 40 #フィーチャがラベルを表示する最小サイズ
   END #LABEL
  END
 END
---
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。

http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map


このままでは日本語が表示できません。
日本語を表示できるように次のようにします。
次の内容の fonts.txt というファイルを作成します。
マップファイルと同じフォルダに保存します。

nob61@deb8-vmw:~/mapfile$ vim fonts.txt
kochi-gothic /usr/share/fonts/truetype/kochi/kochi-gothic.ttf
kochi-gothic-subset /usr/share/fonts/truetype/kochi/kochi-gothic-subset.ttf
vl-gothic /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
vl-pgothic /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf
(それぞれパッケージ名は、ttf-kochi-gothic、fonts-vlgothic です。)

どれか1行でOKです。
[フォント名] [フォントがある場所の絶対パス] という内容になっています。
フォント名は任意のわかりやすい名前をつけてください。
パスは Synaptic パッケージマネージャで、例えば gothic で検索するとパッケージ一覧が表示されます。
インストールされているパッケージを選択し、プロパティをクリックしてインストール済みファイルタブをクリックすると、パスが表示されます。
インストールされていないときは、Synaptic パッケージマネージャでインストールしてください。(上記以外にも日本語フォントがあります。)

マップファイル全体は次のようになります。
MAP
 NAME tokyo_shp_map
 STATUS ON
 SIZE 600 300
 EXTENT 138.85 35.4 140 35.975
 UNITS DD
 SHAPEPATH "../mapdata/nlni/tokyo"
 IMAGECOLOR 255 255 255
 FONTSET "fonts.txt" #追加
 WEB
  IMAGEPATH "/home/user/public_html/ms_tmp/"
  IMAGEURL "/public_html/ms_tmp/"
 END
 LAYER
  NAME gyoseikuiki
  TYPE POLYGON
  STATUS ON
  DATA "N03-14_13_140401.shp"
  LABELITEM "N03_004" #追加
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL
    MINFEATURESIZE 40
    TYPE TRUETYPE #フォントのタイプ
    FONT kochi-gothic #fonts.txt で指定したフォント名
    ENCODING SJIS #マップデータのエンコード
    SIZE 8 #フォントサイズ
   END
  END
 END
END #MAP END
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。

http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map


0 件のコメント: