JOSM (Java OpenStreetMap Editor) でのデータ選択とレイヤー結合

【概要】JOSMの検索機能で特定の条件に一致するオブジェクトを抽出し、別のレイヤーにまとめる手順を解説する。例として「建物(building)だけを抜き出して別レイヤーに集める」作業に使う。

【事前準備】この手順は、JOSMが起動しており、編集対象のosmファイルがレイヤーとして読み込まれていることを前提とする。osmファイルが未読込の場合は、先に「ファイル」メニューの「開く」で読み込んでおく。

【この手順で行うこと】抽出結果を入れる空の新規レイヤーを用意し(手順1)、編集対象レイヤー上で条件を検索して該当オブジェクトを選択し(手順2・3)、その選択を新規レイヤーへ結合し(手順4)、結果を保存する(手順5)。

【用語説明】

【目次】

  1. 手順1:抽出先となる新規レイヤーの追加
  2. 手順2:検索ウィンドウを開く
  3. 手順3:検索条件の入力と実行
  4. 手順4:選択したオブジェクトを新規レイヤーへ結合
  5. 手順5:抽出結果の保存

手順1:抽出先となる新規レイヤーの追加

抽出したオブジェクトをまとめる空のレイヤーを先に用意する。「ファイル」メニューから「新規レイヤー」をクリックし、新しいレイヤーを追加する。このレイヤーが手順4での結合先となる。

JOSMのファイルメニューから新規レイヤーを選択する画面

手順2:検索ウィンドウを開く

レイヤーパネルで、編集対象のosmファイルのレイヤーをクリックしてアクティブにする(検索はアクティブなレイヤーに対して行われるため、抽出したいデータのレイヤーをアクティブにする)。「編集」メニューから「検索」(ショートカット:Ctrl+F)を選択し、検索ウィンドウを開く。

JOSMの編集メニューから検索を選択する画面

手順3:検索条件の入力と実行

検索ウィンドウで検索条件を入力し、「検索開始」ボタンをクリックすると、条件に一致するオブジェクトが選択状態になる。

検索条件は、タグ(キーと値)やオブジェクト種別で指定する。代表的な書き方は次のとおり。

検索後、画面下部のステータスバーまたは選択リストで選択件数を確認する。0件の場合は何も選択されないため、条件の綴りと、大文字・小文字の区別(name=は区別する、name:は区別しない)を見直す。

JOSMの検索ウィンドウ

手順4:選択したオブジェクトを新規レイヤーへ結合

オブジェクトが選択された状態で、「編集」メニューから「選択を結合」(ショートカット:Ctrl+Shift+M)をクリックし、結合先として手順1で作成した新規レイヤーを指定する。選択したオブジェクトが、指定したレイヤーに追加される。

この操作は元のレイヤーのオブジェクトを削除せず、選択したオブジェクトの複製を結合先レイヤーへ加える。元の編集対象レイヤーのデータはそのまま残る。「選択を結合」は、隣接する同種のOSMデータレイヤー間でのみ利用できる。

JOSMの編集メニューから選択を結合を選択する画面

手順5:抽出結果の保存

レイヤーパネルで、抽出結果をまとめた新規レイヤーをクリックしてアクティブにする。「ファイル」メニューから「名前を付けて保存」を選び、osmファイルとして書き出す。これにより、抽出したオブジェクトを独立したファイルとして保存できる。