標準的なバス情報フォーマット作成ツール（⻄沢ツール）
データ⼊⼒演習テキスト（ツールver5.00対応）

2018年12⽉21⽇
東京⼤学空間情報科学研究センター
⻄沢 明nishizawa@csis.u-tokyo.ac.jp
1標準的なバス情報フォーマット作成ツール（⻄沢ツール）とは何か
GTFS-JPはCSV（テキストファイル）エクセルやテキストエディタで直接⼊⼒できなくはないが、IDの整合をとったり、誤りなく⼊⼒するのは、データ量がごく少量の場合を除き、事実上困難このため、エクセルに分かりやすく⼊⼒し、GTFS-JPとして出⼒するツールとして開発したもの2

本ツールを使⽤したGTFS-JP作成の流れ
基礎資料の収集（バス停位置、路線図、時刻表、運賃表・・・）※エクセルがあればなおよい

地理院地図でバス停座標取得（バス停の座標データがないとき）事業者の基礎情報の整理
ツールファイルの各シートにデータを⼊⼒
修正

元資料との
読み合わせ

地理院地図で補正データ作成

修正

チェックツー
ルでチェック
修正

ツールファイルでGTFS-JPを出⼒

経路形状作成ツールで
shapes.txtを作成（shapes.txtあり）

FeedValidatorでチェック

GTFS-JPの（⼀応）完成（shapes.txtなし）

3

 別紙のサンプルデータ「⼩菅コミュニティバス」のGTFS-JPを作成します4１．トップシート① ＰＣ内にGTFS-JPを保存するフォルダを作成します。（例︓c:¥gtfs）② ツールファイルを開いて、トップシートを開きます。






③
④

このツールファイルには、バス停、系統、時刻表、
運⾏⽇、運賃などを⼊⼒するシートがあります。
トップシートはこのツールファイルのベースとなるシートです。
トップシートには各シートへのリンクがあります。
逆に各シートには、トップシートへのリンクがあります。
トップシートには、最後にデータをチェックするボタンと標準的フォーマットデータ（GTFS-JPデー
タ）を出⼒するボタンがあります。

「データ保存フォルダ」欄に①で作成したフォルダ名を⼊⼒します。
「フォルダ名⽤バス名称」欄にバス名称を⼊⼒します。
シートに⼊⼒する際の共通注意事項
 表頭、表則が⼊⼒してある⾏・列の間に⾏・列を挿⼊したり、⾏・列を削除したりしないでください。
 それ以外には、⼊⼒⾏・列が不⾜したら、⾏・列を挿⼊してもかまいません。
 時刻表シートのデマンド運⾏と停留所⾏先の変更の⾏も挿⼊可能。

5

２．提供情報・事業者情報シート① 各欄にデータを⼊⼒します 「必須区分」は国⼟交通省の標準的なバス
情報フォーマット解説書によります。ただし、実際には⼊⼒することが望ましい項⽬もあります。（②）
 「提供開始⽇」、「提供終了⽇は」、作成
するGTFS-JPのデータの有効期間を⽰す
データです。任意項⽬となっていますが、必ず⼊⼒しましょう。（③）
⽇付はYYYYMMDDの形式で⼊⼒します。
（他も同じ）
 「事業者ID」は法⼈番号を⼊⼒します。１
⾃治体・１社で複数のGTFS-JPデータを提供する可能性があるので、アンダーバーで枝番を付けます。（④）
 「事業者名称」とありますが、経路検索結果で表⽰されたときに、利⽤者に分かりやすい名称とします。（⑤）
 「事業者URL」は、バスを案内するウェブ
ページのURLとします。（⑥）
 「タイムゾーン」、「⾔語」は固定なのでそのままにしておきます トップシートへの⼊⼒と併せて、データ出⼒フォルダ名は次のようになりますc:¥gtfs¥gtfs_⼩菅コミュニティバス2018v01¥gtfs

 「郵便番号」は半⾓数字でハイフンなし、「事業者住所」は都道府県から省略せず、全⾓で⼊⼒します。（⑦）

Tips ・枝番を作るときにアンダーバーを使うのは、例えばハイフンを使って”1-1”と⼊⼒すると、エクセルが勝⼿に”1⽉1⽇”と⽇付であると解釈してしまうことがあるからです。

6

3．停留所・標柱情報シート(1) 標準的なバス情報フォーマット
（GTFS-JP）では、バス停を右図のように、親停留所と標柱の２つの概念でデータ化します。

 バス停（親停留所、標柱）には座標データが必要です。既存の座標データの有無により、本ツールでは異なるバス停データの⼊⼒⼿順を選ぶことができます。
 標柱ごとの座標があるとき
