User:Higa4/Metro Mapping

From OpenStreetMap Wiki
Jump to navigation Jump to search

これはProposed features/Metro Mappingの一部の日本語訳です。

提案

この提案は、モダンな公共交通スキーマの灯りの下、地下鉄の駅と路線のタグ付けを明確化し、データを利用者にとって使いやすくすることを目指しています。全ての地下鉄システムを統一された完全なやり方でタグ付けすることで、地下鉄のスキーム構築と適切なルーティングが可能となるでしょう。

世界中の地下鉄ネットワークの半数以上がこの文書で提案されている通りに既にマッピングされています。

PTv2に詳しい人は#影響範囲セクションで提案の変更点の要約をご覧ください。

概要

Stop area group.jpg

駅のタグ付け

これらのオブジェクトの中で、駅ごとに必須なのは駅のノードだけです。また、可能であれば、ルーティング・ソフトウェアが地下鉄駅の地上の位置を案内しないように、地下鉄の入り口をマークしてください。

駅のノード

地下鉄駅を作成する際には、単一ノードnodeだけを使用してください。ウェイやマリチポリゴンは使いません。そこに必須の3つのタグは以下の通り:

それ以外にも以下のような有用なタグはぜひ追記してください:

ノードの位置はさほど重要ではありません。地下鉄かどうかに関わらずたいていはプラットホームの中央付近に置かれます。これはしばしば論争を引き起こします。というのも、駅のノードはたいていのマップでは目立つように表示されるため、地上の入り口と間違えやすいからです。入り口付近にこのノードを置いても何も問題はありません: ルーティングその他に悪影響を与えることはありません。

地上のライトレールと鉄道駅はポリゴンでマッピングできます。subway=yeslight_rail=yesと一緒にpublic_transport=stationタグを使っても構いません。

入口

駅の入口と出口はノードとしてマッピングしてください。これは歩行者向けルーティングに役立ちます。地下鉄の入口と出口には単一の必須タグがあります:

また、オプションとして強く推奨されるタグがあります:

  • ref=* 地下鉄の入口に番号が付いていて、その番号が分かる場合。
  • highway=elevator 入口がエレベータの場合。
  • wheelchair=*
  • entrance=entranceは駅をここから出られない場合に追加、入れない場合はentrance=exitstop_areaリレーション内のロール参照。一方通行の歩道には全てのソフトウェアが対応しているわけではないので、分かっている場合はこのタグを使用してください。

プラットホーム

地下鉄駅の位置と長さが分かっている場合は、ウェイwayとしてマッピングします。その広がり具合も分かっている場合には、エリアやマルチポリゴンとして描くこともできます。詳細にプラットホームが描かれた例はこちら

以下はプラットホームで使用する必須タグ:

  • railway=platform
  • public_transport=platform
  • layer=-Nはプラットホームが地下の場合に使用し、他の地物の下に描かれます。Nは少なくとも3以上で、都市により変わります。
  • area=yes プラットホームがエリアで描かれている場合。

以下のタグは推奨:

  • level=-M プラットホームの正確な階数が分かっている場合。
  • ref=* プラットホームに番号が付いている場合。
  • name=* プラットホームや駅の名前があるとルート編集がしやすくなります。

歩道

入口とプラットホームやプラットホーム間の地下通路をマッピングしたい場合は、ご自由にどうぞ。layer=-Ntunnel=yesを使うことをお忘れなく。

より複雑な地下のマッピングには、level=-NSimple Indoor Taggingスキーマの使用を検討してみてください。

停車位置

モダンな公共交通のタグ付けスキーマでは停車位置(鉄道車両が実際に停止する線路上の位置)が紹介されています。これらのノードはrailway=subway/light_rail上の仮想的な鉄道車両の先頭または中央に置かれます(これはコンセンサスを得られている訳ではないので、お好きなようにどうぞ)。異なるルートごとに別の停車位置が必要なことがよくあります。このポイントは少なくとも以下の3つのタグを付けるべきです:

停車位置と駅で同じノードを使うのはやめてください。そうしてしまうと正しくマッピングされずに、本来可能な乗り換えができなくなる場合があります。

停車エリア

地下鉄の駅、プラットホーム、停車位置そして入口をリンクするには、これらをpublic_transport=stop_areaリレーションに入れてください。地下鉄の駅、停車エリアのリレーションにはその駅に直接関連するオブジェクト「だけ」があるべきです。タクシー乗り場や他の駅などは入れません。以下のようなタグを持つオブジェクトだけです:

  • railway=station — ただひとつ存在し、オプションでロール「station」を付ける
  • railway=platform (ロール「platform」を付ける)
  • public_transport=stop_position (ロール「stop」を付ける)
  • railway=subway_entrance (駅への出入りに使えるかどうかで、オプションのロール「entrance」か、必須の「entry_only」または「exit_only」を付ける)

