降りつぶし.net~同期するWebアプリ・スマホアプリの開発・運用~

第2回 駅データベースの構築と運用

この記事を読むのに必要な時間:およそ 3 分

駅データベースの構築

降りつぶし.netは,⁠日本の鉄道駅」にいつ乗下車したのか,を管理するソリューションです。そのためには,⁠日本の鉄道駅」「乗下車した日付」を記録することが最低限必要です。今回は,そのためのデータベースの構築について説明します。

マニアの果実にあやかりつつ

ところが,その「日本の鉄道駅」を全網羅したデータを揃えること自体が大変でした。1次情報源としては,政府刊行物「鉄道要覧」に全鉄道事業者の路線図が掲載されており,その中に全駅がプロットされています。そしてそれらをすべて拾いまとめあげた鉄道マニアの先達が何人もおられ,その一部はWeb上で公開されています。スナフキん氏が公開したタブ区切りテキストもその1つです。

筆者も,これを元に自己整備し,Excelシートを構築していました。ただ,このデータには,スマホアプリに必須の,駅の経緯度情報が収録されていません。

結局,独自整備へ

駅の経緯度情報は,国交省国土政策局のサイトで配布されています。が,商用利用の可否が曖昧で,利用がためらわれます。

一方,商用利用無償の駅データ.jpというものもあります。大変ありがたいのですが,これには新幹線独自駅(東海道新幹線新富士駅など)が登録されておらず,また路線の区分が前述の「鉄道要覧」とまったく異なり,鉄道マニアの感覚と著しく乖離していたため,メンテナンスの不便さを考えて利用を断念。

最終的には,ウィキペディア記載のデータを参考に,1年近くかけて,人力で地道に整備せざるを得ませんでした。

データベース設計

降りつぶし.netのデータベースのER図を紹介します。

図1 降りつぶし.net データベースER図

図1 降りつぶし.net データベースER図

降りつぶし.netは,ユーザ認証やその他の機能を,Geeklogに委ねています。登録ユーザはgl_usersテーブルに登録されており,その主キーuidを全面的に利用しています。

また,statistics,updates,user_tokensの各テーブルは,駅データベースには直接関係していないため,次回以降に触れることとし,メインとなるテーブルについて以下に紹介します。

鉄道事業者テーブル:operators

「鉄道事業者」とは聴き慣れませんが,鉄道事業を営むのは会社とは限らない(公営,宗教法人など。戦前は個人事業もあった)ため,そう称されます。

鉄道事業者テーブル:operators

o_id事業者コード
operator事業者名
type事業者種別
enabled有効フラグ

事業者コードには4バイト整数を一意に割り振りました。事業者種別は,以下のいずれかです。

事業者種別コード

1JR旅客会社
2大手私鉄
3準大手私鉄
4公営交通
5中小私鉄
6モノレール
7新交通システム
8ケーブルカー
9トロリーバス
10浮上式鉄道

……一見不可解な項目もありますが,その背景はミニコラムをご覧ください。

有効フラグは,乗下車記録との連関に必須です。乗下車記録テーブルにレコードが存在するすべての駅,そしてそれに紐づく路線や事業者は,それぞれのテーブルに必ず存在していなければなりません。もし事業者の廃止をレコードの削除で行った場合,乗下車記録に参照元のないレコードが大量に残ってしまいます。

デフォルトでこのフラグは1で,鉄道事業者がすべての路線を廃止し,鉄道事業から撤退した場合に0とします。たとえば,2012年に廃止された十和田観光鉄道のレコードでは,0が設定されています。

ミニコラム・トロリーバスって鉄道なの?

鉄道事業者テーブルの種別には,⁠モノレール」⁠新交通システム」果ては「トロリーバス」が含まれています。この分類は,鉄道事業法施行規則などに基づいています。そしてこれが日本の鉄道業界でのデファクトスタンダードです。

日本には他に軌道法という法律があり,路面電車はそちらの対象となっていたりして,さらには大阪市営地下鉄が軌道法による運営だったりしてややこしくなっていますが,結局のところ,固定的な設備に沿ってのみ運行できる交通機関のうち,公共交通に資するものを「鉄道」⁠または「軌道」⁠と決めた,ということです。

そしてよく考えてみると,⁠固定的な設備に沿ってのみ運行」といえば,ロープウェーやリフトもあてはまるはず。事実,これらも鉄道事業法の管轄なのです。

しかし,これらは鉄道には含めない場合が多いのが日本のデファクトスタンダード。ゴムタイヤで道路を走るトロリーバスが鉄道で,鉄の道にぶらさがるロープウェイは鉄道ではない,というのも妙ですが,降りつぶし.netもこれにに準拠しています。

さらに興味がおありの方は,筆者の個人サイトの解説をご一読ください。

著者プロフィール

よねざわいずみ

合資会社ダブルエスエフ代表社員。学習塾講師やら芸能ライターやら劇団主宰やらいろいろ経て現在はよろず請負プログラマ。最近の開発はPHP,JavaScript,Java,MTプラグインなど。お仕事随時募集中。

Twitter:@yonezawaizumi

鉄道旅行ブログ:http://feelfine.blog.izumichan.com/

コメント

コメントの記入