JA:Relation:boundary

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg boundary
Boundary.png
説明
境界線をグループ化したり、飛び地を作成したりします。 Show/edit corresponding data item.
OSM Cartoでのレンダリング
Boundary.png
グループ: プロパティ
メンバー

  • ウェイ - inner
  • ウェイ - outer
  • ノード - admin_centre
  • リレーション - subarea
関連項目
状態:事実上の標準

boundary=* リレーションは境界をグループ化したり、wikipedia:ja:飛び地を作成したりするのに使用できます。

リレーションは次のような目的で使用されます。

  • name:left=*,name:right=*, nation:right=*, region:right=* の使用を避けます。国、県、市、などを1つのリレーションに置き換えます。
  • 境界線の部品同士をより簡単につなぐことができます。
  • 上位のウェイとの重複を避けることができます。
  • 境界線を森林や河川のような物理的な地物に接続することを避けることができます。遅かれ早かれ、このような地物は現実世界で変化し、OSM上で更新されます。しかし、ふつう境界線の形は変わりません。境界線が法的に自然の地物によって定義されている例外もあります。

ウェイのタグ

境界のためのウェイは boundary=administrative と最も高いレベルの境界を表す admin_level=* を設定します(国、州、郡の境界が共有するウェイならば admin_level は2になります)。 source=* は常に推奨です。

境界線はリレーションと独立したウェイの両方からレンダリングされる可能性があるので、ウェイへのタグ付けは、最も厳密に注意して行う必要があります。以前はレンダリングに問題がありましたが(この Github の議論を参照)、現在は解消しています。

boundary リレーションは多くのツールで有用ですが、レンダリングの目的では必要ありません。これが、レンダラーが利用できるように境界線(のウェイ)にもタグ付けする理由です。

name:left=*/name:right=* のような、方向に依存した古いタグは削除できます。

リレーションのタグ

キー 説明
type boundary type=multipolygon も使われていますが、 boundary リレーションでは非推奨です(ソフトウェア実装のメモを参照)
boundary administrative 実際の境界線に使用します。(たまに河川の中央線や海岸線から12マイル先のラインが使われます)
land_area administrative 海岸線と、陸上にある実際の境界線に使用します。
name 名称
admin_level The administrative level

内陸の行政区画地域の場合 boundary=administrative と land_area=administrative の両方を設定してください。もし land_area が境界と異なっている場合は2つのリレーションを作り、1つは land_area=administrative として、もう1つは boundary=administrative として設定してください。

リレーションのメンバー

要素 ロール 出現回数 説明
ウェイ outer ! 1+ 閉じられている境界を形成する複数のウェイ
ウェイ inner ? 0+ 境界の内側にある飛び地 - 閉じられている内側の境界を形成する複数のウェイ
リレーション subarea ? 0+ この行政境界レベルの中にある下位レベルにあたる境界のリレーションの参照

注: 任意、議論中であり冗長(下位レベルへの参照も空間的クエリーで見つけられます)。他のリレーションへの参照は場合によって、より編集がより複雑になることがあります。

ノード admin_centre ? 0–1 通常、町や市や村などの行政区画の中心を参照するノード(境界レベルによります。 place=* を参照してください)。
ノード label ? 0–1 ラベルを描画するためのノードです。(現在は Mapnik のレンダリングは対応していません)
ウェイ <empty>  0 以前に使われていたロールです。代わりに outer を使用してください。
ウェイ enclave  0 以前に使われていたロールです。代わりに inner を使用してください。
ウェイ exclave  0 以前に使われていたロールです。代わりに outer を使用してください。

注意: 境界線を作成するとき、個々のウェイが閉じている必要はありませんが、すべてのウェイで閉じたリングを形成するようにしてください。閉じられていない線形の境界は Proposal:Relation boundary segment を参照してください。

使用例

バールレ=ナッサウ はこのリレーションに対する良い使われ方の例です。 この地域は飛び地の中にさらに飛び地が存在しています。ベルギーの飛び地の中にある、さらなる飛び地はオランダやオランダ州ノールトブラバント、そしてその村の集落のリレーションの飛び地として加えられています。

タグ付けの例
地域Cが地域Aの中にある地域Bの飛び地であるとき:
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC" role="inner" />
</relation>
<relation id="2">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC" role="outer" />
</relation>
地域Cが地域Aの中にある地域Bの飛び地である。
地域Dが地域Bの飛び地であるものの、地域Aの中にあるのではなく地域Cとの境界として共有しているとき:
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="AC2" role="outer" />
  <member type="way" id="AD" role="outer" />
</relation>
<relation id="2">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="BC" role="outer" />
  <member type="way" id="AD" role="outer" />
  <member type="way" id="CD" role="outer" />
</relation>
<relation id="3">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="purple country" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="AC2" role="outer" />
  <member type="way" id="CD" role="outer" />
  <member type="way" id="BC" role="outer" />
</relation>
地域Dが地域Bの飛び地であるものの、地域Aの中にあるのではなく地域Cとの境界として共有しているとき。

他にも例があります!

ソフトウェアの実装

ソフトウェアは非推奨の種類のものを、データベースから消滅するまで対応するべきです。

  • type=multipolygon type=boundary と同様です(行政境界は既存の boundary=* タグから明確に認識することができます)
  • role=outer についての role=(空) (なお、空欄のロールはマルチポリゴンと同様に非推奨ですが、既定で outer として使われています)

支援ツール

ダウンロード