JA:Osmosis/Examples

From OpenStreetMap Wiki
Jump to: navigation, search
利用できる言語 — Osmosis/Examples
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
その他の言語このウィキの翻訳を支援してください

このページでは、Omsosisのかなりひねくれた使い方の例について紹介します。基本的な使い方についてはOsmosis#Example Usageを参照してください。様々なオプションに関するリファレンス文書については、Osmosis/Detailed Usageを参照してください。

その他の例

OSMファイルを複数の矩形領域に分割する

以下のコマンドラインでは、スロバニアのOSMファイルを、lat=15, long=46周辺で4つの四分円に分割します。

osmosis 
  --read-xml SloveniaGarmin.osm --tee 4
  --bounding-box left=15 top=46 --write-xml SloveniaGarminSE.osm
  --bounding-box left=15 bottom=46 --write-xml SloveniaGarminNE.osm
  --bounding-box right=15 top=46 --write-xml SloveniaGarminSW.osm
  --bounding-box right=15 bottom=46 --write-xml SloveniaGarminNW.osm 

(注意: 操作の順番は重要です。このサンプルは、Osmosis バージョン 0.29で動作します)

20以上の矩形範囲に分割する場合、このスクリプトではなくbboxSplitを利用してください。全世界のPlanetファイルを扱う際にも、より短時間に、軽量のメモリで動作します。

Breaking out a large number of polygons

以下のコマンドラインでは、German Federal Statesの16個の別々のbz2ファイルを取り扱います。(バックスラッシュがない場合、すべてのコマンドを1行につなげてください。あるいは、バックスラッシュを含み、空白を除いた形でコピー/ペーストしてください)

osmosis \
  --rx full/planet-071128.osm.bz2 \
  --tee 16 \
  --bp file=polygons/europe/germany/baden-wuerttemberg.poly \
  --wx baden-wuerttemberg.osm.bz2 \
  --bp file=polygons/europe/germany/bayern.poly \
  --wx bayern.osm.bz2 \
  --bp file=polygons/europe/germany/berlin.poly \
  --wx berlin.osm.bz2 \
  --bp file=polygons/europe/germany/brandenburg.poly \
  --wx brandenburg.osm.bz2 \
  --bp file=polygons/europe/germany/bremen.poly \
  --wx bremen.osm.bz2 \
  --bp file=polygons/europe/germany/hamburg.poly \
  --wx hamburg.osm.bz2 \
  --bp file=polygons/europe/germany/hessen.poly \
  --wx hessen.osm.bz2 \
  --bp file=polygons/europe/germany/mecklenburg-vorpommern.poly \
  --wx mecklenburg-vorpommern.osm.bz2 \
  --bp file=polygons/europe/germany/niedersachsen.poly \
  --wx niedersachsen.osm.bz2 \
  --bp file=polygons/europe/germany/nordrhein-westfalen.poly \
  --wx nordrhein-westfalen.osm.bz2 \
  --bp file=polygons/europe/germany/rheinland-pfalz.poly \
  --wx rheinland-pfalz.osm.bz2 \
  --bp file=polygons/europe/germany/saarland.poly \
  --wx saarland.osm.bz2 \
  --bp file=polygons/europe/germany/sachsen-anhalt.poly \
  --wx sachsen-anhalt.osm.bz2 \
  --bp file=polygons/europe/germany/sachsen.poly \
  --wx sachsen.osm.bz2 \
  --bp file=polygons/europe/germany/schleswig-holstein.poly \
  --wx schleswig-holstein.osm.bz2 \
  --bp file=polygons/europe/germany/thueringen.poly \
  --wx thueringen.osm.bz2

"osmosis --rx full/planet-071128.osm.bz2"の部分がうまく動作しない場合は、"bzcat full/planet-071128.osm.bz2 |osmosis --rx /dev/stdin"を代わりに使用してください。

16個のポリゴンを分割するには、1つのポリゴンを分割するのに比べて30%ほど多く時間がかかります。

パフォーマンスを改善するには、以下の方法があります。

  • .bz2を使わない
  • 最初にヨーロッパやドイツの矩形範囲を切り出して作業を行う

Osmosis/Polygon_Filter_File_Formatも参照してください。

ポリゴンデータのその他の分割例については this Geofabrik blog entryも参照してください。

1つのポリゴンだけを分割

Linuxユーザであれば、このタスクを実行するにあたって、非常に高速でカンタンなやり方があります。 Osmosisのかわりに、osmchangeを使います。例:

cat europe.osm | ./osmchange -B=hamburg.poly >hamburg.osm
bzcat europe.osm.bz2 | ./osmchange -B=hamburg.poly |bzip2 >hamburg.osm.bz2
gunzip europe.osm.gz | ./osmchange -B=hamburg.poly |gzip -1 >hamburg.osm.gz

注意:bzip2で圧縮するよりも、gzip -lで圧縮したほうがはるかに高速で処理が行われます。圧縮後のファイル容量はbzip2に比べて 50%ほど大きくなりますが、処理時間は10倍ほど高速になります。

Alternatives

.pdfファイルから地域データを抽出する処理で最も高速なツールはpbftoosmosmconvertと思われます。どちらのツールも、LinuxとWindows環境で動作可能です。