1) 標柱データ（ID、バス停名、座標、親停留所ID等）をシートに⼊⼒（コピペも可）
2) 停留所ツールで親停留所データを⾃動⼊⼒ バス停の代表点の座標があるとき（バス停ごとに１つの座標データしかないとき）
1) 親停留所データ（ID、バス停名、座標等）をシートに⼊⼒（コピペも可）
2) 停留所ツールで標柱データを⾃動⼊⼒
3) 上り・下り等の標柱を区別する語を⼊⼒
 座標データがないとき
1) 地理院地図でバス停（代表点）若しくは標柱の点をプロットし、バス停名等を⼊⼒※標柱ごとに座標をとることが望ましい
2) ⼊⼒したバス停・標柱データをgeojsonファイルで保存（ダウンロード）
3) 停留所・標柱情報シートのツールでgeojsonファイルを読み込み
4) 上と同様に、停留所ツールを使⽤して親停留所もしくは標柱データを作成⇒このテキストでは２番⽬の⽅法でデータを作成します。
ただし、実際には標柱ごとの座標データを準備するようにしてください。

7

3．停留所・標柱情報シート(2)① シートに親停留所のデータを⼊⼒します 「停留所・標柱ID」には定まったIDがあればそれを⼊⼒します。なければ通し番号を⼊れます。（②）
 「停留所・標柱名称」にはバス停名を⼊れます（③）ふりがな、英字も⼊れます。（④、⑤）［注意︕］
 ⽂字⼊⼒時には⼊⼒ミスに気をつけてください。
 JA、JR等の英字や数字の半⾓・全⾓、”ヶ”と”ケ”、”ッ”と”ツ”などが間違えやすいです。
 異なる路線でバス停名が違っているなど、元資料が間違っていたり、不統⼀である可能性もあります。”○○駅”と”○○駅前”など。
 「緯度」、「経度」を⼊れます。（⑥）
 「停留所・標柱区分」には親停留所を⽰す”1”を⼊れます。（⑦）
Tips ・同名のバス停がある場合は、「同名停留所があるときの区別語」（I列）に地域名や路線名を⼊れます。
・0.00001度は約１ｍです。

8

3．停留所・標柱情報シート(3) 停留所ツールを使⽤して標柱データを作成します。
※綾瀬駅⻄⼝では、下りは「２番乗り場」から出発し、上りば「降⾞場」に到着することとします。
※その他のバス停では、「下り」「上り」のそれぞれの標柱で停⾞することとします。
 各バス停に２つの標柱データを作成します。
① シートの上⽅にある「停留所ツール」をクリックします。
② 停留所ツールの「すべての親停留所の下に標柱データを２⾏挿⼊する」をクリックします。


標柱データの⾏が挿⼊されます。IDは親停留所のIDに枝番がついたものになります。
よみがな、英字、座標は親停留所のものがコピーされます③ 標柱を区別するため、上り・下りの別、乗り場番号などを⼊⼒します。

9

４．経路情報シート
 まず、系統ごとのID（＝route_id）を決めます。
※route_idは起終点、途中の経由、停⾞バス停（バス停並び）が完全に同じもの（これを「系統」と⾔います。）ごとに付けます。逆に⾔うと、バス停並びが少しでも違うものには、異なるroute_idを付けます。
※⼩菅コミュニティバスでは、下り・上りとも途中⽌まり、途中始発の系統があるので、上下各２つ、計４つの系統（route_id）を作ることが必要です。ここでは次のようにroute_idを付けます。
下り・こすげ⼩学校⾏︓route_id=11
下り・しらさぎ公園⾏︓route_id=12
上り・こすげ⼩学校発︓route_id=21
上り・しらさぎ公園発︓route_id=22① 経路情報シートにデータを⼊⼒します（左半分） 「経路ID」には上で決めたroute_idを⼊れます。（②）
 「事業者ID」の「⾃動⼊⼒」をクリックして事業者ID（提供情報・事業者情報シートに⼊⼒したもの）を⼊れます。（③）
 「経路略称」は空欄のままとします（④）
 「経路名」には路線名などを⼊れます。異なるroute_idには異なる経路名を⼊れる必要があります。今回は始発と⾏先を⼊れて区別します。（⑤）
 「経路情報」にはその系統に特記事項があれば⼊れます。今回は空欄とします。（⑥）
10 「起点」と「終点」を⼊れます。（⑦、⑨）必要があれば経由地も⼊れます。（⑧）（今回は空欄のまま）

