[OSM-ja] Compiling osmfilter on MacOS
Toshihisa Tanaka
tosihisa @ netfort.gr.jp
2013年 12月 7日 (土) 02:56:40 UTC
としです.
> いいだです。
...
> この時に処理の前段階として .osmファイルから対象のオブジェクトを抽出するために
> osmfilterというプログラムを使うのですが、そのコンパイルに失敗します。
> どなたか、手がかりがわかるかたいらっしゃいますでしょうか?
>
> 環境は、MacOS X 10.8.5です。
> http://wiki.openstreetmap.org/wiki/Osmfilter
>
> ■Wikiの手順でやると、引数が多いっていわれて停止
> nyampire$ wget -O - http://m.m.i24.cc/osmfilter.c |cc -x c - -O3 -o osmfilter
> <stdin>:5166:27: warning: too many arguments in call to 'read_close'
> read_close(oo__ifp->ri);
> ~~~~~~~~~~ ^
>
> ■wgetでいったんローカルにダウンロードして試したけどNG。-vオプションの結果。
> nyampire$ cc -x c - -O3 -o osmfilter -v osmfilter.c
テキストエディタで,osmfilter.c を開いて,5166 行目が,
read_close(oo__ifp->ri);
となっているのを,
read_close(/* oo__ifp->ri */);
として下さい.
ソースをざっとですが見ましたがこれで行けるはずで,Mac OS X 10.9 でコンパイルできることを確認して,
適当に map.osm をエクスポートして,
$ ./osmfilter map.osm --keep="highway=secondary"
とかすると highway=secondary に関するもののみが残る(フィルタされる)ところまで確認しました.
この osmfilter は便利そうですね.私は今まで grep と awk を駆使?してフィルタしていましたが,
これだともっと簡単にフィルタ出来そうです.
ではこれにて.
Talk-ja メーリングリストの案内