Re: [OSM-ja] 信濃川リレーションに対するfixmeタグのコメントについて(Triglav2018さんとのやり取り)

2019-05-23 スレッド表示 Satoshi IIDA
いいだです。
やり取り、ありがとうございます。。

TL;DRになりそうなので、主張を整理します。

# Triglav2018さんの主張
## 実施したいこと
以下2項目の編集
* 一級水系本流の109本
* 主要二級水系本流+一級水系支流の100本程度 の計200件ほど(1本平均 4リレーションとして最終合計 800〜1000リレーション前後)

最終的に、Wikipedia側のマップ表示に、リレーションを表示させたい(?)

## 具体的な方法
1. 河川を描く際、waterwayリレーションに、riverbankエリアを含めたい
2. 河川を描く際、waterwayリレーションに対してname, wikipediaなどのタグを付与する(ここまでは合意)

そのwaterwayリレーションとは別のオブジェクトとして作成するriverbankのmultipolygonリレーションに対しても、nameとwikipediaタグを付与したい(ここが論点)

1は反証として、waterwayリレーションの運用としてriverbankエリアは含めないことが推奨されている。
(roleの解説 "riverbank またはwaterbody" の部分を参照)

2は反証として、
"One_feature,_one_OSM_element"の原則に従い、waterwayリレーションに対して河川のnameやwikipediaタグが与えられている場合、multipolygonに対してそれらのタグを使うべきではない、と考えられる。

## 地物として2つ以上ある、あるいはriverbankをリレーションに含めている例?
ミシシッピー川、ナイル川、アマゾン川などで、multipolygonを利用している例がある?

Mississippi River:
waterway: https://www.openstreetmap.org/relation/1756854
riverbank:
نهر النيل (ナイル川):
waterway: https://www.openstreetmap.org/relation/50793
riverbank(例): https://www.openstreetmap.org/relation/2063218
アマゾン川
  (ちょっと時間なくて探せなかったので、誰か教えてほしい)

個人的には、論点を整理して、talk MLあるいはTagging MLでよいやり方を模索するのがよいかな、と思っています。


2019年5月24日(金) 1:35 :

> 鍋太郎です。
> 先月からTriglav2018さんとやり取りしていました。
> 御本人はMLに参加するつもりはないとのことと、MLへ投げても良いとのことでしたので、
> 内容をそのまま転記して共有したいと思います。
> 長くて申し訳ありません。
>
> ※日付はUTCになっています。
>
> #思うところはいろいろありますが、まずは共有だけにしたいと思います。
>
>
> -
> From: nabetaro
> To: Triglav2018
> 2019年04月 5日 10:56
>
> nabetaroです。
>
> 信濃川リレーションに対するfixmeタグに以下のコメントを頂いたようですのでメッセージをお送りします。
>
> エリアがどうしてwaterwayになるのか説明してほしい
>
> fixmeタグでは通知されることがないため気がつくのが遅れてしまいました。 申し訳ありません。
>
> このfixmeに以下を記載したのは私です。
>
>
> 不正なmultipolygonのみ修正。同名リレーションがあるため統合するか、riverbankをリレーションに含めるべきでなければ削除が適当と思われる
>
> まず、waterwayについては、以下に定義されています。
>
> https://wiki.openstreetmap.org/wiki/Waterways (英語)
> https://wiki.openstreetmap.org/wiki/JA:%E6%B0%B4%E5%9F%9F (日本語)
>
> こちらに、線形の水域に続き、「広い河川、湖沼、貯水池、島」としてriverbankを記述する方法について記載されています。
> そのため、少なくともosmにおいては、riverbankはwaterway(の一部)とみなされていると考えます。
>
> 但し以下の理由により、relationにriverbankを含めるのは待ったほうが良いとも考えます。
>
> https://wiki.openstreetmap.org/wiki/JA:Relation:waterway
> にはriverbankロールの説明もありますが、こうも書かれています。
>
> 承認されておらず、あまり利用されておらず、異論があります - Talk:Relation:waterway を参照してください
>
> 内容は読み切れていませんが、waterwayリレーションについてのriverbankの扱いは微妙です。
> そのため、「riverbankをリレーションに含めるべきでなければ削除が適当と思われる」と記載しました。
>
> ではmultipolygonではどうかと言うと、
> https://wiki.openstreetmap.org/wiki/JA:Relation:multipolygon に記載があります。
>
>  The conditions to form a valid multipolygon relation are the following:
> If an endpoint is shared by more than two unclosed ways, it's ill
> formed and a closed polygon can't be reconstructed unambiguously. invalid
> example 2 (Exception - points shared by an even number of unclosed ways
> might be part of touching inner rings which is ok.)
>
> 少々わかりにくいので、以下を見ていただきたいです。
>
>
> https://wiki.openstreetmap.org/wiki/JA:Relation:multipolygon#Overlapping.2C_unclosed_member_ways_belonging_to_the_same_role
>
> multipolygon を構成するpolygonは、2点を共有するように配置することができず、不正なmultipoylgonになります。
> つまりriverbankのような連なったpolygonをmultipolygonリレーションに入れることはできません。
>
> 以上より JOSMエディタによる妥当性検証において、「エラー判定」されていましたので、以下の修正を行いました。
>
> https://www.openstreetmap.org/changeset/68356080
>
> 現在、信濃川リレーションはmultipolygonに戻され、エラーが復活しています。 連なる千曲川リレーションもmultipolygonも同様です。
> (こちらには開いたwayがmultipolygonに登録されているという別のエラーもあります)
>
> 以上でご質問への回答になったでしょうか?
>
> ご確認をよろしくお願い致します。
>
>
> -
>
> From: Triglav2018
> To: nabetaro
> 2019年04月 8日 11:01
>
> 詳しい解説ありがとうございます。
>
> 一番は編集ツールごとでエラー判定が異なることに問題がありそうです。
>
>
> Wikiepdiaの「ネヴァ川」に採用されているのを見つけてから日本の河川に写し取ってみましたが、なるほどネヴァ川のメンバーにはriverbankが使われていませんね。
>
> https://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%B4%E3%82%A1%E5%B7%9D
> https://www.openstreetmap.org/relation/2599821
>
> 新たに湧別川を書き直しましたのでご確認ください。
>
> https://www.openstreetmap.org/relation/9279259
>
>
> -
> From: nabetaro
> To Triglav2018
> 2019年04月 9日 16:00
>
> 返信ありがとうございます。
>
> On 2019-04-08 11:01:18 UTC Triglav2018 wrote:
>
>
> Wikiepdiaの「ネヴァ川」に採用されているのを見つけてから日本の河川に写し取ってみましたが、なるほどネヴァ川のメンバーにはriverbankが使われていませんね。
>
> 新たに湧別川を書き直しましたのでご確認ください。
>
> https://www.openstreetmap.org/relation/9279259
>
> 拝見しました。
>
> なるほど、multipolygonの外周を開いたwayで接続して全体のエリアとしたのですね。 確かにJOSMとしてはエラーにならなくなります。
>
> ただ、もとの私のfixmeに記載した以下の内容
>
>
> 不正なmultipolygonのみ修正。同名リレーションがあるため統合するか、riverbankをリレーションに含めるべきでなければ削除が適当と思われる
>
> の中で、統合ないし削除を記載した理由の中に、前回出典を示せなくて省略したものがあります。 後出しになってしまい申し訳ありません。
>
> OpenStreetMapのベストプラクティスの中に、「地物ひとつにOSM要素はひとつ」というのがあります。
>
> https://wiki.openstreetmap.org/wiki/One_feature,_one_OSM_element (英語)
>
> https://wiki.openstreetmap.org/wiki/JA:%E5%9C%B0%E7%89%A9%E3%81%B2%E3%81%A8%E3%81%A4%E3%81%ABOSM%E8%A6%81%E7%B4%A0%E3%81%AF%E3%81%B2%E3%81%A8%E3%81%A4
> (日本語)
>
> 「湧別川」にしろ「信濃川」にしろ、これらを表すリレーションが現状では2つづつあります (waterwayとmultipolygon)。
> この状況は「地物ひとつにOSM要素はひとつ」に反していると考えます。
> 

