[OSM-ja] 湖のマルチポリゴンについて

Shun N. Watanabe shunw @ ics.uci.edu
2009年 9月 20日 (日) 05:49:07 BST


nazotokoの渡邊です。

2009/9/19 ikiya <insidekiwi555 @ yahoo.co.jp>:
> 湖のマルチポリゴンについて教えてください。
>
> (質問)
> ・湖の島にはRelationのマルチポリゴンでouter、inner設定していいのでしょうか?

むしろ、湖の島を正しく表現するするためにマルチポリゴンが提案されたので、そうするべきなのでしょう。マルチポリゴンを使わずに、layer=2,natural=land
とかをnatural=waterのエリア内の島に付けると
島は水上に浮いていると扱われるらしいです。

role=outerのウェイは、type=multipolygon
リレーション内に必ず1つだけ存在するので、マルチポリゴンの属性を表すタグは、outerのウェイに書きます。multipolygonリレーションには、type以外のタグは書いてはいけないことになってますので、猪苗代湖のは間違いです。role=innerのウェイは、閉じていてもエリアではなく内側は空っぽで外側はouterと同じものですので、特にタグを書く必要がありません。ただし、内側のものを表すときと、その境界線上のものを表すときはタグを書きます。

> ・インポートした国土数値情報の属性情報はwayそのものではなくてRelationのtag情報としてつけたほうがよいのでしょうか?
> なれないリレーションにアドバイス願います。(できるかな?)

role=innerのウェイは、relationのタグのメンバーとしてだけ存在するので、タグをつけなくてもいいのですが、レンダラーによっては、リレーションに正確に対応してないこともあるので、innerメンバーのウェイにもタグを付けた方がいいみたいですよ。例えば本物のosmarender
は、リレーションを一切見ません。osmarender 互換のperl スクリプトのor/p
は見ているようです。t @ hをしてる人の大半は、or/pを使ってると思いますが。
その場合、全innerのウェイの島にはnatural=landを使うのが一般的です。

何となく思うに、猪苗代湖の外のウェイは分断されているようなので、multipolygon としてリレーションというより、API 0.6
以降の2000ノード以上の長さのウェイ作れないので、自動的にリレーションにされただけのような気がします。琵琶湖もそうなんじゃないでしょうか。
この場合、そのような長いウェイの代わりになってるリレーションを別のmoltipolygon リレーションのouterメンバーにするのが何となく正しい気がします。
が、wiki の Relation:multipolygon
で長いこと話し合われていた、複数のouter,innerの使い方には、猪苗代湖みたいな方法も提案のうちにあるので、
今後どうなるか正直わかりません。

http://wiki.openstreetmap.org/wiki/Talk:Relation:multipolygon#Advanced_multipolygons

 Shun N. Watanabe


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