画像オフセット

衛星画像は通常、正確な形でジオリファレンスされた形式で提供されることがほとんどです。しかし時折、そうした衛星写真のジオリファレンスの位置がずれることがあります。この事象は丘陵や山脈など、地表において高低差のある地域を正確に二次元へ引き伸ばすことが難しい場所で特に顕著にあらわれます。JOSMで衛星画像を読み込む際、場所によっては、正確な位置から10メートルほど離れた位置に画像が置かれることがあります。これは 画像オフセット と呼ばれます。

以下の例は、別々の2枚の航空写真がジオリファレンスされ、結合された結果です。ジオリファレンスで完璧な結果が得られず、結果として双方のラインを完全に重ね合わさっていません。これはすなわち、どちらか片方、あるいは両方の画像に間違いがある、ということを意味しています。

misaligned images

私たちはこれまでに、地図作りには主に2つの方法があることを学びました。ひとつは、衛星画像を使って地表に存在する地物を識別し、描く方法。もうひとつは、GPS機器を使い、自身が移動した軌跡とウェイポイントをOpenStreetMapに追加する方法です。もちろん、衛星画像のほうが、圧倒的に優位ではあります。衛星画像を使うことでマッパーは画像から多くの情報を読み取り、その地域について自分が知っている事柄と組み合わせることで、道路や建物など、その場所にある地物を簡単に地図に描くことができます。ただしGPSには、画像オフセットのような要因で位置ずれが発生しない、という利点があります。GPS機器は常に、あなたが居る緯度と経度を記録しています。高い建物や丘の影ではGPS衛星からの信号に障害が発生することはありますが、その場合でもそうしたデータは簡単に、異常なものだと認識することができます。Bingの衛星画像と一緒にGPSの軌跡を読み込み、注意深く観察し、比較してみましょう:

aerial vs gps

画像から読み取れる情報によれば、どうやらGPSトラックのほうが明らかに正確で、背景画像の位置のほうに誤りがあるようです。

では、ここでひとつ質問です。 “もし画像の位置がずれているとすれば、そういう画像を参考にし続けながら正確な地図を作るには、どうしたらよいのでしょうか?”

画像オフセットの修正

先ほどの質問への回答として、背景画像そのものの位置を調整し、GPSトラックなどが示している正確な位置へ修正するという方法があります。JOSMで背景画像の位置調整を行うのはとても簡単です。

画像オフセットを調整する際にもっとも参考になるGPSトラックは、道路を走っているトラックです。また、参考となるGPSトラックの数が多ければ多いほど、衛星画像の位置をより正確な位置に調整することが可能になります。OpenStreetMapのユーザは、自分の持っているGPSトラックをOSMデータベースへアップロードしており、そうしたGPSトラックをダウンロードすることで画像のオフセット調整の参考にすることができます。

  • ダウンロードボタンをクリックしてください。

josm download button

  • ダウンロードウィンドウの上部に表示されている、”GPS生データ”の隣にあるボックスへチェックを入れてください。 対象となるエリアを選択し、”ダウンロード”をクリックしてください。

raw gps data

  • こうすることで、データのダウンロードを行う際に追加で、GPSトラックのレイヤーをJOSMへダウンロードすることができます。どのくらいの量のトラックがダウンロードされるかは、その地域にアップロードされているGPSトラックの量によります。(トラックが無い地域もあります):

osm gps tracks few

  • その地域にトラックがあれば、このように表示がされます:

osm gps tracks many

  • 画像レイヤーを調整するには、JOSMの上部に表示されてる “画像オフセット調整” ボタンを押してください。

adjust imagery offset button

  • ウィンドウがポップアップしますが、その表示はいまのところ無視してください。マウスを左クリックしながら動かすことで、背景画像を動かすことができますので、GPSトラックで示されている正しい位置と比較し、重ねあわせるようにしてください。表示されているGPSトラックが移動していたはずの位置と、該当する画像の位置をできるかぎり正確にあわせてください。先ほどポップアップしたメッセージには、オフセットの設定値が表示されます。

adjust imagery offset

  • もし必要な場合は、設定したオフセットの値に対して名前をつけて、ブックマークとして保存することができます。保存したブックマークは、画像 -> 画像オフセットから呼び出すことが可能です。
  • オフセットを保存する必要がない場合、ブックマーク名を入力せずにOKを押してください。

OpenStreetMapにアップロードされているGPSトラックが無く、自分でGPSログを収集することも難しい場合、画像の位置調整はたいへん困難です。もしまだ対象の地域がほとんどマッピングされていない場合、いま表示されている画像を正しい内容として、そのまま使うのも選択肢のひとつです。もし、画像の位置が20から30メートル以上ずれていることが明確な場合、その地域に手を付けないという選択肢もあります。

もし画像に表示されている地物の正確な緯度経度を知っている場合、以下のステップで作業をすることで画像の位置を調整することが可能です:

  • 最初に、あなたが位置を知っている地物を画像表示から特定します
  • JOSMの左下に表示されている緯度と経度をクリックします

josm lat lon

  • ダイアログが表示されますので、あなたが知っている地物の緯度と経度を入力します。ズームには、5から10程度の小さめの値を入力してください

josm lat lon dialogue

  • JOSMの表示が切り替わり、入力した緯度と経度を中心とした位置へ移動します。通常と同様の操作を行い、あなたが知っている地物の位置と衛星画像の位置を調整してください。

もし対象の地域が既に非常に細かくマッピングされている場合、これまでその地域を描いていたマッパーが、その地域のオフセットを正しい位置に修正してから作業していた可能性があります。この場合、そのマッパーが調整していたのと同じ位置まで地図表示を修正することも可能です。ただしその場合、そのマッパーやあなた以外のマッパーがその地域をマッピングする際にオフセットを調整しているということに気づかない可能性があります。注意してください。

