2008年7月16日水曜日

国土数値地図で東京を表示 4LABELの日本語表示

地図に市区町村名を表示します。

地図に市区町村名(ラベル)を表示するには、マップファイルに次のように追加します。

---
 LAYER
  NAME gyoseikai
  TYPE POLYGON
  STATUS ON
  DATA "../mapdata/tokyo/N03-071001_13.shp"
  LABELITEM "SHIKUCHOSO" #追加
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL #追加
    MINFEATURESIZE 40 #
   END #
  END
 END
---



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

kochi-gothic /usr/share/fonts/truetype/kochi/kochi-gothic.ttf
vl-gothic /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
vl-pgothic /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf

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

マップファイル全体は次のようになります。

MAP
 NAME tokyo_shp_map
 STATUS ON
 SIZE 600 300
 EXTENT 138.85 35.4 140 35.975
 UNITS DD
 IMAGECOLOR 255 255 255
 IMAGETYPE png
 FONTSET "fonts.txt" #マップファイルからの相対パス マップファイルと同じフォルダの意味
 WEB
  IMAGEPATH "/home/nob61/ka-map/htdocs/tmp/kacache/"
  IMAGEURL "/ka-map/tmp/kacache/"
 END

 LEGEND
  TRANSPARENT TRUE
 END

 SCALEBAR
  TRANSPARENT TRUE
 END

 LAYER
  NAME gyoseikai
  TYPE POLYGON
  STATUS ON
  DATA "../mapdata/tokyo/N03-071001_13.shp"
  LABELITEM "SHIKUCHOSO"
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL
    MINFEATURESIZE 40
    TYPE TRUETYPE #フォントのタイプ
    FONT vl-gothic #fonts.txtで指定したフォント名
    ENCODING SJIS #マップデータのエンコード
    SIZE 8 #フォントサイズ
   END
  END
 END
END

0 件のコメント: