MapScriptをためす

UMN MapServer には MapScript といううれしいかどうかは知らないけれども、おまけといっていいかどうかは知らないけど、とにかくあります。スクリプト言語からMapServerを使うことができます。
でも、PHPApacheモジュールで入れていると機能せず、PHPCGIで動かさないといけません。
何かかなり気乗りがしなかったので、Perlでやることにしました。
swigを使ってPerlから動かすのを実現していますが、ラッパーとかは作成済みなのでswig環境は不要。
Makefile.PLを実行してmake, make install で済みました。
opacityとかの設定もOKだったし、レイヤの追加とかも可能。
リファレンスは http://www.mapserver.org/mapscript/mapscript.html にありますが、
メソッドの一覧を知るには、mapscript.pm もあわせて見た方がいいです。
mapscript.pmだけを見てはいけません、「"immutable"と表示されているプロパティはread-onlyです」といった情報が無いですから。imagetypeをセットしようとして失敗して、おかしいなと思ってたら immutable なんだというのに気付いたりしますから。なお、画像タイプの変更は mapObj::selectOutputFormat() です。
プロパティのgetter, setter は、swig_(プロパティ名)_[set|get] とういかんじ。もしくは $obj->FETCH(プロパティ名), $obj->STORE(プロパティ名,値) 。
中心点(緯度経度)とスケールを指定してレンダリングができたので、私としたら「いいでしょう」というところ。
ただ、imageObj::saveWebImage() が見つかりませんでした。