[OSM-ja] データを登録時に競合が起きてしまいました。

Shun N. Watanabe shunw @ ics.uci.edu
2009年 12月 23日 (水) 19:34:22 GMT


nazotoko の渡邊です。

2009/12/23 ribbon <osm @ ns.ribbon.or.jp>:
> データを登録時に競合が起きてしまいました。
> で、そのあとWebのヘルプに従って、競合を解決したつもりが、
> それをミスったようで、データが登録できなくなってしまいました。

競合とは何のことかわかってないかも知れませんから、
先に競合の説明をします。
競合と言う言葉が最適でない気もしているのですが、
これは conflict (コンフリクト) の訳です。
OSMは世界中の人が一斉に編集していますから、
あなたが編集している僅か数分の間にも色々なところが新しくなっています。
新しくなったところが、あなたの編集しているところ以外なら問題ありませんが、
まれにあなたが編集している間に、その領域が新しくなることがあります。
これが競合です。

> やったことは以下の通りです。

JOSM か Merkaartor じゃ無いとできないことが含まれているから
多分JOSMを使ったとして説明します。

> 1. OSMからデータをダウンロード。
データレイヤというのがありますね。

> 2. 手元のGPSデータを使って描画。
***.gpx というレイヤーが増えましたね。

> 3. さらに追加のGPSデータを使って描画しようと思い、再度OSMからデータをダウンロード。
>   このときレイヤが2つに分かれる。

データレイヤ 2 というのが増えましたね。
データのダウンロードをするときに、
新しいレイヤーを増やすとかいうオプションにチェックしたと思いますが、
レイヤーを増やす必要はほとんどありません。
レイヤーを分けて編集する人はかなり特殊です。
おそらく競合を引き起こすことをむしろ目的にして分けます。

> 4. 描画が終わったので、データをアップロード。
> 5. しかし、Webで見てみると、別レイヤの描画がアップロードされていないように見えた。

その通りです。アクティブレイヤーだけアップロードされます。

> 6. 再度アップロードすると、競合が発生と警告。
これは要するに、先にアップロードしたレイヤーと
今のレイヤーの変更箇所に違いがあるのです。
競合ダイアログは、その変更箇所のどっちを取るかを選択します。

> 7. ヘルプを見ながら競合ダイアログを開き解決(したつもり)。
> 8. その状態で再度アップロードすると、
>   「サーバへのアップロードは失敗しました。現在の
>     データセットは前提条件に違反しています。
>     エラーメッセージ
>     ResponseCode=412,Error Header=<Precondition failed: Cannot update way 43149077: data is invalid」
>    というメッセージが表示される。

JOSMは一人の編集者が多数のレイヤーを
アップロードするなどということを全く想定していないので、
多分ヘルプに書いてあること以外にやることがあります。
おそらくアップロードする前にダウンロードすることです。
あなたの編集箇所が戻されるのではなく、
あなたの編集していない箇所が新しくなり、
新たな競合箇所が検出されます。
多分これでその前提条件を満たします。

> これは、サーバ上にはデータがなく、手元のデータが壊れてしまった、
> ということでしょうか。
> 再度1から描画し直せばよいのでしょうか。

サーバはこんなことでは壊れません。
あえて言うとレイヤーを別にするのは止めましょう。
レイヤーを別にする人は、数日に渡る長期編集をするとか、
大陸クラスの大規模編集をする人など、
かなり特殊なことをする人です。

 Shun N. Watanabe




Talk-ja メーリングリストの案内