全国1,000以上の路線ページをどう作ったか

Rail Density Explorer には、全国の鉄道の線区ごとのページが 866、鉄道事業者ごとのページが 217 あり、ランキングなどを合わせると 1,100 ページを超えます。どのページも、手で 1 枚ずつ書いたものではなく、統計データから自動で作っています。この記事では、その作り方と、データ集めでつまずいた点を紹介します。

なぜ作ったのか

ローカル線の存廃のニュースでは、「輸送密度が○○人」という数字がよく出てきます。ところが、その数字がほかの路線と比べて多いのか少ないのか、すぐには分かりません。国の統計にも JR 各社の資料にも数字は載っているのですが、統計は大きな表計算ファイル、JR の資料は会社ごとの PDF で、路線を探して見比べるのは手間がかかります。全国の路線を同じ物差しで並べて、地図で見られる場所がほしい、と思ったのが始まりです。

もとにしたデータ

データ 内容 形式
国土交通省「鉄道統計年報」 全国の鉄道事業者の輸送人員・収入・費用・設備(踏切・信号・駅)など。事業者ごと・線区ごと 表計算ファイル
JR 各社の公表資料 線区・区間ごとの輸送密度。JR 北海道は線区ごとの収支も PDF
国土交通省「国土数値情報」 路線の形と駅の位置 地図データ
総務省「国勢調査」1 km メッシュ人口 沿線人口の計算に使う、1 km 四方ごとの人口 表

JR 東海については、線区別の輸送密度を公表した資料を、筆者が探した範囲では見つけられませんでした。そのため、JR 東海の線区のページには輸送密度がありません。

ページを作る手順

  1. 表を読み込む: 統計の表計算ファイルを読み、事業者ごと・線区ごとの値に整理します。
  2. JR の資料を読み取る: JR 東日本と JR 西日本の PDF は、文字を取り出して表に戻します。JR 九州と JR 四国の PDF は文字を取り出すと表が崩れるため、PDF を目で見て数字を書き写しました。JR 北海道の資料は画像の PDF なので、これも目で見て書き写しています。
  3. 結び付ける: JR の資料の線区・区間と、統計の線区を、路線名で結び付けます。
  4. 計算する: 全国の順位、1 km あたりの値、駅から 800 m 圏の人口などを計算します。
  5. 書き出す: ページのひな形に値を流し込んで HTML のファイルを書き出し、路線の形のデータから地図の画像を描きます。

この処理は Python のプログラムで行い、出来上がったファイルをサーバーに置いています。ページを開くたびにサーバーで計算するのではなく、どのページも決まった内容のファイルです。

つまずいた点

路線名が資料によって違う

同じ路線でも、資料によって名前が違うことがあります。たとえば JR 東日本の「埼京線」は、国の統計では正式な線名の「赤羽線」として計上されています。こうした違いは、対応表を作って 1 つずつ結び付けました。

統計の数字が合わない

統計の中で、同じはずの数字が合わないことがありました。たとえば、ある大手私鉄の線区の営業キロが、別の線区だけの長さになっていて、会社全体の営業キロから計算した長さとも、乗客数と輸送密度から逆算した長さとも合いませんでした。こうした明らかな誤りは、直した値と理由をページに注記して使っています。また、営業費の内訳の表と損益の表とで値が合わない事業者もあり、その事業者は損益の表の値で営業係数を計算し直し、そのことを注記しています。

「0」と「データなし」

統計の表では、値がない欄と、値が 0 の欄が区別しにくいことがあります。たとえば踏切の数が「0」なのは、踏切がないのか、線区ごとの数字がないのかで意味が変わります。ページでは、値がないものは「—(データなし)」と表示し、0 と区別しています。

年度の途中で開業した路線

年度の途中で開業・延伸した路線は、1 年分の数字になっていないため、そのままではほかの路線と比べられません。こうした路線は、経緯を注記し、ランキングの対象から外しています。

区間の長さが公表されていない

JR 東日本の資料には、輸送密度が 2,000 人/日以上の区間について、区間ごとの営業キロが載っていません。そのため、沿線人口の「1 km あたり」の計算では、地図データから区間の線路の長さを測って使っています。

URL を変えない

ページの URL には、線区ごとに決めた ID を使っています。統計の線区名が翌年度に変わっても、同じ線区のページの URL が変わらないように、ID は一度決めたら変えずに記録しておく仕組みにしました。

正確さのために気を付けていること

  • 統計の値は、明らかな誤りでない限りそのまま載せ、直した値や計算した値には注記を付けています。
  • 各ページに、データの年度と出典を書いています。
  • 誤りのご指摘をいただいたら確認して直し、更新日を記載しています。

これから

データの年度を新しくすることと、各線区の背景(路線の歴史や、存廃の議論の経緯)の解説を少しずつ増やしていくことを考えています。数字だけでは分からない路線ごとの事情を、出典を確かめながら書き足していく予定です。

出典

関連するツール

ほかの記事

  • 画像をサーバーに送らないWebツールの仕組み

    Web Mask Studio や Video Inspector Pro が、写真や動画をサーバーに送らずにブラウザの中だけで処理できる仕組みと、そう作った理由、この作り方の弱点を説明します。

    ・サイトの作り方
  • 輸送密度が高い路線トップ20

    全国の鉄道の線区・区間を2023年度の輸送密度(1日あたりの平均の乗客数)が高い順に並べ、上位20の顔ぶれを調べました。山手線は1日約94万人で、最も少ない区間の約4万7千倍でした。

    ・鉄道のデータ
  • JR北海道の線区別の収支(宗谷線・石北線・根室線などの営業係数)

    JR北海道が公表している2023年度の線区別の収支から、宗谷線・石北線・根室線・釧網線などの営業収益・営業費用・営業係数を比べ、輸送密度との関係を調べました。

    ・鉄道のデータ