5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

壊れた森林ポリゴンの修正_上級者編

Last updated at Posted at 2018-09-02

森林を形成するマルチポリゴンの間違った編集によって、森林ポリゴンが壊れることが頻発しています。

広域のレンダリングには時間がかかることもあり、osm.orgを参照しつつ修正することはなかなか難しいのですが、OSM Inspectorを使うことによって簡単に検知を行うことができます。
個々の修正はさほど難しい作業ではないことがほとんどのため、ここに手順を記載します。

First of All, 大切なこと

データが間違っているからといって、絶対に怒ってはいけません。
壊れているデータを眺めるのは、サイズの違う服を着せられた時のような違和感を伴いますが、必ず、平常心を保ちましょう。

間違ったデータを憎んで、マッパーを憎まず、です。
実際、ちょっとした手違いやケアレスミスで、間違ったデータはすぐ作られます。コツは、小さいことを気にしないことです。

壊れたポリゴンの発見

GeoFabrik社が提供しているOSM Inspectorを表示します。

左上の Viewから、Areaを選択し、適宜、対象の位置まで表示を移動させてください。

スクリーンショット_2018-09-02_8_49_47.jpg

これらのポリゴンはほぼ全て、データのジオメトリ(位置)や、リレーションの構造が間違っているなど、いわゆる「壊れた」ポリゴンです。
若干、気が遠くなりますが、コツコツやってゆきましょう。

主に修正対象となるのは、Duplicate segmentsカテゴリのなかにある以下の項目です。

  • Duplicate segment: オレンジ色で表示

ただ、IntersectionsカテゴリやRing problemsカテゴリも、修正方法は似ているので、慣れてきたらトライしてみてください。

オレンジ色のデータをブラウザ上で選択します。
選択すると、右側のウィンドウに、対象オブジェクトの情報が表示されます。

スクリーンショット_2018-09-02_9_38_02.jpg

表示された情報を確認し、修正したいエラーを確認します。
エラーの詳細部分に表示されているOSMの虫眼鏡アイコンをクリックすると、エディタを起動させたり、ブラウザ上でオブジェクトの情報を表示させたりすることができます。

右から3番目、Jの文字が表示されたアイコンをクリックすると、JOSMで対象のデータを読み込むことができます。
(JOSMを起動しておき、かつJOSMのオプションで、遠隔操作を有効にしておく必要があります)

スクリーンショット 2018-09-02 9.12.03.png

Yes, OnceあるいはYes, Alwaysを選んで、対象のデータを読み込んで下さい。

JOSMでのデータ読み込みと、エラー場所の特定

対象データの読み込み

JOSMでデータを読み込むと、いつものようにJOSMで編集を行うことができます。

リレーションを編集する際には、すべてのメンバーを読み込んでおく必要がありますが、しばしば、一部のメンバーだけしか読み込めていないときがあります。
対象のデータを完全に読み込むために、リレーションの残りのメンバーを読み込みましょう。
選択あるいはリレーションのウィンドウから対象のリレーションを選択して、不完全なデータをダウンロードします。

スクリーンショット 2018-09-02 9.55.28.png

データのダウンロードが終わったら、リレーションウィンドウから、対象のリレーションの状態を確認します。
リレーションウィンドウで対象のリレーションを選択し、リレーションエディタを起動させます。

スクリーンショット_2018-09-02_9_56_23.jpg

スクリーンショット 2018-09-02 9.59.06.png

ウェイの並び替え

今回は問題ないようですが、たまに、outerのウェイがつながっていないことがあります。

outerのウェイがつながっていない場合は以下のように、円環ではなく、細切れになった線が表示されます。

outerがつながっていない例

この場合、まずはウェイを正しく並び替えましょう。

スクリーンショット_2018-09-02_9_23_33.jpg

この操作で正しくリングがつながらないこともありますが、どちらにしろ後で修正するので、気にしないことにしましょう。
OKを押して、リレーションエディタを閉じます。

エラー箇所の特定と修正

並び替えが終わったら、JOSMの妥当性検査を行います。

すると、いくつかのエラー、あるいは警告が検知されるはずです。
当該のエラーに似た内容を探しましょう。

Inspectorで検知されたオレンジのエラーは duplicate_segment (セグメントの重複) ですが、今回はJOSMでエラーとして自分自身が交差しているウェイが検知されています。
たぶんこれが検知されていると思われるので、対象にズームして確認します。

スクリーンショット 2018-09-02 10.01.40.png

どうやら、ウェイの一部が重複して描かれているようです。

スクリーンショット 2018-09-02 10.04.39.png

削除します。

スクリーンショット 2018-09-02 10.05.30.png

再び妥当性検査をかけますが、どうもエラーが直りません。
よく見てみると、2つのノードが重複しています。

スクリーンショット 2018-09-02 10.08.34.png

ノードを移動させてみると、隠れていたウェイが出てきました。

スクリーンショット 2018-09-02 10.09.01.png

せっかくなので、背景画像を頼りに正しいと思われる形に修正します。
主目的はエラーの修正なので、位置の修正は深追いしすぎない程度にしましょう。

妥当性検査を実行すると、無事エラーが解消されました。

スクリーンショット 2018-09-02 10.11.27.png

マルチポリゴン化の失敗を修正

よくある別の例を見てみましょう。
マルチポリゴンの作成に失敗し、outerinnerのウェイがつながってしまっている例です。

妥当性検査を実行すると、以下のような箇所が検出されます。
この場合、ウェイが同じ区間を二度含んでいるというエラーで検知されています。

スクリーンショット_2018-09-03_7_53_36.jpg

本来あるべき姿はこうです。
Innerのエリアを構成するウェイはouterウェイと接続せず、
独立したエリアで表現されます。

スクリーンショット_2018-09-03_7_55_35.jpg

あるべき姿に近づけるために、接続されてしまっているウェイを分割し、削除します。
ノードを選択し、ショートカットp (ウェイの分割) を押して分割します。

スクリーンショット 2018-09-03 7.54.14.png

スクリーンショット 2018-09-03 7.54.29.png

不要な部分のウェイを削除します。
リレーションに所属しているオブジェクトを削除するため、警告が表示されますが、問題ありません。削除してください。

スクリーンショット 2018-09-03 7.54.49.png

削除ができたら、リレーションエディタを開き、並び替え順の修正とメンバーのロールを修正します。
メンバーを並び替えた後、本来innerメンバーであるオブジェクトを選択し、innerロールを割り当ててください。

スクリーンショット_2018-09-03_7_55_35-2.jpg

この場合、マルチポリゴンの状況を確認し、全体から見て適切なロールが割り当てられるようにしてください。
基本構成は、以下の図のとおりです。

手前味噌ですが、リレーションに関するこちらの文章も参照してみてください。

マルチポリゴン.png

並び替えとロールの割当が完了し、妥当性検査で関連するエラーや警告が検出されなくなったら、osm.orgへのアップロードへ進みます。

データのアップロードと確認

何度か修正と妥当性検査を繰り返してみて、エラーや警告が無くなったら、osm.orgへのアップロードを行います。

スクリーンショット 2018-09-02 10.13.19.png

これで作業は完了です。
OSM Inspectorの更新は1日に1回程度のようなので、別のエラーを探して、妥当性検査 -> 修正 -> アップロードという流れで作業を行います。

個々の作業はさほど複雑ではないとはいえ、わりと疲れることは事実なので、根を詰めないようにしてください。

おつかれさまでした!

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?