これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド osmconvert です。
プログラム:
NAME
osmconvert - OSM ファイルのコンバーター
SYNOPSIS
osmconvert オプション [入力ファイル]
DESCRIPTION
このプログラムは、OpenStreetMap プロジェクトのさまざまなファイル形式を読み取り、
データを選択した出力ファイル形式に変換します。
ボーマン フォーマット できる be 読む:
.osm .osc .osc.gz .osh .o5m .o5c .pbf
ボーマン フォーマット できる be 書かれています:
.osm (デフォルト) .osc .osh .o5m .o5c .pbf
入力ファイルの名前はコマンド ライン パラメーターとして指定する必要があります。 から読み取るには - を使用します
標準入力。 入力形式を指定する必要はありません。osmconvert が認識します。
それら自体で。 デフォルトの出力形式は .osm です。 別の形式が必要な場合は、
適切なコマンドラインパラメータを使用して指定してください。
OPTIONS
-b=、 、 、
地理的領域を制限したい場合は、境界ボックスを定義できます。 やること
この地域の南西と北東の角に入ります。 ために
例: -b= -0.5,51,0.5,52
-B =
境界ボックスの代わりに、境界ポリゴンを使用して境界線を制限することもできます。
地理的地域。 境界ポリゴン ファイルの形式は OSM にあります。
Polygon_Filter_File_Format のウィキ: http://wiki.openstreetmap.org/wiki/Osmosis/
形式の説明に厳密に従う必要はありません。次のことを確認する必要があります。
座標の各行は空白で始まります。
--完全な方法
境界ボックスまたは境界ポリゴンを適用する場合、境界を構成するすべてのノードが除外されます。
たとえそれらが完全に排除されていない方法に属しているとしても、
境界線の内側にいくつかのノードがあります。 このオプションにより、すべてのウェイが確実に維持されます
国境を越えても完全です。 これにより処理が遅くなり、
そしてプログラムは標準入力から読み取る能力を失います。 それは
速度のほとんどを補うために、入力形式として .o5m 形式を使用することをお勧めします。
不利益。
--複雑な方法
前と同じですが、マルチポリゴンも境界でカットされません。
--all-to-node
一部のアプリケーションには、ウェイやリレーションを処理する機能がありません。
ノードを入力として受け入れます。 ただし、ますます複雑なオブジェクトがウェイまたは
すべての詳細をデータベースに取り込むために、関係も含めます。 これを適用します
ウェイとリレーションをノードに変換して作成する場合のオプション
ノードのみを処理できるアプリケーションで利用できます。 ノードのウェイごとに
作成した。 ウェイの ID は 10^15 増加され、新しいノードの ID として使用されます。 の
ノードの経度と緯度は、ウェイの地理的中心に設定されます。 同じ
はリレーションに適用されますが、ID オフセットとして 2*10^15 を取得します。
--add-bbox-tags
このオプションは、境界ボックスを含むタグを各オブジェクトに追加します。 タグには次の内容が含まれます
境界線の座標はこの順序で: 最小経度、最小緯度、最大経度、
最大緯度。 例えば:
--add-bboxarea-tags
bbox の推定面積値のタグが各ウェイと各ウェイに追加されます。
関係。 単位は平方メートルです。 例えば:
v="33828002"/>
--add-bboxweight-tags
このオプションは、各ウェイと各ウェイの bbox 領域の XNUMX 進対数を加算します。
関係。 例えば:
--add-bboxwidth-tags
bbox の推定幅値のタグが各ウェイと各ウェイに追加されます。
関係。 単位はメートルです。 例えば:
--add-bboxwidthweight-tags
このオプションは、各ウェイと各ウェイの bbox 幅の二進対数を加算します。
関係。 例えば:
--object-type-offset=
適用する場合 --all-to-node 上で説明したようにオプションを使用すると、ID を調整できます
オフセット。 例えば: --オブジェクト タイプ オフセット= 4000000000
オフセットに「+1」を追加すると、プログラムは次の順序で ID を作成します。
ステップ 1. これは、引き続き実行中のアプリケーションがある場合に便利です。
大きな ID 番号を処理できません。 例:
--オブジェクト タイプ オフセット= 1900000000 + 1
--drop-broken-refs
除外されたノードへの参照を削除する必要がある場合は、このオプションを使用します。
国境の外にあるため (地図などの一部のアプリケーションでは必須)
作曲家、JOSM)。
--ドロップ作者
ほとんどのアプリケーションでは、作成者タグは必要ありません。 このオプションを指定すると、
作成者情報は書き込まれません。変更セット、ユーザー、またはタイムスタンプはありません。
-ドロップバージョン
著者情報だけでなくバージョン番号も除外したい場合は、
このオプションを指定します。
--ドロップノード -ドロップウェイ --ドロップ関係
これらのパラメータの組み合わせによると、参照されたメンバーはありません
セクションが書かれます。
--差分
5 つのファイルの差分を計算し、新しい .osc または .oXNUMXc ファイルを作成します。 そこには
入力ファイルは XNUMX つである必要があり、境界線は適用できません。 両方のファイルを並べ替える必要があります
オブジェクトのタイプと ID によって。 作成されたオブジェクトは出力ファイルに次のように表示されます。
バージョン番号が 1 でない限り、「変更済み」。
--差分コンテンツ
そして --差分, このオプションは XNUMX つの OSM ファイル間の差異を計算します。 ここ、
違いを判断するには、OSM オブジェクトだけでなく、完全な OSM オブジェクトも参照します。
バージョン番号。 残念ながら、このオプションでは両方の入力ファイルが厳密に必要です。
.o5m 形式です。
--減算
出力ファイルには、入力ファイルのいずれかに存在するオブジェクトは含まれません。
この指令に従ってください。 例: osmconvert input.o5m --減算 マイナス5m
-o=output.o5m
--pbf-粒度=
まれに、.pbf ファイルの粒度が標準以外のものもあります。 osmconvert は認識します
これと、このコマンドを使用して異常な経時/緯度粒度を指定することを提案します
ラインオプション。 許可される値は、100 (デフォルト)、1000、10000、...、10000000 です。
-エミュレート-浸透 --emulate-pbf2osm
.osm出力形式の場合、プログラムはと同じデータ構文を使用しようとします。
浸透、それぞれ。 pbf2osm。
--偽の作者
著者情報を削除した場合(--ドロップ作者)そのデータは失われます
コース。 ただし、一部のプログラムでは、入力に関する作成者情報が必要ですが、必要です。
そのデータは必要ありません。 この目的のために、あなたは作者情報を偽造することができます。
osmconvert はチェンジセット 1、タイムスタンプ 1970 を書き込みます。
-偽のバージョン
と同じ --偽の作者、ただし-.osmxmlが出力形式として使用されている場合-
バージョン番号が書き込まれます(バージョン1)。 これは、検査したい場合に便利です
JOSMでのデータ。
--偽ロンラット
一部のプログラムは、オブジェクトが
質問は削除されるものとします。 このオプションを使用すると、osmconvert でこれらを偽装することができます
値:
... lat = "0" lon = "0"..。
これはXMLファイル(.oscおよび.osh)専用であることに注意してください。
-h
短いパラメータの概要を表示します。
- 助けて
このヘルプを表示します。
--マージバージョン
一部の .osc ファイルには、XNUMX つのオブジェクトの異なるバージョンが含まれています。 このオプションを使用して、
入力時にそのような重複を受け入れます。
--out-osm
データは.osm形式で書き込まれます。 これがデフォルトの出力フォーマットです。
--out-osc
OSM変更フォーマットが出力に使用されます。 OSMオブジェクトが
削除されるものは、その ID のみで表されます。
--アウトオシ
すべてのOSMオブジェクトに対して、適切な「可視」タグが追加され、「完全」に対応します。
惑星の歴史の仕様。
--out-o5m
.o5m形式が使用されます。 このフォーマットは、
従来の.osm形式ですが、データはXNUMX進数として保存され、
したがって、.osm形式よりもはるかにコンパクトです。 パッキンを使用していないので、
lzo、bz5など、必要なすべてのファイルパッカーを使用して.o2mファイルをパックします。
--out-o5c
.o5mデータ形式の変更ファイル形式です。 全てタグはなりません
削除アクションとして実行されますが、.o5cデータ形式に変換されます。
--out-pbf
出力にはPBF形式が使用されます。
--out-csv
文字で区切られたリストが出力に書き込まれます。 デフォルトの区切り文字は次のとおりです
[タブ] のデフォルトの列は、type、id、name です。 を使用して両方を変更できます
オプション --csv-separator= --csv=
--csv-見出し
CSV 出力に見出しを印刷するには、このオプションを選択します。
--csv-separator=
デフォルトの区切り文字(タブ)を別の文字に変更できます。
順序。 例えば: --csv-separator=";"
--csv=
CSV リストに特定の列を含めたい場合は、その名前を次のように指定してください。
この例に示すように: --csv=「@id name ref description」には特殊なものがいくつかあります
ヘッダー データの列名: @otype (オブジェクト タイプ 0..2)、@oname (オブジェクト タイプ名)、
@id @lon、@lat、@version、@timestamp、@changeset、@uid、@user
--out-なし
これは標準出力ではありません。 このオプションはテストのみを目的としています。
--タイムスタンプ= -タイムスタンプ=今
出力ファイルの OSM タイムスタンプを設定したい場合は、これを指定します。
オプション。 日付と時刻は、OSM の日付/時刻仕様に従ってフォーマットする必要があります。 ために
例: --timestamp=2011-01-31T23:59:30Z 我が国 また できる 供給 a 相対 時間 in
秒、 例えば 24:XNUMX: 前に: --timestamp=NOW-86400
--アウトタイムスタンプ
このオプションを設定すると、osmconvert は入力ファイルのタイムスタンプのみを出力します。
他には何もありません。
- 統計
このオプションは統計カウンターをアクティブにします。 プログラムは統計データを出力します
stderrに。
--アウト統計
と同じ - 統計ただし、統計データは標準出力に書き込まれます。
-o =
標準出力は、指定されたファイルに再ルーティングされます。 出力形式がない場合
指定されている場合、プログラムはファイル名拡張子に依存します。
-t =
境界線を適用する場合、または壊れた参照を削除する場合は、osmconvert
XNUMX つの一時ファイルを作成して使用します。 このパラメータは、名前のプレフィックスを定義します。
デフォルト値は「osmconvert_tempfile」です。
-パラメータファイル=FILE
パラメータファイルでXNUMXつ以上のコマンドライン引数を指定する場合は、
このオプションを使用して、ファイル名を指定してください。 パラメータファイル内で、
パラメータは空行で区切る必要があります。 パラメータ内のラインフィードは次のようになります
スペースに変換されます。 「//」で始まる行はコメントとして扱われます。
-v -詳細
「詳細」モードをアクティブにすると、一部の統計データと診断データは次のようになります。
表示されます。 もしも -v それぞれ。 -詳細 行の最初のパラメータです。osmconvert
すべての入力パラメータが表示されます。
TUNING
プロセスを高速化するために、プログラムはハッシュテーブルにメインメモリを使用します。 デフォルトでは、
可能なすべてのノードのフラグを格納するために480MB、ウェイフラグに90 MB、および30MBを使用します。
関係フラグ。 すべてのバイトは8つのID番号のフラグを保持します。つまり、480MBのプログラム
3840百万のフラグを保存できます。 現在、ノードのIDは1900億未満であるため
(2012年240月)、XNUMXMBで十分です。 したがって、たとえば、ハッシュサイズを次のように減らすことができます。
たとえば、このオプションを使用すると 240、30、2 MB になります。
-ハッシュメモリ=240-30-2
ただし、OSMデータベースは継続的に拡張されていることに注意してください。 このため、
プログラム独自のデフォルト値は例に示されている値よりも高く、適切な場合があります
将来的にそれを増やすために。 詳細を気にしたくない場合は、
メモリの量を合計として入力すると、プログラムはそれをそれ自体で除算します。 にとって
例:
-ハッシュメモリ=1000
これらの1000MiBは、ノード用に800、ウェイ用に150、およびウェイ用に50のXNUMXつの部分に分割されます。
関係。
ハッシュを使用しているため、提案されたすべてのメモリを提供する必要はありません。 NS
プログラムは、より少ないハッシュメモリでも動作します。 ただし、この場合、境界フィルターは
効果が低くなります。つまり、いくつかの方法といくつかの関係が出力ファイルに残ります。
それらは除外されるべきでしたが。 プログラムが受け入れる最大値
ハッシュサイズは4000MiBです。 使用可能なメモリの最大量を超えた場合
システムでは、プログラムはこの量を減らして警告メッセージを表示しようとします。
ウェイの変換のみに使用される別の一時メモリ空間があり、
ノードとの関係 (オプション --all-to-node)。 このスペースは最大 25 Mio を収容するのに十分です。
OSM オブジェクト。この目的には 400 MB のメイン メモリが必要です。拡張オプションの場合は 800 MB が必要です。
--add-bbox-tags が発動されました。 これでは不十分な場合、またはメモリを節約したい場合は、
OSM オブジェクトの最大数は自分で設定できます。 例えば:
--最大オブジェクト=35000000
オブジェクトごとの参照数は 100,000 に制限されています。 これはすべての人にとって十分です
OSM ファイル。 シェープファイルなどを変換して独自の OSM ファイルを作成する場合
ファイルを OSM 形式に変換すると、100,000 を超えるノードを持つウェイ オブジェクトが作成される可能性があります。 ために
このため、それに応じて最大値を増やす必要があります。 例:
--max-refs=400000
制限
地理的領域を抽出する場合 ( -b or -B)、入力ファイルには
オブジェクトはタイプ順に並べられます。最初、すべてのノード、次、すべてのウェイ、次にすべてのノード
関係。 これらの各セクション内で、オブジェクト セクションを ID で並べ替える必要があります。
昇順。
通常の .osm、.osc、.o5m、o5c、および .pbf ファイルはこの条件に従います。 これは、あなたが
この制限について心配する必要はありません。 次の場合、osmconvert はエラー メッセージを表示します。
このシーケンスは壊れています。
境界線用のポリゴン ファイルが提供されている場合、ポリゴン ポイントの最大数は約
40,000.
注意事項
このプログラムは実験用です。 誤動作やデータの損失が予想されます。 使用しないでください
生産的または商用システムでのプログラム。
法律で許可されている範囲で、保証はありません。 バグレポートをに送信してください
[メール保護]
実施例
osmconvert ヨーロッパ.pbf --ドロップ作者 >ヨーロッパ.osm
osmconvert europe.pbf |gzip >europe.osm.gz
bzcat europe.osm.bz2 |./osmconvert --out-pbf >ヨーロッパ.pbf
osmconvert ヨーロッパ.pbf -B=ch.poly >スイス.osm
osmconvert スイス.osm --out-o5m >スイス.o5m
osmconvert june_july.osc --out-o5c >june_july.o5c
osmconvert june.o5m june_july.o5c.gz --out-o5m >5月XNUMX分
osmconvert sep.osm sep_oct.osc oct_nov.osc >nov.osm
osmconvert 北アメリカ.osm 南アメリカ.osm >アメリカス.osm
onworks.net サービスを使用して osmconvert オンラインを使用する
