サイトマップ
お知らせ、メモ
案内板
うちのヘッドライン
 




トップ  >  ソフトウェア豆知識  >  MapServer豆知識  >  MapServer PostGISデータの表示

MapServer postGISデータの表示

postGISのデータを表示するMAPファイルのサンプルです。 ユーザは"postgres、データベース名がgistest、ホストがlocalhostの場合です。

  FONTSET "fonts.txt"

  LAYER
    NAME "jpn"
    TYPE POLYGON
    STATUS DEFAULT
    DATA "the_geom from test"
    CONNECTIONTYPE POSTGIS
    CONNECTION "user=postgres dbname=gistest host=localhost 
                password="パスワード" port=5432" (実際は1行)
    LABELITEM city1
    CLASS
      TEMPLATE void
      OUTLINECOLOR 100 100 100
      COLOR 255 255 150
      LABEL
        TYPE truetype
        FONT msgothic
        ENCODING SHIFT-JIS
        SIZE 14
        COLOR 0 0 150
      END
    END
  END

イロイロとありますが、要点は以下のようなところでしょうか。 ちょっとまだ謎が多く残されています(特に文字関連)。

  • "FONTSET"にはフォント情報を記述したファイルへの相対パスを指定します。 そのファイルはフォントファイルとフォント名の対応を記述しただけのもので、以下のような感じです。
    msgothic C:\WINDOWS\Fonts\msgothic.ttc
  • "DATA""フィールド名" from "テーブル名"の形式でジオメトリデータのフィールドを指定
  • "CONNECTIONTYPE POSTGIS"は決めうち
  • "CONNECTION"は上記の通りユーザ名、データベース名、パスワードを指定、hostportはpostGISの場合は決めうち
  • "LABELITEM"はラベルとして表示したいデータのフィールド名を指定
  • "LABEL"セクションの"TYPE"はフォントの種別らしい。ので、TrueTypeフォントなら"truetype"
  • "FONT""FONTSET"で指定したファイルのフォント名を指定
  • "ENCODING"はラベルに使用されている文字コードを指定するわけですが、データベースの文字コードではないのか???

データベースの文字コードがEUC-JPであるにもかかわらず上のサンプルで表示されてしまいました。 データベースに放り込まれたShapeファイルの文字コードがそのままここに来ているとしか思えません。 いずれにしても多分これは正しい方法ではないはずです。文字コードの指定は両方正しくしましょう。


クリエイティブ・コモンズ・ライセンス
This documents by Yamate,N is licensed under a Creative Commons 表示 - 継承 3.0 非移植 License.
login