JA:住所

From OpenStreetMap Wiki
Jump to navigation Jump to search
Logo. 地物 : 住所
One example for 地物 : 住所
説明
建物や施設に対して住所情報を付与するために使います。
タグ

broom

Help (89606) - The Noun Project.svg

住所情報は様々な方法で OpenStreetMap に追加することができます。住所を含んだ単純なノードを追加したり、建物や土地の輪郭に住所情報を追加したり、建物の入口ノードに追加したりする方法もあります。

住所のマッピング方法

住所は addr:housenumber=* やその他の addr:* キーでタグ付けできます。タグは以下のものに追加できます。

  • 独立したノード
  • 建物の多角形の一部であるノード( = entrance=*
  • building=* の多角形
  • 土地の輪郭を表す多角形

このアプローチは歴史的には Karlsruhe Schema を起源としています。

ふつう、住所情報を複製する必要はありません。つまり、通りと住居番号(ふつうは建物に付与される)の組み合わせにつき addr:housenumber=* は1つしかありません。ソフトウェアはふつう、住所を地理的に近い他の地物に結び付けることがあり、品質保証ツールで住所の重複がよく報告されます。しかし、この点はまだ議論中です(例えば、 help.openstreetmap.org の Address information in POI *and* building? を参照して下さい)。また、一部の国のコミュニティは独自のルールを確立しています。

addr:country=*, addr:city=*, addr:postcode=* のようなタグはこの属性を「継承した」行政境界(マッピングされている場合)の中の地物としては冗長であり、 NominatimPhoton のようなソフトウェアが対応しています。

リレーションの利用

associatedStreet リレーションは住宅と道路の間を結び付けます。これは addr:street=* タグの代わりとして利用できます。

2015年7月時点で、住居番号がリレーションでマッピングされているのは約10%です。 associatedStreet リレーションの将来は、一部のマッパーが疑問視しています

street リレーションは、通りと、それに関するすべてのもの(建物や住所を含む)を結び付けるのに使用されています。他にも、 addr:city=* のような他の addr:* タグと同様に addr:street=* の代わりとして使われることがあります。

複数の住居番号を有する建物

Ambox warning pn.svg この件についてはコンセンサスがとれていません。表記の可能性について記載します:

  • それぞれのhousenumberを記載した住所情報ノードを、建物の外縁(あるいは建物の内部)に配置する
  • もしhouse numberが個別の出入口に対して割り当てられている場合、entrance=*ノード(旧版 - building=entrance)に対して付与を行います
  • 値をカンマで区切る(例: "11,13,15")。
    • Ambox warning pn.svg OSM では、複数の値の区切り文字の既定はセミコロンです。 tagging@ メーリングリストでは同様に、既定のものを使用するべきだと提案されています。詳しくは、 [1][2] を参照してください。
  • 範囲で指定する(例えば「10-95」など)。なお、この場合は2つの意味で曖昧になるリスクがあります。
    • When such a range is officially used for the entire house, this is the preferred method. In this case "10-95" is simply a label like any other. In this and other cases, house numbers officially contain a dash and are not meant to be treated as special.
    • When such a range is meant to be interpreted as a list of addresses, use addr:interpolation=* (described below) to emphasise this. Some mappers will add a short "virtual" way which allows them to put addresses "10" and "95" on separate nodes as normal. Some mappers will specify the range "10-95" on a single object, where the addition of the addr:interpolation=* tag disambiguates it from the "simply a label" meaning, specifying that it is indeed to be treated as a range. Both approaches are used in practice and there is little consensus.
  • 1つの建物を表すために、2つ以上のポリゴンを作成して接続し、それぞれのポリゴンに個別の住所情報を付与します。これは建物の内壁を共有する場合にも行ってかまいませんが、建物の隅どうしを斜めに横切るような分割方法は受け入れられないことが多いでしょう。

1つの住居番号に複数の建物がある場合

これは主に農場や工場、学校などで起きうる事例です。この場合、名前などの一般的なタグと、住所タグを含めるその区画の外縁を描きます。こうすることによって、データの重複を少なくすることが可能です。建物を単一の要素に収めることができない場合(例えば、離れた2つの建物からなる学校)は、マルチポリゴンリレーションまたは site リレーションを使用してください。

建物の名前を付与するには、 addr:housename=* を使用してください。

補間の使用

HouseNumbersInterpolation.png

ウェイに沿って各建物(番号)のノードや外形が描かれていない場合は、自動的に住居番号を補間させることができます。補間させるには、既存の住居番号を接続するウェイを描き、図の示すように補間の種類を付加します。addr:street=* のような追加情報は addr:housenumber=* があるオブジェクトに対してタグ付けできるように、 addr:interpolation=* タグは補間を示すウェイに対してのみタグ付けできます。

特定の住居番号が不規則に存在しない(たとえば「13」番地がない)場合は、(「1-11」と「15-25」のように)2つのウェイで描く必要があります。住居番号の欠番が(例として 3401、3405、3409…などのように)規則的である場合、住居番号の増え方を示すために addr:interpolation=* に数値を使います。(注意:addr:interpolation=odd と addr:interpolation=even は addr:interpolation=2 で、かつ最初の番号がそれぞれ奇数または偶数であるという特別なケースを表すものです。)

単一のノードまたは単一の建物ポリゴンに対しても住居番号があり、補間の結果として現れている場合は、ソフトウェアが正常に処理できていますが、個別にタグ付けされた住居番号が正確な位置とすることが推奨されます。

上記の例の画像で見られるように、奇数/偶数/すべてのいずれかで補間させている間のどこかに、整数の値を持っていない addr:housenumber タグ(たとえば、「12b」)が付けられたノードを追加することができます。補間のウェイの途中にあるノードでは無視されるだけですが、最後にあるノードでは常に指定された補間ルールに従わなければなりません!

住居番号でアルファベットの文字を補間するために「alphabetic」という補間方法が使えます。一列に建物が 7a から 7f まで並んでいるのであれば、それらを addr:interpolation=alphabetic でタグ付けされたウェイで接続できます。ただし、アルファベット文字の補間と他の補間を混在させることはできません。並びの最初の項目が数値で、そのあと数値と文字Aが続くというラテン文字セットの特殊なケースがあります。たとえば、25-25F の範囲の建物は 25、25A、25B … 25F と番号が振られていることを意味します。

一部のマッパーは addr:housenumber=* を範囲としてではなく、上述の最小のラベルとして扱われるということを示すために単一のオブジェクトで addr:interpolation=* を使っていますが、これが適切であるかどうかについて合意がとれていません。

Using Address Interpolation for partial surveys

To indicate the accuracy level of an interpolation, you can use the optional tag addr:inclusion=* to represent the data missing from a house number survey.

  1. Not all houses are yet present, but the endpoints of the street are surveyed.
  2. The endpoints of the street are unknown, but a possible range can be estimated.
  3. House numbers are missing or damaged beyond recognition, so the interval cannot be correct.
  4. Use of US TIGER data to indicate all possible addresses on a block; useful for routing to the nearest block where no survey has been done.

The optional tag addr:inclusion identifies the accuracy of the data.

  • addr:inclusion=actual - Represents an accurate survey where calculating every house number from the address interpolation way results in an exact match with physical houses. This is the same meaning as omitting the addr:inclusion tag.
  • addr:inclusion=estimate - The address interpolation way may contain numbers that don't actually physically exist for typical reasons of cases 1-3 above. A survey has been performed and geolocation calculations will be within several physical house spaces from the actual house.
  • addr:inclusion=potential - The complete range of all possible address numbers on a block, although there may not physically be enough room on the block for that range of house numbers. Interpolation data from US TIGER is an example where geolocation would only be as near as one block.

house numberにおける文字列 (ロシアの例)

ロシアの住所には、文字列を含む形式の複雑な addr:housenumber=* の値が入る可能性があります。例えば "48A k2 c1" [3] (住居番号 48A, 建物 2, 棟 1 を意味します)。場合によっては、公式な住所は "корпус"(建物)番号までですので、 addr:housenumber=* は "к" の文字から始まります。

通り名のない住所

建物の住所の中には、通り名を含まないものもあります。例えば、小さい村では住所が村名と建物名または家屋番号だけのこともあります。小さい島では住所が島名と建物名のこともあります(例えば、ロシアのサンクトペテルブルクのエラーギン島にあるこのスポーツセンター)。

旧ソ連の一部の国、例えばトルクメニスタンでは、建物の住所が家屋番号と建物が位置している都市内の地区の名称から成っています(たとえば、Ashgabat の Parahat および Howdan)。このような場合、家屋番号は建物を建てた順に割り当てられ、建物同士の相対的な位置とは関係がありません。

このような場合、 addr:street タグは設置しないでください。村や島の名称のような通り名に相当する住所の一部を示すには、 addr:street の代わりに addr:place キーを用います。地区内の建物の場合は、住所を検索や経路探索ができるように、 addr:district および必要に応じて addr:subdistrict を使用してください。

各国固有のルールと情報源

ベルギー

フランダース

The Flemish Agiv (Agentschap voor Geografische Informatie Vlaanderen) provided access to their address database. The database isn't used for a direct import, but its data can be compared with OSM data to find differences. See the documentation for more info.

デンマーク

According to the Danish Bekendtgørelse om vejnavne og adresser (English: Ordinance regarding street names and addresses) all BBR units (lots) will be appointed an address node. If a building exists on the BBR unit the address node should be placed at in the middle of the longest side of the building 3 meters from the wall closest to the main (named) access road.

All Danish addresses are continuously checked by a bot and corrected against a service offered by the Danish government. Foreign cartographers mapping in Denmark should be wary that the Danish community does not approve merging of address nodes with buildings. Please be aware that the JOSM-plugin buildings_tools automatically merges address nodes with buildings unless it is reconfigured not to.

Even though bulk imports from public data in general has earlier led to bad results, the quality of the addresses from the Danish government is very high. The value of having millions of address nodes (with correct tags following the accepted addr scheme, even including several housenames - yup, this is also centralized information in Denmark) has led to a huge rise in the quality of the Danish data set, serving as a base for several QA tools (for finding "blank spots" on the map where addresses actually exist but no mapper has visited yet), e.g. matching addr:street up against name for nearby highways.

France

OSM France initiated an address centered project called "BANO" (Base d'Adresses Nationale Ouverte). This database is a composite from OSM address data, available opendata sets, cadastre data automatically extracted. The resulting composite dataset is available under ODbL and can be used to improve OSM addresses and street names. For more detail see WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO) and http://openstreetmap.fr/bano (in French)

Germany

Karlsruhe Schema is widely used (unsurprisingly, since it was invented in Germany). Interpolations are also used.

Norway

As of mid 2014, all Norwegian official addresses has been released to the public for free. The data is of very high quality. There are updates released regularly. We use a tool http://osm.beebeetle.com/addrnodeimportstatus.php to keep track of progress and merging changes. All of them has been imported as nodes with addr:housenumber, addr:street, addr:postcode and addr:city. We follow the Danish pattern and do not merge the tags to to building outlines. There is no need for interpolations, so we remove them as we go along. We also prefer to keep the data in the nodes alone, so associatedStreet relations are also unwanted and deleted as we go along. This is to ease later updates and have a very consistent dataset.


Russia

Karlsruhe Schema with AddrN additions is widely used and supported by most software.

街区 Block number address systemについて

広く利用されているStreetを基準とした体系とは異なり、日本では街区(Block)を基準とした住所体系が構築されています。

街区をもとにした住所体系では、主に道路などで区切られた区画を1単位として扱います。区切られた区画が小さい場合、隣接する他の区画とまとめて1区画として扱われる場合もあります。(その他、過去は1区画だった場所に新しく道路が敷設されたケースなどもあります)

ここでは住居番号制度を例に、具体的にどのような区画分類が行われているかを解説します。

以下の図は、"千葉県 千葉市 中央区 松波一丁目" の区画を表しています。この区域は19の街区(block)に分けられており、それぞれに番号が付与されています。これにより、 "松波一丁目" の中に存在しているそれぞれの区画の街区番号が確定します。

Japanese address blocknumber.png

それぞれの街区の中には、家屋などの建物が存在します。それぞれの建物や敷地を1単位として、一意の番号が付与されます。この番号を住居番号(House number)と呼びます。この際、住居番号は家屋の消滅などで欠番になっていることもあります。

以下は、"千葉県 千葉市 中央区 松波一丁目"の 街区番号 "12" における住居番号の例です。

それぞれの家屋・敷地に対して、7つの住居番号が割り振られています。

Japanese address housenumber.png

この住所をOSMにおける addr:* タグとして表現する場合、以下のように入力します。

  • addr:province = 千葉県
  • addr:city = 千葉市
  • addr:suburb = 中央区
  • addr:neighbourhood = 松波一丁目
  • addr:block_number = 12
  • addr:housenumber = 13

日本の住所体系(街区番号・地籍転用)

日本における addr:* タグは以下の階層構造をもちます。

日本の住所体系は、大きく分けて "街区番号"方式と、"地籍からの番号転用"方式に分けられます。その地域でどちらの方式が採用されているかは、その地域の市町村によって異なっています。どのタグに記載することが正解かわからない場合は、住所情報をすべて"addr:full=*"タグへ記載しておき、追加調査を行うか、talk-ja MLなどで質問してください。

  • addr:country = JP
  • addr:province = 都道府県
  • addr:county = * 郡
  • addr:city = 市町村 / 特別区 (東京23区)
  • addr:suburb= * 区(政令指定都市の区)
  • addr:quarter = * 大字 (この下の字名が必須である場合にのみ使用)
  • addr:neighbourhood = * 町 / 字 / 丁 / 丁目
  • addr:block_number = * 街区符号 / 番 / 番地 / 地番 (無番地の場合はこの部分に"無番地"と記載)
  • addr:housenumber = * 住居番号 / 号 / 支号 / 枝番号
  • addr:flats = * 複合住宅 / 施設の名称
  • addr:room = * 複合住宅 / 施設の部屋番号
  • addr:floor = * 複合住宅 / 施設の階層

"*"印がついている箇所は、その地域の体系によっては省略される可能性があります。

詳細なサンプルについては、以下のテーブルを参照してください。

街区番号

"街区番号"方式は比較的新しく、整備された階層をもちます。

OSMのタグとして入力する場合、以下のようにパースして記述してください。街区符号には、数字だけではなく文字列が入力されるケースがあります。住所によっては"大字"の値が無い(= nullになる)可能性があります。

  • addr:city = 市町村 / 特別区 (東京23区)
  • addr:suburb= 区(政令指定都市の区)
  • addr:quarter = 大字 (この下の字名が必須である場合にのみ使用)
  • addr:neighbourhood = 町 / 字 / 丁 / 丁目
  • addr:block_number = 街区符号
  • addr:housenumber = 住居番号

地籍からの番号転用

"地籍からの番号転用"を行っている地域では、住所の記述方法に大きくばらつきがあります。また、いくつかの階層において、値が無い(= nullになる)可能性があります。

OSMのタグとして入力する場合、以下のようにパースして記述します。

  • addr:city = 市町村 / 特別区 (東京23区)
  • addr:suburb= 区(政令指定都市の区)
  • addr:quarter = 大字 (この下の字名が必須である場合にのみ使用)
  • addr:neighbourhood = 町 / 字
  • addr:block_number = 番 / 番地 / 地番
  • addr:housenumber = 号 / 支号 / 枝番号

特殊な住所表記の代表例

無番地の扱い

公共施設などで、住所に "無番地"(no block number assigned area)が含まれる場合があります。

その場合、"addr:block_number"の階層に "無番地"と記載してください。

京都の通り名によるナビゲーション表記

特定のStreetの名称を元にした、いわゆる街路名ベースでの住所割り当てが行われています。ただし、欧米における街路名ベース住所と異なり、VVVストリートのX番目、という表現は行われません。そのため、欧米における addr:street による番号管理では、かえって混乱を招く可能性が指摘されています。

VVV通りとWWW通りが交差しているポイントXXXから、YYY方向に移動した場所にある、町名ZZZの中の◯番目、という書き方が行われます。どのような記載方法となるかの詳細は"ジオどす: 京の通り名"を参照してください。

京都における街路名を使った住所指定については、対応するタグや表記方法がまだ未定であり、引き続き継続して検討を行う必要がありますが、少なくとも現在のところ、その表記が入るべき階層は明確になりましたので、どう記述するにしても表記の階層構造は崩れません。(ここ重要)

最低限、町名の表示がaddr:*として定義されていれば(すごく不便ではありますが)利用できる情報となるようです。タグ定義に関する目途がつくまで、京都の住所に関しては以下のように記載してください。

  • addr:* としては、街路名を指定している以外の階層を埋める
  • 街路名指定部分を含めた住所は、addr:full に格納する

北海道の通り名称表記

条(南北方向)、および丁目(東西方向)を用いた住所特定を行っています。これらをまとめて1つの町名ですので、"町/字"と同一(addr:neighbourhood)の階層へ入力します。

例: 札幌市役所 (札幌市 中央区 北1条西2丁目)

  • addr:city  : 札幌市
  • addr:suburb : 中央区
  • addr:neighbourhood : 北1条西2丁目

また、条と丁目の前に□□と町名がある場合も、一体で1つの町名ですので、まとめてaddr:neighbourhoodとします。

例: 札幌市 ◯◯区 □□ 南2条西4丁目

  • addr:city  : 札幌市
  • addr:suburb : ◯◯区
  • addr:neighbourhood : □□南2条西4丁目

住所表記が略記されている場合のパース方法について

日本における住所を実際にサーベイした場合に見かける数字ですが、正式には「◯◯ 1丁目24番3号」という住所であっても、しばしば「◯◯ 1-24-3」と省略された記法になっています。こうした数字をパースする場合、例えば、数字部分が1-24-3、と書かれた場合に、どこまでが丁目で、地番で、支号なのか、わからないケースが多く存在します。

この場合、以下の処理を行ってパースを行ってください。

  • 最後の番号(この場合、3)が、棟番号や部屋番号ではないことを確認する
  • 最後の番号は、必ず addr:housenumberにする
    • この場合、addr:housenumber = "3"
  • addr:quarterとして "X丁目"の情報が存在する場合、残りの1つ、あるいは2つの数字は addr:block_numberにする
    • この場合、addr:block_number = "1-24"
  • addr:quaterとして "X丁目"の情報が存在しない場合、残りの数字は、以下の2つのどちらかの可能性がある
    • 1つめの数字は"丁目"を表す数字で、2つめの数字は"街区符号"を表す数字
    • 1つめの数字は"地番"を表す数字で、2つ目の数字は"地番の枝番"を表す数字
  • TIPS
1つめの数字が2桁より多い場合、1つめの数字はかなり高い確率で"地番 (addr:block_number)"です。
ただし、北海道の"丁目"の場合は最大41までの丁目が存在するので注意してください。
1つめの数字が5以下の場合、"丁目"の文字列を略して数字で記載している可能性が高いです。追加調査を行って、その数字の意味を確定させてください。

参考資料

地図と品質保証ツール

ITO Map では、レイヤーとして住所と建物に関する情報を可視化しています。また、GeofabrikOSM Inspectorでも閲覧を行うことができます。これらのビジュアライズ方法では、建物タグを追跡し、そこに住所情報が付与されているかどうかを表示します。OSM Inspectorでは、住所の補間ウェイについてもチェックを行ってくれます。OSM Inspectorのサービス対象地域はヨーロッパのみです。Coloured Streetsは住所データに特化したJOSMの地図描画スタイルです。

  • qa.poole.ch (QA tool) ― 住所情報が付与されていない建物、および住所情報を持つオブジェクトをレイヤとして表示します。"Noname and noaddress"ページでは、このレイヤーについてより詳しい情報が記載されています。

関連項目

外部リンク