2

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 ベースのプログラムは役に立ちません:|

4

2 に答える 2