基盤地図情報対応 GDAL のビルドで若干つまづく

いまさら感もあるけど、基盤地図情報(JPGIS)対応GDAL。以下「mext_gdal」とします。mextと付いているのは文科省さんの事業の中で開発されたためです。

GDALは、GISの各種フォーマットの相互変換や加工等に活躍してくれるライブラリ+ユーティリティ。基盤地図情報国土地理院が発行する使用条件が緩い地図データ。

GDALは基盤地図情報を読めないのですが、mext_gdalは基盤地図情報に対応してくれたというもの。ありがたや。

ダウンロードは http://www.osgeo.jp/foss4g-mext/ から。

ちょっと思うことがあって、mext_gdalをビルドしなおそうとしたところ、いくつかひっかかったところがあったので、ここに残しておきます。

GDAL 1.9.0 ベースに由来する問題

基盤地図情報対応GDALはGDAL 1.9.0をベースにしています。現在のGDAL 1.9.2では解消されている問題が1.9.0ベースでは残っている、ということがあります。

2つあります。

iconvを呼ぶ箇所のキャスト

gcc 4.4以降では、const型修飾子を厳密にとる模様。
http://d.hatena.ne.jp/tmatsuu/20090717/ あたり参照。

iconvを呼ぶ箇所でコンパイルエラーが発生します。最新のGDALではこの問題は解消されています。

Giflibの破棄された関数

PrintGifError()は現在のGiflibでは破棄されていて、この関数を呼ぼうとしてくれます。

Giflibのソースがバンドルされているので、/usr/local/下に新しいgiflibがある場合はこれを抜いて(そうしないと新しいgiflibを使おうとする)、gifをinternal指定してやるといけるはずです。「はず」としているのは、1.9.0をコンパイルしたときにやったことがあるのですが、記憶の彼方なのです。

ただ、今回は、既に Giflibを外部から使っている GDAL 1.9.2 を入れていて、ややこしくなるのを避けるため、基盤地図情報から他のフォーマットに変換した後はGDAL 1.9.2を使うこととし、mext_gdalはgif非対応としました。

GDAL 1.9.2との同居の問題

mext_gdalを実行するときには LD_LIBRARY_PATH と PATH を mext_gdal にあわせてやる必要があります。いつものことです。