⑩ 経路情報シートにデータを⼊⼒します（右半分） 「循環路線」はこの路線が循環乗⾞（終点＝起点の路線で終点でそのまま乗り続けられる路線。⼭⼿線のような路線。）
かどうかを⼊れます。（⑪）
 「運賃表名」当該路線の運賃表の名称を⼊れます。（⑫）※運賃の情報は、あとで、運賃表シートに⼊⼒します。ここでは、全線共通の均⼀運賃なので、「均⼀運賃100」という運賃表名とします。
 「運賃表のシート名」には、上の運賃表が記載してある運賃表シート名を⼊れます。（⑬）
 「運賃⽅式」は、この路線の運賃の種類をコード番号で⼊れます。（⑭）
 「⽀払いタイミング」には、後払い（降⾞時払い）か前払い（乗⾞時払い）の区別をコード番号で⼊れます。（⑮）
 「乗換」には１回の運賃⽀払いで乗換後も継続して乗⾞できるかどうかをコードで番号で⼊れます。（⑯）

11

５．時刻表シート(1) 時刻表シートは、概ね紙の時刻表の１表でシート１枚になります。１路線につき上り・下りがあるのでシート２枚の⾒当です。
 「⽩紙時刻表」のシートを必要枚数コピーします。コピーしたシートのシート名を変更します。必ず「時刻表○○」のように最初の３⽂字を「時刻表」にします。そうすると、出⼒時に時刻表シートであることを認識してくれます。
 時刻表シートは、概ね、紙の時刻表のイメージで⼊⼒できます。
 まず、シートの左側に停留所名を⼊⼒します。２つの⽅法を紹介します。
停留所名を１つづつ⼊⼒する⽅法① 「時刻表1」シート」を開きます。
② 始発の「綾瀬駅⻄⼝」を⼊⼒します。停留所名のセルをダブルクリックします。
③ ５０⾳が表⽰されるので「あ」（③）をクリックすると、「あ」で始まるバス停のリストが表⽰されます。
④ リストの「綾瀬駅⻄⼝/2番乗り場」（④）をダブルクリックすると、時刻表1シートに⼊⼒されます。（⑤）⑥ 他のバス停も⼊⼒します。（⑥）⑦ 「通過順位」の「⾃動⼊⼒」をクリックして、通し番号を⼊⼒します。（⑦）

12５．時刻表シート(2)既存のエクセルから停留所名をコピペする⽅法① 「時刻表1」シート」を開きます。
② 停留所名をコピペします。（②）③ 上り、下り、乗り場番号等を⼊⼒します。（③）同名停留所の区分語あれば⼊⼒します。
④ 「標柱ID」の「⾃動⼊⼒」をクリックして、標柱IDを⼊⼒します。（④）⑤ 「通過順位」の「⾃動⼊⼒」をクリックして、通し番号を⼊⼒します。（⑤）



バス停は必ずバスが上から下へ⾛るように⼊れます。部分的に逆⽅向に⾛る便があるときは、
重複してバス停を⼊れます。



バス停名や区分語に⼊⼒ミスがあると、エラー表⽰が出て、標柱ID欄が空欄のままになります。正しく⼊⼒して再実⾏してください。

13

５．時刻表シート(3)⑨ 「路線名・⽅⾯名」を⼊れます。
⑩ 次に、シートの上⽅に便の情報を⼊れます。
⑮ 中段に時刻表を⼊れます。
⑰ 下⽅にデマンド運⾏の情報を⼊れます。

「路線名・⽅⾯名」を⼊れます。（⑨）ここに⼊れた⽂字はトップシートに表⽰され、このシートへのリンクになります。
経路ID（route_id）を⼊れます。（⑩）
便番号を⼊れます。（⑪）


運⾏⽇IDを⼊れます。（⑫）運⾏⽇IDとは、運⾏⽇（平⽇、⼟休⽇、⽉⽔⾦、お盆期間など）のパターンを⽰す語です。
便⾏先を⼊れます。（⑬）
このバスが終点で他の便になり、引き続き乗⾞できるときには、「連続便」の欄に後ろの便の経路ID、運⾏⽇ID、便番号を⼊れます。（⑭）今回はいれません。



時刻は紙の時刻表のイメージで⼊⼒します。（⑮）通過したり経由しないバス停のセルには”↓”、”レ”など、数字以外の⽂字を⼊れてかまいません。終点の次のセルに”⽌”と⼊れるのもＯＫです。
※１つの便は必ず１枚のシートに収まる
ようにします

デマンド運⾏の区間を⼊れます。（⑯）
このデータでは通過順位の4と5のバス停
がデマンド運⾏なので、4,5と⼊れます。
実際にデマンド運⾏となる便に、フラグ”1”を⼊れます。（⑰）

Tips ・便はJ列から隙間なく⼊⼒します。経路IDが空欄になっていると、それより右側のデータは出⼒時に読み込みません。
１列空けておくと、季節運⾏の便などを⼀時的に退避しておくことができます。
・⼀番下のバス停の次には、必ず１⾏以上の空⽩⾏を確保してください。
・⾒やすいように、デマンド運⾏区間のセルを⾚にするなど、セルや⽂字に⾊を付けてもかまいません。
14
・既存の時刻表エクセルがあれば、適宜、コピペしてかまいません。

