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~)
その路線でどこに列車が走っているかを示してくれます。
列車運行状況 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の中身はどちらも共通になっています。
├── 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
(以下略)
areaStatus 、eikyo 、senkuStatus の各項目の通常値は 0 で、異常(運休や大幅な遅れ)がある場合 1 に変化します。
また、gaikyo は必ずしも1つというわけではなく、2つ以上になることもあります。(unkyuTrains、chienTrains も同様です)
honbunは、<BR>タグなどがUnicode形の状態になっています。
編集後記
今回は、JR北海道の列車運行情報jsonについて分析しました。
インターネット上を調べても、公開されているjsonについての解説・分析記事が見つからなかったので、私自身のメモとしてまとめました。