لوگوی OpenStreetMap اوپن‌استریت‌مپ

OSMの検索はちょっと癖のある仕様になっているっぽいのでメモ代わりに チェーン店をいくつか検索する中で気づいたこと

検索(Nominatim)の仕様について

1
基本的に最寄りの通り(street)のから住所を拾ってくる形式になっているため、通りがcityを跨いでいる場合に他の市町村の住所が表示されることがあり、正しい住所で検索に引っかからない

2
branchタグを用いたチェーン店の記法(支店名をbranchタグに記述する方法)は検索結果には表示されないし引っかからない
wikiの説明にあるスマホアプリのOsmAndが調べた中で本家web等で全てのタグを見る以外で表示してくれる唯一の環境だったが、このアプリを使っても検索には引っかからない
JA:Key:branch - OpenStreetMap Wiki

3
そうなると支店名で調べられないため、他の方法に頼るしか無くなるが、Nominatimはaddr:city、street、housenumberしか拾わない為、町名から検索するにはノードにaddr:quarterタグを付加してもダメで、町全体にアドミンレベルのリレーションを書いて判別させなければならない
Nominatim/FAQ - OpenStreetMap Wiki
Nominatim/Development overview - OpenStreetMap Wiki

4
ファジー検索が効かないため、町名も俗称や大まかな地域名だとダメ、近くのPOI(複合商業施設名など)を入れてもダメ 、というか入れる方がダメで1件もヒットしなくなる

5
郵便番号(addr:postcode)は住所判別に用いるランクが高く設定されているものの、入力しても勝手に住所を補完してくれるわけでは無い

6
ポリゴンやリレーションで町や大字に相当するquarterや、丁目に相当するneighbourhoodが囲われている場合で、近くのstreetの所属がNominatimに正しく判別されている場合は正確に表示される
 正しい例
  ノード: ‪サブウェイ‬ (‪1932711044‬) | OpenStreetMap
   ノードに対しaddrタグを設定していなくても、区の境界を跨いでいる日比谷通りから自動で住所を拾い、千代田区内幸町二丁目だと正しく表示され、千代田区と港区の両方でヒットする
 間違いの例
  ノード: 4367781989 | OpenStreetMap
   addrタグが登録されておらず、正しい住所は千代田区東神田町にあり、町のリレーションも作られその中にノードがあるが、区の境界を跨いでいる清洲橋通りがNominatim上で中央区の住所に判別されている為、住所表示は中央区東神田となり、千代田区と中央区の両方でヒットする

おそらくstreetに付与される情報として、Nominatimが隣接する区を冗長的にノードの住所としても検索結果に出るようにしているっぽい
 行政境界を跨いでいるウェイがどの基準でどちらの所属になるよう判別されるのかは不明
  始点の位置や経由するノードの数?
Nominatimの個別ページに行くと黒字の住所(多くの場合タグで登録したもの)と、そうでないのにグレーアウトして表示されている住所がある
 OpenStreetMap Nominatim: Search 日比谷通り
  黒字で千代田区に加えグレーで港区の表示もされている
 OpenStreetMap Nominatim: Search サブウェイ
  ノードにaddrタグは付加されていないが、日比谷通りのものと同じ情報が付加されている 内幸町と内幸町二丁目のページには港区のグレー表示は無い

解決策

市区町村(quarterやcity)の行政境界を描く 
 アドミンレベルのリレーションでなければ住所には反映されない?
  問題点
   行政境界を調べられる公式かつ著作権フリーの情報源が見つからない
   マップ編集時に行政境界と道路を兼ねているウェイを見分けるのが難しい(背景をOSM表示に切り替え、既存のウェイの描画を消す必要がある)

通りを行政区画を跨ぐ度に分ける
 通りから住所表記を拾ってるらしい以上検索に出る住所表記を直すのには必須で、簡単かつ確実ではあるが表示が冗長化しそう

他のnameタグを使って補完する
 表記や俗称についてはalt_name、short_name、loc_name、reg_nameなどを使えば解決できる場合もあるか?
JA:名称 - OpenStreetMap Wiki

operatorタグ
 operatorタグもNominatimに反映されるが、検索の役には立ちづらい?誤った用法だと見受けられるものが多い(ショッピングモールの中のチェーン店のoperatorとしてモールの名称を付与している)のが気になる
JA:Key:operator - OpenStreetMap Wiki

モール
 モール(複合商業施設)についてはIndoor mappingなどがあるようだが、検索に反映されるようなものでは無さそう
JA:Tag:shop=mall - OpenStreetMap Wiki

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

برای نظردادن وارد شوید