2004年10月07日
MapServer動作テスト中。
とりあえず目標が出来たので、本格的にMapServerを触ってみる。
日経Linux10月号をよくよく見てみると、記事だけじゃなく付録CD-ROMに日本語サンプルと言うのもあったので、ここギコ新サーバになる予定のサーバで、それを試してみる。
とりあえず動作させたのがこちら。
IPAX2004Springのオークニーさんのブースで見せてもらったやつだな。
とりあえず今PostGISはまだセットアップしてないので、例06まで動いてる。
でも、MapServer 4.3で国際化対応は取り込まれたはずなんで、MapServer本家のWebからのナイトリービルド(4.3)ダウンロードしてコンパイルしてみたんだけど、これだとなぜか例1までしか動いてくれなくて、例2以降の実行結果はloadMapInternal(): General error message. Given map extent is invalid.
というエラーが出てしまう。
何でだろう、MAPFILEの書式が変わったんだろうか。
仕方ないので、今は国際化版の4.0.1で動作テストしてる。
定性的ですが4.3で動かなかった原因判明。
よく見ると、エラーメッセージの中の「extent」というのがMAPFILEの属性に存在する。
どうも地図の表示範囲を経緯度ベースで指定しているらしい。
それで、これの設定に問題があるのかも、とアタリをつけて調査。
4.3でも動く例1の場合。
EXTENT 139.533 35.537 139.945 35.8194.3では動かない例2の場合。
EXTENT 139.727 35.708 139.779 35.678一見して気付くのは、緯度指定が、例1では低緯度→高緯度の順に定義されているのに対し、例2では高緯度→低緯度の順になっている事。
これを、例2でも低緯度→高緯度の順に直して
EXTENT 139.727 35.678 139.779 35.708やると…動いた!!
というわけで、MapServer4.3では、EXTENTパラメータのデータ並びに関する厳格性が厳しくなったようです。
一応先に書いた通り、例6まで動いてるけど、日本語ラベルが入っている例6は動かすのにすごく苦労した。
サンプルのチュートリアルの通りにやってもラベルが文字化けしてしまって動かないので、GDにJISX0208オプションが付いてるとMapServerが国際化版でも文字化け云々の問題かと思いGDを再コンパイルしたり、いろいろ試したけどさっぱり判らない。
んで、つらつらと国際化版のドキュメント読んでみると、国際化するに当たってMAPFILEにENCODINGパラメータを追加したとかなんとか書いてあるけど…サンプルのMAPFILEって、どこにもENCODINGパラメータなんて入ってないんですけど?
んでまさかと思いENCODINGパラメータを付加してやると…動いた!動きましたよ!
…うーん、そのままでは動かないサンプルを付けるなんて、オークニーさんのい・け・ず。
[composed and posted with ecto]
![[ここギコ!]](http://kokogiko.net/logo.png)



・コンピュータは2進法が効率的でとかいう話(XAGary)
・コンピュータは2進法が効率的でとかいう話(とおりすがり)
・ジオメディア忘年会行ってきました(宋さんへ:kokogiko)
・コンピュータは2進法が効率的でとかいう話(kokogiko)
・コンピュータは2進法が効率的でとかいう話(まぐろ)
・コンピュータは2進法が効率的でとかいう話(名無し)
・コンピュータは2進法が効率的でとかいう話(dokasen)
・コンピュータは2進法が効率的でとかいう話(dokasen)
・Google未オルソ衛星画像にぶった切られた我が母校(maeda)