OSMを使い始めて間もなく10年になる。当初は japan.osm.pbf を PostgreSQL/PostGIS に読み込ませていたが、 数年後に、この方法はやめて、pbf形式をプレーンテキストの xmlファイルに変換するようになった。
最初は osmosis で変換していたが、当時は osmconvert での変換が高速であったので、これを使っていた。
しかし、osmconvert は高機能化して、単純な変換には非常に 時間がかかるようになった。
そこで、osmosis に戻してみる。
osmosis-0.49.2.zipをダウンロードした。これを c:/osmosis に解凍した。
Pathに c:\osmosis\bin\ を登録した。
実行では、次のメッセージが出る。 警告であり、無視してもよいのかもしれない。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
「クラス パスにslf4j-nop.jar 、 slf4j-simple.jar、 slf4j-log4j12.jar、slf4j-jdk14.jar、または logback-classic.jarのいずれか 1 つ (1 つだけ) を配置すると、問題が解決するはずです。」 とあるので、slf4j-nop.jarを libディレクトリにダウンロードした。
同じメッセージが出るが、実行は始まる。
osmosis --rbf c:/users/hatad/downloads/japan-latest-internal.osm.pbf --wx file="c:/osm/japan.osm"
実行時間は japan.osm で 20数分、kanto.osm で 4分、kansai.osm で 3.5分であった。