５．時刻表シート(4)⑱ 「⽩紙時刻表」シートをコピーして、シート名を「時刻表2」に変更します。
⑲ 「時刻表2」シートに上り⽅向のデータを同様に⼊⼒します。
→停留所名、上り・下りの区分語、通過順位→時刻表ツールで標柱IDを⾃動挿⼊→路線名・⽅向名を⼊⼒→経路ID、便番号、運⾏⽇IDを⼊⼒→時刻表を⼊⼒→デマンド運⾏情報を⼊⼒［時刻表2］シート

15

トップシート（再）① ⼀度、トップシートに戻ります。時刻表シートの上⽅の「トップシート」のボタンをクリックします。(①)② トップシートの「時刻表リストを更新」のボタンをクリックします。（②）③ その下をクリックすると、プルダウンで路線名・⽅向名が表⽰されます。（③）④ 表⽰したい路線名・⽅向名を選択して、左側の「右側の時刻表シートを表⽰」をクリックすると（④）、その時刻表シートが表⽰されます。


時刻表シートの数が多くなったときは、この⽅法で⽬的の時刻表シートを素早く表⽰できます。

［トップシート］［時刻表1］シート

16

６．運⾏区分情報シート
 「毎⽇」、「平⽇」、「⼟休⽇」、「⽉⽔⾦」のような運⾏⽇(運⾏⽇ID）の便が運⾏する⽇を曜⽇で指定します。
① 「運⾏⽇ID」を⼊れます。時刻表シートに⼊れたものと同じものです。（①）② 「⽉曜⽇」〜「⽇曜⽇」の各欄に、運⾏するなら”1”を、運⾏しないなら”0”を⼊れます（②）③ 「サービス開始⽇」と「サービス終了⽇」にその運⾏⽇IDの有効期間を⼊れます。(③)


サービス開始⽇とサービス終了⽇は、通常は、「提供情報・事業者情報」シートに⼊⼒した「提供開始⽇」、「提供終了⽇」と同じとします。
ただし、「夏期平⽇」（20180401〜20181031）、「冬期平⽇」（20181101〜20190331）のように⼊れると、夏期のみ運⾏便、冬期のみ運⾏便を１つのGTFS-JPファイルに⼊れることができます。

17

７．運⾏⽇情報シート
 運⾏⽇情報シートでは、運⾏⽇を⽇付単位で指定します。運⾏区分情報シートで⼊⼒した曜⽇指定よりも、このシートで指定した⽇付指定のほうが優先されます。
① 「運⾏⽇ID」を⼊れます。運⾏区分情報シートに⼊れたものと同じものです。（①）② シートにはあらかじめ祝⽇が⼊⼒されていますが、年末年始（12/30〜1/3）は休⽇ダイヤ
なので、⾏を挿⼊してこの期間の⽇付を⼊⼒します。（②）③ 各⽇付の欄に、運⾏するなら”1”を、運⾏しないなら”2”を⼊れます（③）
「運⾏⽇をカレンダー表⽰する」をクリックすると、各運⾏⽇IDの運⾏する・しないがカレンダー形式で表⽰されます。
⼊⼒したデータの確認に使⽤してください。（⑤）ただし、カレンダー内をクリックしてもデータは変更されません。元のシートに戻って、⼊⼒データを修正してください。

Tips ・「運⾏しない」のコードが、前のシートでは”0”で、このシートでは”2”なのは、GTFS-JPの仕様です。
ご了承ください。

18

８．運賃表シート
 運賃表シートに運賃情報を⼊⼒します。１枚のシートに複数の運賃表を⼊⼒できます。
 時刻表シートと同様に、運賃表シートを複数にすることもできます。「⽩紙運賃表」のシートをコピーして、シート名を「運賃表○○」（最初の３⽂字は必ず”運賃表”とする）に変更してください。
① 運賃の情報を⼊れます。






⑥ （参考）三⾓表の運賃情報の⼊れ⽅

運賃表名（路線名など）を⼊れます。（⑦）
運賃区分（運賃の決め⽅の種類）をコードで⼊れます。
（⑧）サンプルは全停留所間の運賃が⽰された三⾓表です。
Ｄ列から運賃表を⼊れます。（円単位）（⑨）

均⼀運賃のときは単純です。
運賃表名（均⼀運賃のときは、単に”均⼀運賃”のようにすればよいです。三⾓表などで表⽰される対キロ運賃の場合は、路線名などを⼊れます。（②）
運賃区分（運賃の決め⽅の種類）をコードで⼊れます。
（③）
Ｄ列に運賃の⾦額を⼊れます。（円単位）（④）



運賃表ツールをクリックします。(⑩)
全停留所⽅式の「停留所名を⼊⼒した
三⾓表・四⾓表に停留所IDを⼊れる」
をクリックします。（⑪）
三⾓表のバス停名の前に停留所IDが追加されます。（⑫）

19９．翻訳情報シート
 翻訳情報とは読み仮名や英字表記のことです。例えば、外国語の検索サービスで検索したときに、英字が表⽰されます。
 バス停名の読み仮名と英字は停留所・標柱情報シートで⼊⼒済なので、ここではそれ以外を⼊れます。
① 読み仮名と英字を⼊れます。






今回は路線名の読み仮名と英字を⼊れます。
「経路名⾃動⼊⼒」をクリックすると、路線情報シートから路線名
が２つコピーされます。（②）
同⼈に、⾔語を⽰す”ja-Hrkt”(読み仮名＝⽇本語の仮名）と”en”（英語）が⼊⼒されます。（③）
実際の読み仮名と英字を⼊れます。今回は路線名だけ分かればよい
ので、路線名の（ ）内は省略します。（④）
路線名は検索結果に必ず表⽰されるので、ここで⼊⼒しておいてく
ださい。

Tips
・「翻訳」は⼀つのフィールドに⼊⼒された語を単位に照合して読み仮名や英字と置き換えて使⽤されます。例えば、バス停名の「綾瀬駅」の読み仮
名や英字を⼊⼒しても、「綾瀬駅⻄⼝」の読み仮
名や英字は表⽰されません。
・実際のGTFS-JPデータでは読み仮名と英字のほかに、元の語を⾔語符号”ja”で⽰す必要があります。
このツールでは“ja”のデータは⾃動で出⼒します。
（”ja”のデータがないと、Googleの⽇本語環境で検索したときに読み仮名で表⽰されます。）

以上で⼊⼒は完了です。

20

１０．元資料との読み合わせ
 ⼊⼒したデータに誤りがないか確認します。特に⼿⼊⼒の場合はタイプミスの可能性があるので、必ず読み合わせをしてください。
 次にチェックツールによりデータの⽭盾や不⾜のチェックをしますが、論理的にみて⽭盾のない⼊⼒ミ
スはチェックできないので、この段階でよく⾒ておきます。

１１．チェックツールによるチェック ⼊⼒したデータに⽭盾や不⾜がないか、チェックツールでチェックします。
①②

トップシートを表⽰します。
「データに不整合や不⾜がないか確認する」をクリックします。（②）

「運賃表をチェックするか」には「はい」をクリック（③）



エラーがなければ「データに不整合や不⾜はありません」と表⽰されます。（④）
エラーがあれば「データに不整合や不⾜がありました。」と表⽰されます。（⑤）データ出⼒フォルダにエラーの内容を記した「要修正情報ファイル」が出⼒されるので、エラーの内容を確認して、修正します。
ただし、すべてのエラーをチェックできるわけではありま
せん。





21

１２．標準的なバス情報フォーマット（GTFS-JP）の出⼒
 チェックツールでのエラーが無くなったら、GTFS-JPデータを出⼒します。
①②

トップシートの「標準的なフォーマットのファイルを作成する」をクリックします。（①）
その下に、出⼒条件を選択するセルがありますが、翻訳情報は「出⼒する」にします。（②）


指定したフォルダにGTFS-JPのファイル（txtファイル）が作成されます。（③）“gtfs”フォルダにできるのがUTF8のファイル、”temp”のフォ
ルダにはSJISのファイルができます。GTFS-JPとして外部提供するのは、UTF8のファイルです。

最後に、これらのtxtファイルを⼀括してzip圧縮します。
その際、必ず、これらのtxtファイルを全部選択してzip
圧縮してください。”gtfs”フォルダを選択してzip圧縮
すると、フォルダ⇒txtファイルの構造が残ってしまう
ので、正しいGTFS-JPファイルとして認識されません。

zip圧縮

gtfs.zip22

１３．FeedValidatorによるGTFSファイルのチェック
 GTFSには、FeedValidatorというチェックツールが公開されています。
 ここでは、ウェブ上でFeedValidatorのチェックが受けられるサイトを利⽤します。
①https://gtfsfeedvalidator.transitscreen.com を開きます。
②「参照」をクリックして、作成したGTFSデータをアップロードします。






右図のように評価結果が表⽰されます。
“Unknown Files” と “Unrecognized Colum”の警告（Warnings）は、GTFS-JPの⽇本版拡張部分が指摘されているので、問題ありません。
下のほうで”Stops Too Close”と指摘されているのは、上り・下りの標柱の座標を同じにしているので、距離が０ｍになっているからです。
前ページでzipファイルを作成するときに、txtファイルを含むフォルダをzip圧縮してしまうと、
FeedValidatorで、”ファイルが⾒つからない”というエラーが表⽰されます。
⼀度FeedValidatorをクリアしたあと、微修正をしたりすることがありますが、外部に提供する最終版のzipファイルを作成したら、再度、FeedValidatorを通して、zip
ファイルの構造、⽂字コードに間違いがないか確認してください。

23

（付録１）地理院地図を⽤いたバス停座標データの作成
 バス停座標データが無い場合には、地理院地図を⽤いて座標データを作成します。
 地理院地図は国⼟地理院が公開しているウェブ上の地図で、その上でデータを作成できます。
 地理院地図で作成したデータをgeojsonというフォーマットのファイルで保存して、標準的なフォー
マット作成ツールに読み込みます。
地理院地図検索① 地理院地図のサイトを開きます。 https://maps.gsi.go.jp② 地図を拡⼤して、対象地域へ移動します。

・「＋」「－」で拡縮
・ドラッグで移動
24

 地図の右上の「機能」→「ツール」→「作図・ファイル」をクリック（①〜③） 「作図・ファイル」の「マーカー（アイコン）を追加」ボタンをクリック（④）
 マーカーの情報を⼊⼒するウィンドウが表⽰される（右下）

25






「名称」にバス停名を⼊⼒（⑤）
「項⽬名」に”標柱”と⼊⼒し（⑥）、「値」に標柱名を⼊⼒（⑦）
マーカー（⾚丸）を地図上でドラッグして、バス停（標柱）の場所に移動する（⑧）
バス停の位置でクリックすると、位置が確定して、情報欄が空欄になり次の⼊⼒に進む（右下）

26

 「地域」を⼊⼒するときは、「標柱」の右側の「この下に⾏を追加」ボタンをクリック（⑨）
 １⾏追加されるので「項⽬名」に”地域”、「値」に地域名を⼊⼒（⑩）
 以下は前と同様に、マーカー（⾚丸）を地図上でドラッグして、バス停（標柱）の場所に移動する

27

 何か所か⼊⼒したら、「確定」をクリックして、⼊⼒内容を仮保存（⑪）
地図の右上の表⽰は「作図・ファイル」に戻る
 ここで、「アイコンのラベルを表⽰」にチェックを⼊れるとバス停名が表⽰される（⑫）※下の地図が隠れてバス停のプロットに支障があるときは非表示にしておく

 引き続き、⼊⼒するときには、「マーカー（アイコン）を追加」ボタンをクリック（⑬）

28 データを保存するときは、「選択している情報をまとめて保存」ボタンをクリック（⑭）
 ファイル形式の選択画⾯が表⽰されるので、「GeoJSON形式」を選択（⑮）
その下にファイルの内容が表⽰される（⑰）ので、「上記の内容で保存」をクリック（⑱）
 パソコンのダウンロードフォルダに、GeoJSONファイルが保存される（⑲）※ファイル名は日付と時刻から自動で付けられる

29

 データを修正するときは、「編集」ボタンをクリック（⑳）
 「編集するオブジェクトを選択してください」と表⽰されるので、地図上のマーカーをクリックすると、データ⼊⼒画⾯が表⽰されるので、修正⼊⼒する（右下）
 マーカーを地図上でドラッグすると、バス停の位置を修正できる ⼊⼒、修正が終わったら「確定」をクリックして、前ページの⼿順で
GeoJSONファイルを保存して終了（ブラウザを閉じる）

30

 地理院地図で出⼒したgeojsonファイルを標準的なフォーマット作成ツールで読み込みます。








「標準的バス情報フォーマット作成ツール」（エクセルファイル）を開く。（①）
「データ保存フォルダ」欄にバスデータを保存するフォルダ名を⼊⼒。(②）
「停留所・標柱情報シートへ」をクリックして、「停留所・標柱情報」シートを表⽰させる。（③）
「停留所・標柱情報」シートの「地理院地図で作成したバス停座標を読み込む」をクリック。(④）
⼩ウィンドウが表⽰されるので「バス停座標を読み込む」をクリック。（⑤）
ファイル選択の画⾯が表⽰されるので、保存したGeoJSONファイルを選択。（⑥）
バス停データの取り込み終了の表⽰が出たら、「OK」をクリック（⑦）

31 バス停データがシートに⼊⼒されます。
 停留所・標柱ID、親停留所情報（ID）は⾃動で挿⼊されます

作業終了※シートに既に標柱データが入力されているときは、同名・同標柱番号のデータは入力されない。新規データのみ追加される。
※シートに既に入力されているバス停・標柱の座標を修正したいときは、
停留所ツールでGeoJSONファイルに出力して、地理院地図で修正できます。

32

（付録２）経路形状作成ツールを⽤いた路線形状データ（shapes.txt）の作成

１ 経路形状作成ツールについて
 このツールでは、標準的なバス情報フォーマット（GTFS-JP）のデータに、路線を地図上に表⽰するための路線形状データ（shapes.txt）を作成して追加することができます。
 このツールで路線形状データを作成するには、完成したGTFS-JPデータ（shapes.txtを除く）が必要です。
 このツールでは、GTFS-JPデータに含まれるバス停（標柱）の位置（座標）、経路、時刻表（当該
経路が通るバス停）の情報と、国⼟地理院が公開している道路の地図データから、路線形状データ（座標を列挙したもの）を作成します。
 路線形状データはGTFS-JP内の経路ID（route_id）ごとに作成します。このため、同⼀経路IDのすべての便が起点・終点及び途中のバス停がすべて同じである必要があります。
 このツールでは、路線形状データのshapes.txtファイルを作成するとともに、trips.txtにshape_idのフィールドを⾃動で追加します。

33

２ ツールを使用する上での留意事項
 このツールでは、完成した標準的なバス情報フォーマット（GTFS-JP）データが必要です。まず、そのデータを作成してください。
 このツールでは、バス停間を最短距離の道路で結んでいます。このため、作成された路線形状が実際のバスルートと異なることがあります。その場合は、地理院地図（国⼟地理院が公開している
WEB上の地図サービス）で、違っているバス停間の正しいルートを作図し、geojson形式のファイルに保存してください。その後、このツールで保存したgeojsonファイルを読み込むと、正しい路線形状データを作成できます。
 このツールで道路データを読み込むときにインターネットに接続している必要があります。また、
地理院地図を使⽤するときもインターネット接続が必要です。
 作成する地域の範囲が広い場合、PCのメモリ不⾜でデータ作成ができないことがあります。

34

３ ツールの使用方法
 ツールのエクセルファイルを開きます。このツールの説明ウィンドウが⾃動で開きます。
説明ウィンドウが開かないときは、トップシートの「開く」ボタンをクリックします。
 説明ウィンドウの「プログラムを開始する」ボタンをクリックします。
プログラムのウィンドウが開きます。

説明ウィンドウ
プログラムウィンドウ
トップシート35

 ツールは１０ステップで経路データを作成します。
 まず、準備として本ツールで作成するファイルを保存するフォルダを作成します。作成したフォルダをウィンドウの１の枠に⼊⼒します。
 以降、作業が進むにつれて、このフォルダ内にサブフォルダが作成されて、⽣成されたファイルが保存されます。
 フォルダ名は半⾓英数字のみを使⽤してください（後で海外のデータ検証サイト
を利⽤できるようにするため）
 次に２の「参照」をクリックして、PC内に保存してある標準的フォーマット
（GTFS-JP）データのstops.txtを指定します。バス停のデータが読み込まれます。
※標準的フォーマットデータは１で指定したフォルダ以外に保存しておいてください。

36 次に、３〜８のステップを実⾏します。
各ステップのボタンを順次クリックします。
 ３では、東⼤空間情報科学研究センターのサーバから道路データがダウンロード
されます。
 ８までのステップが完了すると、１で指定したフォルダ内の次のフォルダに成果ファイルが作成されます。
¥gtfs
 shapes.txtを含む標準的フォーマットデータ¥geojson 作成した経路形状データを検証（確認）するた
めに、地理院地図で表⽰するgeojsonファイル 経路（route_id）ごとに、経路の形状ファイルとバス停ファイルができます。

 作成されたgeojsonファイルを地理院地図
で開いて作成された路線形状を確認します（次々ページ参照）。正しく作成されていれば作業はこれで終わりです。

※ステップ７でエラーが表⽰されることがあります。
このエラーについては次ページ参照。
※バス路線の道路が道路データに含まれないときについても次ページ参照。

37

ステップ７のエラー表示について ステップ７のバス停間の最短経路で次のようなエラー表⽰が出る場合があります。
「○○〜△△の最短経路検索ができませんでした」
 これは、バス停が他の道路に接続していない道路に位置付けられた時に⽣じます。
「OK」をクリックして。作業を続けてください。
 この区間については、経路データを作成するときにはバス停間を直線で結びますので、ステップ８の後に地理院地図を使⽤して修正データを作成してください。

バス路線の道路が道路データに含まれないとき
 バス路線が通る道路が施設内の構内道路や新しい道路の場合、地理院の地図データに含まれていないときがあります。
※使用している地図データは2018年6月に国土地理院のサーバからダウンロードしたものです。

 このときは、このツールで作成される経路形状データが迂回したルートなりますの
で、WEB上の地理院地図を使⽤して修正データを作成してください。
 新しい道路の場合、WEB上の地理院地図でも表⽰されないときがあります。
38

地理院地図で経路形状とバス停のgeojsonファイルを開く⽅法
 地理院地図のサイトを開きます。（https://maps.gsi.go.jp）
 各経路ごとに作成された検証⽤の経路（route）とバス停（hyochu）のgeojsonファイル
を地理院地図のドラッグ＆ドロップします。バス停データは「移動前」のファイルを使います。
 路線とバス停が表⽰されます。経路のルートが正しいか確認します。もし実際と異なっている区間があれば、次ページの⽅法で修正⽤のデータを作成します。

39

地理院地図で経路形状の修正データを作成する⽅法

 修正したい部分を拡⼤表⽰します。
 地理院地図の右上の「機能」→「ツール」→「作図・ファイル」をクリックします。
 地図化しているファイル名が表⽰されていますので、バス停ファイルの下の「アイコンのラベルを表 ⽰」にチェックを⼊れると、地図上にバス停名が表⽰されます。
 ここでは、「城端庁舎じょうはな座前」から「東上⼭蔵前」のルートを修正します。下図のデータでは、
国道を北上して⼀旦右折し、すぐに左折するルートですが、実際には国道をさらに北上して「東上⼭蔵前」の⻄側の交差点を右折するルートが正しいルートです。

40

 作図・ファイルウィンドウの「線を追加」アイコンをクリックします。
 バス停から次のバス停までの間の正しいルートの点を順次クリックします。最後の点は２回クリックします。
 このとき、道路の中⼼線上の点をクリックしていきます。起点と終点
も（バス停の点の上ではなくて）バス停の直近の道路中⼼線上をクリックします。
 次のバス停（の直近の道路中⼼線上）で２回クリックします。
 別の要修正区間があるときは、続けて⼊⼒できます。
 ⼊⼒が済んだら、「確定」をクリックします。

41

 次に、⼊⼒したデータを保存します。画⾯に表⽰されているものがすべて保存されてしまうので、元の路線形状とバス停のデータのチェックをはずします。（①）
 「選択している情報をまとめて保存」のアイコンをクリックします。（②）
 下の画⾯が表⽰されるので、「GeoJSON形式」にチェッ
クを⼊れます。③
 下の枠内にデータの内容が表⽰されるので、「上記の内容で保存」をクリックします。④

⑤

②

①

 すると、PCのダウンロードフォルダにgeojsonファイルが保存されます。⑤ ファイル名は⽇付と時刻から⾃動的に付けられるので、分かりやすい名前に変更しておき
ます。⑥

③

⑥
 修正する区間が多数あるときでも、最終的にはすべての修正区間のデータを⼀つのファイルに保存する必要があります。このため、作業を複数回に分けて⾏った場合などは、複数の修正データファイルを⼀旦、地理院地図に表⽰させて、まとめて保存します。
 以下は、バス経路データ作成ツールに戻って、９〜10のステップを実⾏します。

④
42

修正データを⽤いて経路形状データを作成する⽅法
 ９をクリックして地理院地図で作成した修正データを読み込みます。
 10をクリックして修正データを加味した
経路形状データを作成します。
 10までのステップが完了すると、１で指定したフォルダ内の次のフォルダに成果ファイルが作成されます。
¥hokan-shape-gtfs
 shapes.txtを含む標準的フォーマットデータ¥hokan-geojson
 作成した経路形状データを検証（確認）するた
めに、地理院地図で表⽰するgeojsonファイル 経路（route_id）ごとに、経路の形状ファイルとバス停ファイルができます。

 作成されたgeojsonファイルを地理院地図
で開いて作成された路線形状を確認します。正しく作成されていれば作業はこれで終わりです。まだ誤りあれば、地理院
地図を使⽤して修正データを作成します。

※地理院地図での作業は、作成された経路データを直接修正するものではありません。必ず９〜１０ステッ
プで経路データを再作成してください。

43

最終的な標準的なバス情報フォーマット（GTFS－JP）データ
 “hokan-shape-gtfs”フォルダ（修正が不要だったときは”shape-gtfs”フォルダ）に
路線形状データファイル（shapes.txt）を含む、標準的フォーマットデータ⼀式が作成されます。
 これらのファイルをすべて選択してzip圧縮します。
 以上で、路線形状データを含む標準的なバス情報フォーマット（GTFS-JP）データの作成は完了です。

 完成したGTFS-JPファイル（zipファイル）は、FeedValidatorを通して、
zipファイルの構造や⽂字コードが正しいか（SJISになっていないか）を確認してください。
 地理院地図で作成した修正データ（geojsonファイル）は保存しておきます。ダイヤ改正や路線改正により標準的なバス情報フォーマット（GTFS-JP）データを更新したときは、保存しておいた修正データを利用して、再度、路線形状データを作成します。

以上
44

問合せ先
東京⼤学空間情報科学研究センター
⻄沢 明nishizawa@csis.u-tokyo.ac.jp

45