[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 メーリングリストの案内