駅のインフラとして、barrier=turnstileshop=ticketといった他のPOIを追加することができます。線路、歩道、バス停などは追加すべきではありません。乗り換え場には路線番号を付けて、stop_areaのリレーション名には駅名を使ってください。

乗り換え場

Interchange types.jpg

乗り換え場は駅または駅のグループで、旅行の路線や方向を変更できるところです。ここでの説明で技術的にいえば、たいていの地下鉄駅は乗り換え場です。上図のように乗り換え場には3つのタイプがあります(AとBは路線であり、駅ではありません):

  1. ひとつめは、路線を乗り換える時には、同じプラットホームあるいは近くの別のプラットホームに数メートル徒歩で移動して、次の列車を待たなければなりません。通常はどのプラットホームからでもこの乗り換え場の中にある線路やプラットホームを全て見渡せます。ルートの反対方向との間の島になったプラットホームはこのような乗り換え場のシンプルな例です。
    このような乗り換え場は単一のstop_areaリレーションでマッピングします。
  2. 2つ目のタイプは、別のプラットホームやプラットホームの集まりにたどり着くために、ある程度の時間歩かなければならないものです。単一のルートで方向を切り替えるためであっても、地下道に下りなければならないことがよくあります。大雑把にいえば、あるプラットホームから別のプラットホームに移動するのに1分以上かかる場合は、たいていタイプ2の乗り換え場です。
    こうした乗り換え場はいくつかのstop_areaリレーションでマッピングします。その後、public_transport=stop_area_groupリレーションを作成して、これらのstop_areaリレーション(駅のノードではありません!)をその中に追加します。
  3. 3つ目のタイプでは、地下鉄の駅をいったん出てから別の駅に入る必要があります。路線の切り替えには5分かそれ以上かかり、別の入口を探すのに地上の歩行者向け経路案内が必要となるでしょう。これは同じ路線のある駅を出てから別の駅に入るのとは異なります。タイプ2とタイプ3の間の路線は明確ではありません。自分で判断したり、公式なマップを参照してください。
    これらの駅やプラットホーム用に「stop_area」リレーションを複数作成できますが、それらは「stop_area_group」リレーション内にグループ化しないでください。

乗り換え場が異なる名前の駅の間にあるのか、単一の大きな駅内にあるのかは問題ではありません。駅のグループが全てのマップ上で公式に単一の駅である場合、単一の駅のノードを使ったり、全ての関連する「stop_area」リレーションに含めるのはOKです。

もし駅がひとつの駅ノードでマッピングされている場合、停車エリアのグループを作成するには、単一のノードのためであっても、停車エリアのリレーションを作成する必要があります。Stop_area_groupsは停車エリアのリレーションのみを集め、stop_areasは駅に関連するあらゆるものを集めます。

多モードの乗り換え場

バス、列車、トラムあるいはその他のモードの交通機関が地下鉄駅の近くにある場合、とりわけ似た名前が付いている場合には、それらの駅に(各モードにひとつずつ)stop_areaリレーションを作成し、それらをpublic_transport=stop_area_groupリレーション内の地下鉄駅用にstop_areaと一緒に追加してください。

地下鉄駅のstop_areaには(例えば)バスステーションを追加しないでください。代わりに、stop_areasを2つ作ってグループ化してください。

路線のタグ付け

線路

地下の線路がどのように敷かれているか分からない場合は、ここは単に読み飛ばしてください。線路はオプションです。

マップをもう少し完成させるために、駅を接続してスムーズに折り返しできるようにしてみましょう。線路に関わるタグの一覧はrailway=subwayを参照。ライトレールの軌道にはsubwaylight_railに切り替えてください。railway=light_railのページには説明が十分ではありませんが、地下鉄、ライトレール、そして通常の線路を区別するためのヒントがあります。

将来のマッピングを簡素化するために、並行する線路のペアを描くのがベストです。列車が通常どの方向に行くか知っている場合でも、これらにはoneway=yesは使わないでください。代わりに、railway:preferred_directiondesignated_direction=*キーをよく読んでください。分かっている場合にはrailway:track_ref=*タグに線路番号を入れてください。

ルート・リレーション