[OSM-ja] 信濃川リレーションに対するfixmeタグのコメントについて(Triglav2018さんとのやり取り)

2019-05-23 スレッド表示 nabetaro
鍋太郎です。
先月からTriglav2018さんとやり取りしていました。
御本人はMLに参加するつもりはないとのことと、MLへ投げても良いとのことでしたので、
内容をそのまま転記して共有したいと思います。
長くて申し訳ありません。

※日付はUTCになっています。

#思うところはいろいろありますが、まずは共有だけにしたいと思います。

-
From: nabetaro
To: Triglav2018
2019年04月 5日 10:56

nabetaroです。

信濃川リレーションに対するfixmeタグに以下のコメントを頂いたようですのでメッセージをお送りします。

エリアがどうしてwaterwayになるのか説明してほしい

fixmeタグでは通知されることがないため気がつくのが遅れてしまいました。 申し訳ありません。

このfixmeに以下を記載したのは私です。

不正なmultipolygonのみ修正。同名リレーションがあるため統合するか、riverbankをリレーションに含めるべきでなければ削除が適当と思われる

まず、waterwayについては、以下に定義されています。

https://wiki.openstreetmap.org/wiki/Waterways (英語)
https://wiki.openstreetmap.org/wiki/JA:%E6%B0%B4%E5%9F%9F (日本語)

こちらに、線形の水域に続き、「広い河川、湖沼、貯水池、島」としてriverbankを記述する方法について記載されています。 
そのため、少なくともosmにおいては、riverbankはwaterway(の一部)とみなされていると考えます。

但し以下の理由により、relationにriverbankを含めるのは待ったほうが良いとも考えます。

https://wiki.openstreetmap.org/wiki/JA:Relation:waterway 
にはriverbankロールの説明もありますが、こうも書かれています。

承認されておらず、あまり利用されておらず、異論があります - Talk:Relation:waterway を参照してください

内容は読み切れていませんが、waterwayリレーションについてのriverbankの扱いは微妙です。 
そのため、「riverbankをリレーションに含めるべきでなければ削除が適当と思われる」と記載しました。

ではmultipolygonではどうかと言うと、 
https://wiki.openstreetmap.org/wiki/JA:Relation:multipolygon に記載があります。

 The conditions to form a valid multipolygon relation are the following:
If an endpoint is shared by more than two unclosed ways, it's ill formed 
and a closed polygon can't be reconstructed unambiguously. invalid example 2 
(Exception - points shared by an even number of unclosed ways might be part of 
touching inner rings which is ok.)

少々わかりにくいので、以下を見ていただきたいです。


https://wiki.openstreetmap.org/wiki/JA:Relation:multipolygon#Overlapping.2C_unclosed_member_ways_belonging_to_the_same_role

multipolygon を構成するpolygonは、2点を共有するように配置することができず、不正なmultipoylgonになります。 
つまりriverbankのような連なったpolygonをmultipolygonリレーションに入れることはできません。

以上より JOSMエディタによる妥当性検証において、「エラー判定」されていましたので、以下の修正を行いました。

https://www.openstreetmap.org/changeset/68356080

現在、信濃川リレーションはmultipolygonに戻され、エラーが復活しています。 連なる千曲川リレーションもmultipolygonも同様です。 
(こちらには開いたwayがmultipolygonに登録されているという別のエラーもあります)

以上でご質問への回答になったでしょうか?

ご確認をよろしくお願い致します。

-

From: Triglav2018
To: nabetaro
2019年04月 8日 11:01

詳しい解説ありがとうございます。

一番は編集ツールごとでエラー判定が異なることに問題がありそうです。

Wikiepdiaの「ネヴァ川」に採用されているのを見つけてから日本の河川に写し取ってみましたが、なるほどネヴァ川のメンバーにはriverbankが使われていませんね。

