JA:Key:layer

From OpenStreetMap Wiki
Jump to navigation Jump to search

broom

Help (89606) - The Noun Project.svg

Public-images-osm logo.svg layer
Washington layers.png
説明
2つの交差する地物間の垂直位置関係を示すのに使用します。 Show/edit corresponding data item.
グループ: プロパティ
適用できる要素
ノードに使用可能ウェイに使用可能領域に使用可能リレーションに使用可能
よく併用されるタグ
関連項目
状態:事実上の標準

layer=* タグは、横断または重複する地物の間で垂直位置関係を表すために使われる様々な方法の一つです。 layer の値で示される垂直方向の順番は、ウェイが交差またはオブジェクトが重複しているところの正確な位置(ノードではない)にのみ有効です。

交差する場所に共有ノードを置くことでウェイを接続すると、 layer で示された垂直方向の順番は無効になります。

layer は接続したり、近くにあったり、離れていたりする要素やエリアの垂直方向の関係を表すのには向きません。また、長いウェイに適用すると、見えている編集エリアの外側にある交差に予期しない影響(ふつうは破壊)をもたらします。

通常-5から5の間の数値が使われますが、0は明示的には使いません。

他のウェイの上を橋で越えているウェイはより高い値を持ち、他のウェイの下をトンネルでくぐっているウェイはより低い(一般的に負の)値を持ちます。明示的な値を持たないウェイは layer が 0 と仮定されます。

いくつかの例外はありますが、 ウェイ ウェイ上の layer=* は、 tunnel=*bridge=*highway=stepshighway=elevatorcovered=*indoor=yes の中の一つとの組み合わせでのみ使用してください。 エリア エリアについては、 man_made=bridge、 特殊な種類の building=* などのようなタグとの組み合わせでのみ使用してください。

建物(または立体駐車場、ショッピングセンター、空港、鉄道駅、一部の複数階の橋や道路などのような同様の構造物)の中のウェイは、 layer ではなく level=* で表現してください。level=*は構造物中の階層(床や歩道) の物理的な垂直配置に対して用います。物理的階層を示すための人間に読める表示(たとえばエレベーターのボタンや、立体駐車場の階層)にはlevel:ref=*を用いてください。

layer は直接交差や重複しない対象物の相対的または絶対的な高さの違いを表現するものでは絶対にありません。 layer を変更することは、高さを変更することではありません。エベレストの頂上は、海抜8848メートルであっても layer 0 であり、海抜数メートルしかないものでも橋は layer 1 です。

負の値は対象物が地下にあることを意味するわけではありません。そのような目的には location=underground を使ってください。

ele=* で海抜の高度を表すことができます。

他にもいくつか、垂直の位置関係を明示的または暗黙に定義または変更するものタグがあります。たとえば、 level=*location=*covered=*highway=stepsaerialway=*power=linewaterway=dam などです。

ガイドライン

以下は主なガイドラインです。

  • layer 0 の地物にはふつう layer タグを設定しません。
  • 交差または重複するウェイについての警告を隠すために layer=-1 を使わないでください。正しく修正するか、他の誰かが修正できるように警告を簡単に確認できるままにしておいてください。
  • 衛星画像から見える水路は、ほとんどが layer=-1 がふさわしくはありません。
  • 現実的にウェイのできるだけ短い区間にタグ付けしてください。長い高架橋やトンネルには、簡略化のため全体に対してふさわしい単一の値をタグ付けできますが、複雑な交差に対応するためには、長さにふさわしくレイヤーを調整した方が良いかもしれません。
  • できるだけ小さい適切な値を使ってください。 layer=2 は既に layer 1 になっている地物を越える橋にのみ使用します。同様に、 layer=-2 は他のトンネルのさらに下を通るトンネルにのみ使用します。便利なように、一部の大きい値は、上または下に多くの交差や物があると予想される、とても長い橋や地下街のために、地域的に利用または予約されていることがあります。
  • ウェイが異なる階層を通過している場合、 layer=* はトンネルや橋の属性を設定したウェイにのみ設定してください。 tunnel=*bridge=*highway=stepshighway=elevatorcovered=* が付いているウェイのみに layer タグを付け、鉄道や水路も同様です。
  • 複雑な交差点では、交差の垂直方向の順番を正確に記述するために、 layer を変更するためにウェイを切断する必要がある場合がよくあります。
  • 川や小川で全長に対して長い区間に layer=-1 でタグ付けしないでください。交差は橋やトンネルで横切る側に layer をタグ付けします。覆われた水路は covered=yes でタグ付けし、ふつうは人工の地物の下を流れているようにレンダリングされます。道路が水路と同じレベルにあるところは、洗い越し(ford=*)でタグ付けします。
  • 電力線(power=line)はふつう、 layer でタグ付けする必要はなく、 layer タグで特に指定されない限りは他のすべての地物の上空を浮いていると想定されます。 location=overhead を利用することができ、たとえば2つの電力線が交差するような場合は、 layer=* を使用することもできます。
  • man_made=pipeline のような一部の地物は、 layer=* ではなく location=overheadlocation=overgroundlocation=underground を使って適切にタグ付けすることもできます。これは単に空中または地中にあることを表すだけです。地中のパイプラインは簡単に垂直の位置が分からないことがあります。例えば2つのパイプラインが交差しているときに情報が分かっているとか、あるいはパイプラインが道路の上や下を通っている場合には、 layer=* が必要になります。
  • 地図レンダラーや品質保証サービスによっては、橋やトンネルをそれぞれ layer=1 または layer=-1 と想定しますが、すべての橋やトンネルに layer を明示的に設定した方がいいでしょう。

