JA:Simple Indoor Tagging

From OpenStreetMap Wiki
Jump to navigation Jump to search

シンプル屋内タギング(Simple Indoor Tagging)屋内マッピングのためのタグ付け方式です。使いやすさを保ちながら、複雑なケースにも対応できる包括的な設計になっています。他の屋内タグ付け方式の一覧はこちらで確認できます。このドキュメントは2014年にSimonPooleTordanikPedaAndiによって作成され、主にマッパー向けに書かれています。

概要

このモデルの主な特徴をまとめると:

  • 異なるフロア(レベルとも呼ばれる)を含む屋内空間のマッピング
  • 既存のOSM手法(ノード、ウェイ、リレーション、キー)を活用

シンプル3Dビルディング(S3DB)との互換性は、シンプル屋内タギング(SIT)の明示的な目標です。SITとS3DBを組み合わせる場合は、両方のタグを同時に使用してください。

ユースケース

屋内マップや3D屋内情報は、例えば以下のようなさまざまな用途に使用できます:

公共建築物向け。

モデル / タギングスキーマ

以下のセクションでは、モデルを紹介し説明します。

シンプルなPOIマッピング

シンプルなPOIマッピングの図解

OSMでのオブジェクトマッピングは、最初からすべてを詳細に追加する必要がない場合に最も効果的です。ほとんどの場合、マッピングは大まかな段階から詳細へ、さらには超精細なレベルへと進んでいきます。これをサポートするために、詳細なフロアプランがない場合でも可視化やルーティングが可能なシンプルなPOIマッピング方式を定義する必要があります。

一つのアプローチは、そのようなノードに単純に「level」タグを付けることです。これを利用しやすくするために、建物のアウトラインまたは建物リレーションにmin_level=*max_level=*をタグ付けすることを推奨します。

最も単純なケースでは、建物ポリゴンへの2タグの追加とPOIへのlevelタグの追加だけで、粗い可視化が機能します(追加の屋内要素なしではルーティングはサポートされません)。

キー 説明 値の例
level=* POIが位置する物理的なレベル番号 level=3level=-1
level:ref=* POIが位置する標識表示上のレベル番号 level:ref=B1level:ref=LGlevel:ref=Glevel:ref=1

建物

屋内カバレッジのある建物をデータ利用者が見つけやすくするために、min_level=*max_level=*タグを推奨します。一部の国ではレベル値が割り当てられないことがあります(例:西洋諸国の13階、東アジアの4階)。これらのケースのマッピングを容易にするために、non_existent_levels=*を提案します。

キー 説明 値の例
min_level=* 最小屋内レベル min_level=-1
max_level=* 最大屋内レベル max_level=14
non_existent_levels=* 任意: 地域的な理由などで存在しないレベル non_existent_levels=4;13

各屋内要素のモデル化

レベルの各屋内要素もOSMでマッピングする必要があります。屋根付きエリア(部屋、階段室、廊下など)はエリア エリア(閉じたウェイまたはマルチポリゴン)としてマッピングします。

すべてをモデル化できる4つの基本的な屋内要素を提案します。5番目の値indoor=levelはオプションで、レンダリング目的ではなく、フロア名などの追加情報を付加するためのものです。

4つの基本屋内要素の図解
キー 要素 説明
indoor=* room area 壁のある通常の部屋。部屋の用途はroom=*で説明できます
indoor=* area area 壁のないエリア(通常は区画または部屋の一部)
indoor=* wall way 個別の(通過不可の)壁要素(indoor=roomで未定義の場合)
indoor=* corridor area 部屋をつなぐ囲まれた通路エリア
indoor=* level area 建物レベルの高度なモデル化に任意で使用可能

各エリアは、現実世界で壁を共有する箇所で同じノードを共有します。部屋間の接続はドアノードでマッピングします。詳細は該当セクションを参照してください。

ドアと窓

ドアはノードとしてマッピングします。ドアノードは、そのドアがつなぐ部屋同士および壁ウェイ(あれば)によって共有されます。建物への出入口となるドアには、追加でentrance=*タグを付けます。

キー 要素 説明
door yes node 種類不明のドア
no node 壁の開口部で通行は可能だがドアが設置されていない
* node 特定の種類のドア。可能な値についてはKey:doorを参照

も同様に、壁、部屋のアウトライン、建物のアウトライン上のノードとしてマッピングします。内壁・外壁の両方に存在できます。

キー 要素 説明
window * node 単一の窓の位置(repeat_on=*と共に使用した場合は窓の垂直列)

ドアや窓を詳細に説明するための追加タグを付けることができます。これらのタグ付け標準はシンプル屋内タギングとは別に提案・文書化されています。例えば以下を参照してください:

垂直方向の接続

階段室とエレベーター

