prasinos' work memo

今時分は4時でもう明るくなるのね

もう寝ましょう。
スポンサーサイト

mapserver のエラーメッセージ

mapserver を使ったアプリケーション、作って何ヶ月かほっといたら動かなくなっていた。原因を調べたところ、mapfile で JPEG に transparent を指定したにもかかわらず GD がサポートしていないからだった。apache のエラーログをよく読もう。

文字が多すぎて読む気がしなかったが、

tail -40 /var/log/httpd/errors_log | cut -b50- | sed 's/referer.*//'
などとすると驚くほど読みやすくなる。

latlong NetCDF は楽勝、しかし Lambert NetCDF は敗北

だめだった。 副産物は proj のマニュアル を発見したことくらいだ。 結局のところ
Firstly GDAL doesn't support all versions of netCDF (there are a lot, it is a generic format), so for stability it may be necessary to convert the files into GeoTiff format first.
という不吉な言葉(参照)におとなしくしたがっておけばよいという結論となる。

latlong GeoTIFF の表示に成功

なんとか自作 GeoTIFF を Mapserver が表示できるようになった。 続きを読む

クラス数の制限

mapserver のクラス数に制限がある問題だが、メッセージに対応するソースコードを追うと
  • mapfile.c:2368: レイヤあたりのクラス数が MS_MAXCLASSES を超えると "Maximum number of classes reached.", "loadLayer()" と言って死亡
  • layerobject.c:67: 同上の条件で "Max number of classes, %d, has been reached.", "msInsertClass()" と言って死亡
といったあたりのようだ。 MS_MAXCLASSES は map.h で 250 に指定されている にもかかわらずなぜ 40 クラスくらいしか指定できないのかは 謎であるが、ともあれここを拡張すればよいのであろう。

しかしだね、realloc するとかなんとかできんのかね。

引き続き調査課題。

FC2Ad