なお、特に上のウェイの下を通っている区間が長い場合は、特定の横断場所を橋とするかトンネルとするかが曖昧な場合があります。一般に、トンネルを通り抜けるウェイは長くて暗い傾向があり、橋の下のウェイは短くあまり暗くない傾向があります。 GDF の標準ではこの2種類の地物に 'brunnel' という用語を使います。

注意点

以下のような場合には、 layer タグを使うべきではありません。

  • 公園や森などの土地利用には、通常は layer タグをつけません。layerタグが付けられていた場合でも、データ利用者はそのような layer タグを自由に無視することがありえます。その土地が実際に他の土地の上方にある場合は例外となります。
  • 道路や鉄道や水路などが、単に盛り土でかさ上げされていたり、切り通しされているという理由で layer タグを使用しないで下さい。このような用途には、 embankment=*cutting=*waterway=ditch を使って下さい。
  • エリアとそれを横切るウェイで別々なレイヤーを使って組み合わせることは、多くの場合は未定義であり、予測不可能な影響を引き起こす可能性があることに注意してください。例えば、 layer=-1 とタグ付けされた道路や川が、暗黙で layer=0 とみなされる landuse=forest (森林)を横切るとレンダリングされなくなる可能性があります - レンダリング結果はレンダラーによって異なる結果になるでしょう。このような組み合わせを使う場合は、 bridge や tunnel のような追加のタグをつけるようにしてください。
  • 湖(natural=water)の中の島(place=island)に layer=1 をつけないで下さい。森の中の空き地についても同様です(clearing in a wood is not hovering above trees)。島あるいは空き地は、マルチポリゴンを使えば正しくレンダリングされます。
  • 建物の階数を表すには、 layer タグではなく、 level=* タグを使って下さい。
  • 川や小川の全長または長い区間に layer=-1 でタグ付けしないでください。水路を渡る道路に橋を忘れた場合に、検出しにくくなります。
    • あたりまえですが、長いカルバートに layer=-1 tunnel=culvert とタグ付けすることは問題ありません。
  • 正の値には「+」記号は不要です。「layer=+1」ではなく「layer=1」を使ってください。
  • 何かが地下にあることを表すために負の数を使わないでください。この目的のためには location=underground を使用してください。

インターチェンジや鉄道でよく使われているレイヤー
ITO Map を使ったこのWashington のレイヤー表示は、どのように要素が正しく整理されているかを示しており、 他の要素の上を通っている要素は、レイヤー2(オレンジ)を使う必要がない限り、レイヤー1(赤)を使っています。一部の要素は適切に -1 または -2 を使っています。
インターチェンジにおけるレイヤーの良い使用例
これは JOSM エディターで Layer checker の地図描画スタイルを使って表示されるレイヤーの例です。
運河と鉄道でレイヤーの利用に関する混乱
このイギリスにおける Grand Union 運河の表示は、 layer の使用の誤りを示しています。運河が地面(レイヤーなし)からレイヤー-1(濃い青)、レイヤー2(オレンジ)に理由もなく切り替わっています。橋やトンネルのレイヤー値が必要よりも高くなっています。運河の下を小川や歩道がトンネルで通過している場所は、運河と同じレイヤーで示されています(レイヤー-1になっている範囲で)。駐車場や村の能動の集まりが layer=-1 と設定されています - 他のオブジェクトの上でも下でもないので、 layer タグは不要です。
Golf course layers.png
Layer tags used incorrectly for woods and a golf course. The woods are on layer 2, a golf course on layer -1 and a common on layer -2. These features are all at ground level and will render correctly without layering.

データ利用者

技術的な理由で、レンダラーはふつう地物の描き方を決めるときのすべての条件の中で、 layer タグを最も軽視します。

A 2D renderer could establish a 3D model of features, filter them by relevance and visually compose the result according to 3D ordering and rendering priorities. layer=* does only affect the 3D model and should have no influence whatsoever on relevance filtering and rendering priorities (visibility).

The 3D modeling is mostly determined by the natural (common sense) vertical ordering of features in combination with layer and level tags approximately in this order:

  • natural/common sense ordering: (location=underground, tunnel) under (landcover, landuse, natural) under waterways under (highway, railway) under (man_made, building) under (bridge, location=overground, location=overhead)
  • layer tag value:
    • layer can only "overrule" the natural ordering of features within one particular group but not place for example a river or landuse above a bridge or an aerialway (exception: use in indoor mapping or with location tag)
    • layer tags on "natural features" are frequently completely ignored
  • level tag value: considered together with layer - layer models the gross placement of man made objects while level is for features within such objects.

  • この橋(JOSM のチケットに添付されたデータ)は川や川岸が暗黙に layer=0 と設定されているので、論争の的になっている layer=-1 を持って正しく描画されました。エラーがその間に修正され、 JOSM バリデータがこのような場合を指摘するように改良されました。

関連項目