階段とエスカレーターはマルチレベルの部屋と同じロジックに従います。複数のレベルにまたがり、各フロアでdoor=*ノード(物理的なドアがない場合はdoor=noを含む)を介して他の屋内空間(indoor=corridorなど)と接続されます。

セミコロン区切りのレベルリストまたはレベル範囲を使用して、階段やエレベーターが対象とするレベルを定義します。例えば、レベル0と1をつなぐ階段にはlevel=0;1またはlevel=0-1を使用できます。レベル2と4をつなぐ階段にはlevel=2;3;4またはlevel=2-4とタグ付けします(その階段からレベル3にアクセスできるかどうかに関わらず)。

一様な階段や古典的なエレベーターでは、同じ方法でドアノードが重複します。ノードは同じ緯度・経度座標にあり、levelの値のみが異なります。このようなケースでは、repeat_on=*タグを付けた単一のdoor=*ノードを使用することを推奨します(例:repeat_on=1;2またはrepeat_on=1-5)(詳細は以下を参照)。屋内データの利用者には、前処理中にこれらのオブジェクトを複製し、それぞれにレベル値を1つずつ使用することを推奨します。マルチレベル機能と繰り返し機能のセクションも参照してください。

写真 ユースケース タグ付け
階段室 エリア stairs=yes
+ 壁がない場合はindoor=roomまたはindoor=area
(エスカレーター付き階段の場合は + conveying=yes
エレベーター エリア highway=elevator
+ indoor=room、または壁がない特殊なケースではindoor=area

ステップ

階段室の外にある、またはオプションで階段室内の詳細として追加できる個別の段差(フライト)は、適切なlevel=*タグを付けたhighway=stepsウェイとしてマッピングできます。階段室やエレベーターと同様に、levelの値はレベル範囲またはセミコロン区切りのレベルリストである必要があります。

屋外の段差と同様に、ウェイに加えてarea:highway=stepsポリゴンを描くことで、段差の範囲をオプションでマッピングできます。ウェイとポリゴンに同じlevel=*を追加してください。

写真 ユースケース タグ付け
段差 ウェイ highway=steps
エスカレーター ウェイ highway=steps + conveying=yes

各レベル(フロア)の高度なモデル化

building:partsを使用したやや複雑な例のスケッチ

同じレベルのすべての要素にはlevelタグを付けるか、オプションでレベルリレーションのメンバーにします。

キー 説明 値の例
level=* 要素がどのレベルにあるかを表します(0は通常地上レベル、-1は最初の地下フロアなど) level=0level=-2level=3

建物ごとのローカルなレベル表記を再利用してください。例えばミュンヘン空港では、3が地上レベルです。

オプションのレベルアウトライン(indoor=level)に追加できる合理的かつ適切なキーと値を以下の表に示します:

キー 説明 値の例
name=* 対応するレベルの名称 name=Ground floor
level:ref=* レベルの番号またはコード。建物内のフロアプランやエレベーターボタンに表示されているレベル番号体系をモデル化するもので、level=*の値とは異なる場合があります。 level:ref=K level:ref=E level:ref=3
height=* レベルの高さ(デフォルト単位はメートル) height=4
level=* 現在のレベルが持つレベル番号を表します(0は通常地上レベル、-1は最初の地下フロアなど) level=0level=-2level=3

屋内要素自体に関する情報(名称や種類など)は、対応する屋内要素にキーと値のペアとして付加します。

キー 説明 値の例
level=* 必須:屋内要素が位置するレベル level=111level=-1
name=* 屋内要素の名称(部屋名など) name=Vesalius Aulaname=Audimax
ref=* 屋内要素のref(部屋番号など) ref=101ref=01.15
height=* 屋内要素の個別の高さ(デフォルト単位はメートル) height=3height=2.5

マルチレベル機能と繰り返し機能

キー 要素 説明 値の例
level=* nodewayarea 前述のケースに加え、複数のレベルにまたがる機能(例:階段、エレベーターシャフト、吹き抜けの高い部屋)はlevelの値に複数のレベルをリストすることでマッピングできます level=1;2level=-1-5level=-4--2
repeat_on=* node 他のフロアに同一のコピーがある機能は、このタグを使って単一のノードとしてマッピングできます。これは必要な場合に限り控えめに使用すべきです(窓やエレベーター/階段のドアに多く見られます)。開始レベルはこのリストに含まれません。例えばlevel="0"の機能の場合、repeat_onは"1"から始まります。 repeat_on=1;3repeat_on=0-6

追加サンプル画像

上記のテキストは一貫性を保つ必要があり、大きな変更は原著者(上記参照)と調整すべきであるため、第三者によるサンプルをここに追加できます:

品質保証

  • text-middle Osmoseチェック (list, map, stats) が利用可能です。