https://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%B4%E3%82%A1%E5%B7%9D 
https://www.openstreetmap.org/relation/2599821

新たに湧別川を書き直しましたのでご確認ください。

https://www.openstreetmap.org/relation/9279259

-
From: nabetaro
To Triglav2018
2019年04月 9日 16:00

返信ありがとうございます。

On 2019-04-08 11:01:18 UTC Triglav2018 wrote:


Wikiepdiaの「ネヴァ川」に採用されているのを見つけてから日本の河川に写し取ってみましたが、なるほどネヴァ川のメンバーにはriverbankが使われていませんね。

新たに湧別川を書き直しましたのでご確認ください。

https://www.openstreetmap.org/relation/9279259

拝見しました。

なるほど、multipolygonの外周を開いたwayで接続して全体のエリアとしたのですね。 確かにJOSMとしてはエラーにならなくなります。

ただ、もとの私のfixmeに記載した以下の内容

不正なmultipolygonのみ修正。同名リレーションがあるため統合するか、riverbankをリレーションに含めるべきでなければ削除が適当と思われる

の中で、統合ないし削除を記載した理由の中に、前回出典を示せなくて省略したものがあります。 後出しになってしまい申し訳ありません。

OpenStreetMapのベストプラクティスの中に、「地物ひとつにOSM要素はひとつ」というのがあります。

https://wiki.openstreetmap.org/wiki/One_feature,_one_OSM_element (英語)

https://wiki.openstreetmap.org/wiki/JA:%E5%9C%B0%E7%89%A9%E3%81%B2%E3%81%A8%E3%81%A4%E3%81%ABOSM%E8%A6%81%E7%B4%A0%E3%81%AF%E3%81%B2%E3%81%A8%E3%81%A4
 (日本語)

「湧別川」にしろ「信濃川」にしろ、これらを表すリレーションが現状では2つづつあります (waterwayとmultipolygon)。 
この状況は「地物ひとつにOSM要素はひとつ」に反していると考えます。 
そのため、統合すべき、または統合の結果、記載するべきでない情報となったしまう場合は、削除すべきと考えています。

また、waterwayは水域を表しますが、multipolygonは複数の多角形を組み合わせたものを表します。どちらが情報として詳細でしょうか。

以上から、multipolygon「湧別川」リレーションが持つメンバ及びタグは、waterway「湧別川」リレーションに(不都合がないもののみ)移動し、multipolygon「湧別川」リレーションは削除が良いと思っています。

以上ご確認ください。

-
From: Triglav2018
To: nabetaro
2019年04月12日 18:46

OSMに無知な状態で意見することをお許しください。

「地物ひとつにOSM要素はひとつ」は、確かにそのとおりだと思います。

でも河川に地物が2つ重なっているとしたら?

道路は、線で表現します。 湖水は、面で表現します。

河川は、流路の線と、水域の面の2つの地物が重なっているのではないでしょうか?

なぜなら、流路のリレーションは水域を取り込まないし、その逆も然りです。 各国の河川を見てみましたが、両方を取り込んでいるリレーションを見たことがありません。

もし重複の判定を名称でされているのだとしたら、主である「流路」に対しての従「水域」の名称を取り除いてしまえばよいと思います。

さて、本題

今回開発されたウィキペディアへの移入ツールがなぜ type=waterway 
を拒絶しているのかが謎です。データの軽量化なのでしょうが、ノードを大量に間引きしてしまっているためにウィキペディア上でマップを拡大したら見れたものではありません。そのような状況で河川に対しては「面」で表現させようとしている。

河川も湖の延長にとらえているのでしょうね

湖のリレーションは natural=water, type=multipolygon, water=lake なので 
https://www.openstreetmap.org/edit?changeset=68860510

河川のリレーションは natural=water, type=multipolygon, water=river となるのでしょう。

-
From: nabetaro
To Triglav2018
2019年04月13日 21:57

On 2019-04-12 18:46:24 UTC Triglav2018 wrote:

「地物ひとつにOSM要素はひとつ」は、確かにそのとおりだと思います。