はじめに

GDAL/OGR ( http://www.gdal.org/ ) は、ラスタデータ、ベクタデータに対して、投影変換等の幾何的な変換を施したり、別の書式で出力したり、といった、(さまざまな意味での)変換を行うためのライブラリ+CUIプログラム群です。

また、JSONなラスタをGDALでドライブで示した通り、GDALは自前でドライバを開発することができます。

最近まで、ソースコードをいじって組み込むようにしていたのですが、FreeBSDのpkgから入れる場合には対応できません。

ドライバをプラグインにできないかを断続的に調べていましたが、最近になって突然分かったので、ここにメモを残します。

ただし、これはFreeBSD上で確認したもので、たぶんUNIXライクなOSなら大丈夫だろうと思いますが、Windowsについては分かりません。

コンパイル

普通に.soファイルを作ります。この際、ファイル名をgdal_(フォーマット名).soとします。フォーマット名は大文字小文字の区別がありますので、ご注意ください。RasterJSONというフォーマットのドライバをGNU C++でコンパイルする場合には、次のようになります。

c++ -fPIC -shared RasterJSON.cpp -o gdal_RasterJSON.so `gdal-config --cflags` `gdal-config --libs` (ほかのオプション)

インストール先

$(PREFIX)/lib/gdalpluginsというディレクトリができていて、ここに投入すれば読みに行ってくれるようになっています。rootになって、次のようにすれば入ります。

cp gdal_RasterJSON.so "`gdal-config --prefix`/lib/gdalplugins"

参考

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.