OSM から Planet ファイルをダウンロードし、osmconvert で o5m 形式に変換し、さらに作成者情報をすべて削除して、ファイル サイズを小さくしました。私は全世界からこのデータベースからすべての POI を取得しようとしているので、都市、町、高速道路、道路などには興味がなく、アメニティだけに興味があります。
最初に、osmosis を使用してこれを達成しようとしましたが、ファイルが大きすぎて処理できないため、常にメモリが不足しているように見えます。(ファイルをより小さなものに分割することもできますが、可能であればこれを避けたいと思います)。
osmfilter を試してみたところ、amenity という名前のタグを持つすべてのノードを除外することができましたが、解決できない問題がいくつかあります。
を。次のコマンドを使用する場合:
osmfilter planet.o5m -v --keep-tags="amenity=" -o=amenities.osm
すべてのノードを保持し、名前にアメニティが含まれていないすべてのタグを除外します。
b. このコマンドを使用する場合:
osmfilter planet.o5m -v --keep-tags="all amenity=" -o=amenities.osm
アメニティ タグを持たないすべてのノードを除外するだけでなく、必要な情報 (POI の名前や説明など) を含む、一致するノードからすべての追加タグを除外するようになりました。
c. このコマンドを使用する場合:
osmfilter planet.o5m -v --keep-tags="all amenity= all name=" -o=amenities.osm
タグに名前またはアメニティのいずれかが含まれるすべてのノードを除外します。これにより、いくつかの名前付きの都市または高速道路 (不要なデータ) が残ります。
これを AND 演算子で区切ってみましたが、タグのフィルタリングでは AND 演算子を使用できないとのことです。どうすれば望ましい結果を達成できますか?
最後のメモ: 私は Windows 7 システムを実行しているので、Linux ベースのプログラムは役に立ちません:|