0
0

JR北海道の列車運行情報 json を取得する(2024/1/9仕様変更対応版)

Last updated at Posted at 2023-08-11

2024/3/20 追記

2024年1月9日に行われた仕様変更による記事の修正を行いました。

独自研究を含んでおり、内容が正確ではない可能性があります。
誤りがありましたら、コメント等で報告をお願いします。

これまでの分析記事

各駅運行状況

kitacaエリア運転状況 2024年1月9日の仕様変更により使用不可

JR北海道の運行情報の種類

JR北海道の運行情報ページは、jsonを使用して表示しています。
また、3種類に分かれています。

JR北海道の運行情報の種類

列車運行情報

今日と明日の運行情報をエリア(路線)ごとに示してくれます。
事前に決まっている運行状況(大雪による減便等)や大幅な遅れ(30分以上)、運休(故障・事故等)でない限り更新されません

https://www3.jrhokkaido.co.jp/webunkou/index.html

各駅運行情報

今日と明日の運行情報を駅ごとに示してくれます。
運休・部分運休や5分以上の列車の遅れが反映されます

https://www3.jrhokkaido.co.jp/webunkou/stationlist.html

列車走行位置(2024/1/9~)

その路線でどこに列車が走っているかを示してくれます。

https://www3.jrhokkaido.co.jp/trainlocation/index.html

列車運行状況 jsonの仕様

1種類のjsonに情報がまとまっていますが、エリアか路線かによって分かれています。

area_xx.json

エリア(地域)ごとの運行情報を示しています。

札幌近郊エリアの場合

エリアごとにURLが異なり、エリア(路線)番号が必要です。

エリア番号は、エリア区分 で6種類に分かれていて、area_name_master.json から取得することができます。

エリア番号 エリア名
01 札幌近郊
02 道央
03 道南
04 道北
05 道東
06 北海道新幹線

URLは、 https://www3.jrhokkaido.co.jp/webunkou/json/area/area_(エリア番号).json の形になります。
そのため、札幌近郊(エリア番号:01)の場合は、https://www3.jrhokkaido.co.jp/webunkou/json/area/area_01.json となります。

senku_xx.json

路線(線区)ごとの運行情報を示しています。

函館・千歳線(札幌近郊)の場合

路線(線区)ごとにURLが異なり、路線番号が必要です。

路線番号は、senku_name_master.json から取得することができます。

路線番号 路線名
01 札幌近郊 特急列車
02 札幌近郊 エアポート
03 札幌近郊 函館・千歳線
04 札幌近郊 学園都市線
05 道央エリア 特急列車
06 道央エリア エアポート
07 道央エリア 函館・千歳線
08 道央エリア 学園都市線
09 道央エリア 室蘭線
10 道央エリア 日高線
11 道南エリア 特急列車
12 道南エリア はこだてライナー
13 道南エリア 函館線
14 道北エリア 特急列車
15 道北エリア 宗谷線
16 道北エリア 石北線
17 道北エリア 富良野線
18 道北エリア 留萌線
19 道東エリア 特急列車
20 道東エリア 石勝線
21 道東エリア 根室線
22 道東エリア 根室線(花咲線)
23 道東エリア 釧網線
24 北海道新幹線

URLは、 https://www3.jrhokkaido.co.jp/webunkou/json/senku/senku_(路線番号).json の形になります。
そのため、函館・千歳線 札幌近郊(路線番号:03)の場合は、https://www3.jrhokkaido.co.jp/webunkou/json/senku/senku_03.json となります。

jsonの構造

URLはエリア、線区(路線)で分かれていましたが、jsonの中身はどちらも共通になっています。

jsonファイルの構造

├── time   //取得日時
└── today  //日付
    ├── datatext   //今日の日付
    ├── areastatus //影響エリア
    │   ├── spo      //札幌近郊
    │   ├── doo      //道央
    │   ├── donan    //道南
    │   ├── dohoku   //道北
    │   ├── doto     //道東
    │   └── shin     //新幹線
    ├── gaikyo     //概況
    │   ├── time     //発信日時
    │   ├── title    //タイトル
    │   ├── honbun   //本文
    │   ├── eikyo    //影響エリア
    │   │   ├── spo    //札幌近郊
    │   │   ├── doo    //道央
    │   │   ├── donan  //道南
    │   │   ├── dohoku //道北
    │   │   └── doto   //道東
    │   ├── areaComments //エリアコメント
    │   ├── senkuStatus  //影響路線(線区)
    │   │   ├── express        // 特急
    │   │   ├── airport        // 快速エアポート
    │   │   ├── hakochise      // 函館・千歳線
    │   │   ├── hakodateLiner  // はこだてライナー
    │   │   ├── hakodate       // 函館線
    │   │   ├── gakuen         // 学園都市線
    │   │   ├── sekisho        // 石勝線
    │   │   ├── muroran        // 室蘭線
    │   │   ├── nemuro         // 根室線
    │   │   ├── hidaka         // 日高線
    │   │   ├── soya           // 宗谷線
    │   │   ├── sekihoku       // 石北線
    │   │   ├── furano         // 富良野線
    │   │   ├── rumoi          // 留萌線
    │   │   ├── senmo          // 釧網線
    │   │   └── hanasaki       // 花咲線
    │   ├── unkyuTrains(運休列車がある場合のみ子項目が追加)
    │   │   ├── name   //列車名
    │   │   ├── haEki   //発車駅
    │   │   ├── haTime  //発車時刻
    │   │   ├── toEki   //到着駅
    │   │   ├── toTime  //到着時刻
    │   │   └── jokyo   //運行状況
    │   └── chienTrains(遅延列車がある場合のみ子項目が追加)
    │       ├── name   //列車名
    │       ├── haEki   //発車駅
    │       ├── haTime  //発車時刻
    │       ├── toEki   //到着駅
    │       ├── toTime  //到着時刻
    │       └── jokyo   //運行状況
    └── tomorrow
     (以下略)

areaStatuseikyosenkuStatus の各項目の通常値は 0 で、異常(運休や大幅な遅れ)がある場合 1 に変化します。
また、gaikyo は必ずしも1つというわけではなく、2つ以上になることもあります。(unkyuTrainschienTrains も同様です)
honbunは、<BR>タグなどがUnicode形の状態になっています。

編集後記

今回は、JR北海道の列車運行情報jsonについて分析しました。
インターネット上を調べても、公開されているjsonについての解説・分析記事が見つからなかったので、私自身のメモとしてまとめました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0