Open2

Places API(旧版) NearBySearch train_station, subway_station で取得できない駅がある問題

Kentaro SugiyamaKentaro Sugiyama

苦しみ

旧版のNearby Search にて、宇都宮ライトレールの駅(停車場)が
type=train_station type=subway_station だとマッチしない
type=transit_station だとマッチする
じゃあ type=light_rail_station ならどうだと思ってもマッチしない

  • train_station, subway_station, light_rail_station にマッチせず、transit_station にマッチする路線例
    • 宇都宮ライトレール
    • 広島電鉄

transit_station には バス停も含まれる
かといって transit_station から バス停を除外しようと思っても、
bus_station が含まれない バス停もある

type とはなにか

これの表1
https://developers.google.com/maps/documentation/places/web-service/supported_types#table1

交通機関のtypeは以下

  • train_station
    • 鉄道駅。JRは確実にこれ。地上駅オンリーかと思えばそうじゃない駅もあった(うろ覚え)
  • subway_station
    • 地下鉄駅。地下鉄路線の駅オンリー。
  • bus_station
    • バス停。ヒットしないバス停もある。
  • light_rail_station
    • ライトレール駅。日本でヒットするところ見たことない。
  • transit_station
    • 上記全部含んだもの。

パターンが知りたい

オープンデータから駅リストを作って緯度経度ぶん回して、マッチするかテスト

リスト作成法

流石に、全国約9000ある駅で Places API 叩くとお財布が...
なので

  • JRは除外
  • 各路線1️駅
    • 半径500m以内に他の駅がないこと = 乗り換え駅を除外
    • 路線の全駅が半径500m以内にあれば路線自体を除外
    • 利用者数が一番多い駅
      (データが無い場合は、オープンデータに先に出てきた駅)

検索対象は321駅
JR以外の除外路線は69路線

気が向いたら github あたり上げる

Kentaro SugiyamaKentaro Sugiyama

結果

作成したリストの緯度経度をPlaces API NearBySearch に投げた。
type は train_station, subway_station, transit_station の3回検索とした
transit_station で バス停がヒットしまくるので、「バス」「駅前」という名前の場合アンマッチにした

https://docs.google.com/spreadsheets/d/1jcQ0vodq8nlByF5f-2pS1ovO-C-B93sqV9KeLK4Wwz0/pubhtml

なるほど、わからん

肌感

  • 路面電車は train_station, subway_station ではマッチしないっぽい
  • 軌道法の適用をうけるものでもマッチするものもある = 鹿児島市電
  • モノレールは train_station にマッチしないっぽい
    • マッチするモノレールもある = 東京モノレール羽田線
  • ロープウェー(鋼索鉄道)は train_station にマッチしない
  • subway_station は 感覚とマッチする
  • transit_station だとマッチすることはするが、
    バス停の除外ができないので使い勝手が悪い

自分的結論

Places API に頼らず、自前で駅リストもっておいたほうが、心休まる、