画像オフセットデータベース

オフセットのズレを把握し、調整するにあたって、別の問題が発生します。もしOpenStreetMapの全ユーザがそれぞれ異なるオフセットで編集を行ったとしたら、出来上がる地図はすべて少しずつずれたものになってしまいます。

例えば小さな街をマッピングするにあたって、Bingの画像が北に15メートルほどずれている、という状況をイメージしてみてください。あなたは編集を行う際、オフセットを正確に修正して編集を行いました。しかし、別の機会に他の誰かがその地域をダウンロードし、Bing衛星画像を使ってデータを追加しようとしました。そしてその誰かは、あなたが発見した正しいオフセット情報を知らないとしたら。彼らはその場所の既存の情報が、15メートルほど全体的に間違っていると考え、彼らが考える正しい位置、つまり、間違った位置に移動させようとするでしょう。結果として、その街の地図データは無茶苦茶になってしまいます。

そのため、画像のオフセット情報についてすべてのユーザが知っておくことはとても重要な事ですし、編集を開始する際にはその地域でオフセットが行われているかどうかを確認するべきです。この問題を解決するために専用のプラグインが開発されており、その地域の編集で利用したオフセット情報をデータベースへ保存し、他のマッパーと共有する機能があります。それでは、その機能がどのようなものか見てみましょう:

  • JOSMの設定メニューを開き、プラグインタブをクリックします。

josm plugins tab

  • “imagery_offset_db”という名前のプラグインを探し、その隣にあるボックスにチェックを入れます。

imagery_offset_db plugin

  • OKをクリックします。JOSMを再起動して、プラグインのインストールを行ってください。

オフセット情報をブックマークとして保存するのと同様に、このプラグインを使うことにより、あなたが設定したオフセットの値をセンターのデータベースへ保存することが可能です。保存したオフセット情報は誰でも読み込むことが可能です。もちろんあなたも、他の誰かが設定したオフセットの値を利用することができるようになります。

衛星画像レイヤーを利用する場合、誰かがオフセットを利用していないか、常に確認してから編集したほうがよいでしょう。逆に、あなたがオフセットを設定して編集した場合、必ず、このデータベースへその値を保存しておくことが大切です。

データベースからの画像オフセット読み込み

  • 画像レイヤを追加する場合、このプラグインは既存のオフセット情報があるかどうか、確認を行うよう注意を促します。JOSMの上部に、赤いエクスクラメーションアイコンが表示されます:

offset exclamation

  • アイコンをクリックすると、プラグインはデータベースと通信し、その地域にオフセット情報があるかどうかを確認しにゆきます。
  • これは、インドネシアのバリ クタ地域のOSMデータとGPSトラックをダウンロードしたところです。このケースでは、既存のオフセット情報が1つ見つかりました。表示されている情報をクリックすることで、その情報が地図表示に反映されます。

offset kuta bali

  • 画像レイヤが移動しました。しかしながら、今回のように誰かのオフセット情報を利用する場合は、その情報が本当に正しいかどうか、GPSトラックと比較してから利用するほうがよいでしょう。

compare gps

  • どうやら、画像レイヤの位置が間違った位置になってしまったようです。このオフセット情報は、他のユーザも使わないほうがよいでしょう。その場合、データベースでこの項目を、正確ではない、とマークするべきです。”Offsets”のボタンをもう一度クリックしてください。(赤いエクスクラメーションマークはもう外れています)

offsets button

  • ダイアログが表示されたら、今回はそのオフセットを右クリックし、 “Deprecate Offset” をクリックしてください。

deprecate offset

  • 確認して、”Yes”をクリックます。
  • このオフセットが間違っている理由を入力します。

deprecate reason

画像オフセットをデータベースに保存

他のユーザが設定したオフセット値が “deprecated”(古い・間違い) であるとマークをつけたら、その地域のより正確なオフセット情報をデータベースに登録しましょう。

  • “Adjust imagery offset”ボタンをクリックします。

adjust imagery offset button

  • 画像の位置を調整し、GPSトラックの位置にあわせます。ボックスのOKをクリックしてください。
  • Offset -> Store Imagery Offsetへ進みます。

store imagery offset

  • ボックスが表示されますので、オフセットについての説明を記入してください。

offset description

  • OKをクリックすると、作成したオフセットがデータベースへ保存されます。
  • GPSレイヤを非表示にし、OSMデータが衛星画像と正しく重なっているかを確認してください。

correctly placed

なんということでしょう! この地域は間違ったオフセットで編集されているようです。修正にとりかかりましょう。

画像オフセットデータベースウェブサイト

最後に、オフセットデータベースについての補足です。このデータベースは、以下のウェブサイトでも確認することができます。 http://offsets.textual.ru/ このサイトには、データベースにアップロードされたすべてのオフセットが一覧になっています。また、そのオフセットが世界のどの場所のものなのかが地図上に可視化されています:

offset website

特に丘陵地帯などの高低差が大きい場所では非常に顕著です。 場所によって画像のオフセットが違うように見受けられる場合、それぞれの場所に応じてオフセットの値を変更する必要があります。

まとめ

OpenStreetMapの編集に慣れないうちは、オフセットについてあまり細かく心配しないようにしてください。しかし、他のマッパーが編集した内容が、画像から明らかに一方向にずれている場合、それらのオブジェクトの位置を修正し始める前に、オフセットが修正されている可能性を考えてみてください。また、もしオフセットの挙動について不慣れで、なおかつ画像の位置が20メートルや30メートルもずれてしまっている場合、あまりその場所は編集しないほうがよいかもしれません。ですが、もし時間があれば、この章で説明したオフセット、という存在を思い出し、必要に応じて画像の位置を調整してみてください。