地下鉄やライトレールそれぞれに、少なくともひとつのroute=subwayまたはroute=light_railリレーションが必要です。通常、それぞれの方向ごとにひとつずつ、合計2つあります。あるトリップが早めに終わって停車場にリダイレクトされるような場合には、もっとあることもあります。地下鉄の路線に多くのルート・リレーションがある場合、路線内の全ての駅を含むものが少なくともひとつあるべきです。

これらのタグはルート・リレーションに必須です:

  • type=route 自明
  • route=subway (またはlight_rail)
  • ref=* 路線番号または短いリファレンスを付ける。
  • colour=* 公式な路線の色。16進数値(#ffeedd) またはCSS3カラーネーム(red)。公式な地下鉄マップから取得してください。存在しない場合はこのタグはスキップしてください。
  • network=* は都市内にひとつ以上のネットワークがある場合には必須。(例:New York has three)。

推奨タグ:

  • operator=*, 管理者が同一の路線では同じ値であるべき。
  • name=* 路線のフルネーム。
  • interval=* サービス間隔を分単位で。

公式マップ上で、路線に明らかな外枠がある場合、とりわけ路線色が白の場合、(外枠の)メイン色をcolour=*で入れ、内側色をcolour:infill=*で入れてください。こうすれば、infillをサポートしていないソフトウェア内で多数の白線が表示されることはありません。例えば、London DLR routesに対するcolour=cyan + colour:infill=whiteなど。

リレーション・メンバー

ルートはそこに含まれる全てのstopを持つべきであり、それは先頭から最後の順に並んでいるべきです。stopの位置を"stop"ロールで追加することを推奨します。駅ごとにプラットホームを追加することを推奨します。その場合、プラットホームのオブジェクト("platform"ロールを持つ)はstopオブジェクトをフォローすべきです。各駅にはひとつのstopオブジェクトと最大2つのプラットホームオブジェクトがあるべきです。

線路が含まれる場合、最初のstopから最後の順に並んでいるべきで、切れ目の無い、単一の路線を形成すべきです。路線が分岐している場合、代わりのルートとして、別のルート・リレーションを作成すべきです。

リレーションにstopの位置やプラットホームが含まれる場合、アルゴリズムがこれらを駅オブジェクトに一致させられるように、これらはstop_area リレーションに属するべきです。同様に、各stopとプラットホームは単一のstop_areaリレーションに属するべきであり、そうでない場合は、2つの駅に同時にある停車場(train stop)のように見えてしまいます。すなわち、単一の駅ノードで示されるタイプ2の乗換駅では、各地下鉄路線ごとにstopの位置かプラットホームを作成し、これらを駅ノードの代わりにルートに含める必要がある、ということを意味しています。

Route interchange.jpg

タイプ2の乗り換え場では、ルート上に駅ノードを追加しません。路線にstop_positionsを追加し、 それを駅の代わりにroute リレーションで使用し、stop_areaリレーションを使って駅を持つ各stop_positionsをグループ化し、stop_area_groupリレーション内のこれらのstop_areasをグループ化します。

ルートのグループ化

単一のルートのバリエーションのための全てのref=*値は同じであるべきです。これらのリレーションをグループ化すれば十分です。しかし、公共交通スキーマに従って、グループ化されたtype=route_masterリレーションを作成することができます。その場合は、代わりにref, colourそして networkタグをその上に置くことができます。

影響範囲

この提案はほとんどの場合、既に使用されているマッピング・プラクティスに準拠しています。それをさらに、次のようにして改善、明確化しています:

  • 入口、プラットホーム、停車位置を駅にリンクするために停車エリア(Stop area)リレーションは必須です。
  • 全ての地下鉄の入口は停車エリアを持つべきです。入口からの出口を教えるためには、stop_areaリレーション内でentry_only及びexit_onlyロールを使ってください。
  • 停車エリアは唯一のrailway=stationオブジェクトを持つべきであり、鉄道線路や道路を含むべきではありません。
  • 停車エリアグループ・リレーションが、駅を乗り換え場内の他の駅、他のモード、プラットホームにリンクするために改めて紹介されています。
  • ルートリレーションには鉄道線路はオプションです。

最初からフルのPTv2で始める必要は無いことに注意してください。通常は、各ルートのバリエーションの両方向のために、単にstation=subwayノードだけあって線路の無い2つのroute=subwayリレーションを作るだけで十分です。

実際の利用

世界の全ての地下鉄システムはこのスキーマに対して妥当性を検証済みで、結果は全てこちらのウェブページで公開されています。半数以上が適合しています。このやり方で構築されたネットワークは表示やルーティング用に使われるアプリケーションに統合することができます。ソースコードはオープンで、こちらのgithub上で公開されています。


関連情報