スマートな乗り継ぎルート

公共交通機関の Web サイト、モバイル・アプリケーション、オープン・データ、および API を探る

Google マップのような Web サイトと、公共交通機関のデータが使用できるようになっているおかげで、多くの都市圏では職場 (あるいは空港、ショッピング・モール、球場など) への行き来に、これまで以上に簡単にバスを利用できるようになっています。Scott Davis はこの記事で、公共交通機関を賢い移動手段とするために貢献している技術の活用法を紹介します。

Scott Davis, Founder, ThirstyHead.com

Scott DavisScott Davis は国際的に知られた著者、講演者、そしてソフトウェア開発者で、Groovy と Grails の教育を目的とした会社、ThirstyHead.com の創設者でもあります。彼の著書には、『Groovy Recipes: Greasing the Wheels of Java』、『GIS for Web Developers: Adding Where to Your Application』、『The Google Maps API』、『JBoss At Work』などがあります。現在、IBM developerWorks の「Grails をマスターする」と「実用的な Groovy」の 2 本の連載を執筆中です。



2010年 4月 13日

都市過密化の現状について

バス 1 台で、自動車 3 台分のスペースに 35 人の乗客を悠々と乗せることができます。1 台のバスによってもたらすことのできる驚くべき違いを目で見て実感するには、「Packing Pavement」にアクセスしてください (「参考文献」を参照)。この記事で言っているように、「私たちが呼ぶ都市過密化とは、人が多過ぎることではなく、あまりにも小さなエリアにあまりにも多くの輸送手段があるということです」。

公共交通機関は交通渋滞を減らすことから、交通渋滞によって発生する公害も減らします。また、利用者のストレス・レベルを下げるだけでなく、お金の節約にもなります。今や、世界中の都市で通勤、買い物、旅行などに公共交通機関を利用する人は、さまざまな Web サイトやモバイル・アプリケーションを利用して、自分の都合に合った各種の交通手段を選択できるようになっています。この記事では、公園を散歩するのと同じように簡単に、バス (または路面電車、EI (高架鉄道)、あるいは地下鉄) を利用して目的地に辿り着けるようにしている巧妙な技術をいくつか紹介します。さらに、これらの技術を皆さんが独自に作成するアプリケーションで利用することで、公共交通機関の利用者にさらに充実した情報を提供することも可能です。

地図とルート案内を提供するインタラクティブな Web サイトが利用できるようになってから数年が経った今、同乗者にどこで曲がるかの指示を仰ぐという時代は過去のものとなっています。今や Web サイトに出発地の住所と目的地の住所を入力しさえすれば、あとはオンライン・エンジンがすべてを行ってくれます。このようなマッピング・サイトのなかで最も万能なサイトと言えるのは、Google マップでしょう。2005年 2月にリリースされてからわずか数ヶ月の間に、Web 開発者たちは Google マップのリバース・エンジニアリングを行ってマッシュアップを作成し、他のサイトからデータを取得して、その結果を Google の地図に表示するようになりました。なかには、Yahoo! によるリアルタイムの交通情報データと Google によるルート案内を組み合わせたハッカーもいます。こうしたことから、2005年 6月には正式な Google Maps API がリリースされる結果となりました。その際、Google マップのプロダクト・マネージャーは、「Google Maps API をリリースしたのは、一般の Web 開発者たちが既に API を作成していたからです」と冗談を言っていたほどです (「参考文献」を参照)。

Google マップ

地図を使ったマッシュアップ

Google Maps API でマッシュアップを作成する方法については、次の developerWorks の記事を調べてください。

正式な API をリリースすることによって、Google は Web サイトの焦点を巧妙ながらも革新的な方法へと移しました。それは、完成した絵を提供するのではなく、キャンバスにプログラマーがそれぞれ独自の絵を描けるようにするという方法です。マッシュアップは瞬く間に急成長し、最も安いガソリン・スタンドの場所や警察がスピード違反の取締りを行っている場所だけでなく、ドライバーに役立つあらゆる類の情報を提供するようになりました。

この Do-It-Yourself の精神は、車を運転するよりバスを利用することを好む何人かの Google 社員の間でも失われはしませんでした。そこで 2005年 12月に導入されたのが、Google Transit Trip Planner です。現在 Google マップには、運転ルートと公共交通機関のどちらかを選択できる機能があります。これを確認するには、「Get Directions (検索)」ボタンの隣にあるドロップダウン・リストを見てください (徒歩や自転車 (訳注: Google マップの日本語サイトには「自転車」はありません) で行く場合の案内も選択可能です)。

ここで少し時間を割いて、この機能をいろいろと試してみてください。例えば、地元の代表的な 2 つの場所を選択して (大抵は、ショッピング・モール、競技場、空港を選択するのが賢明です)、その 2 つの地点の間の公共交通機関の乗換案内を表示するなどです。

Google マップでは、ユーザーがかなり進歩的な方法で出発地点と到着地点を指定できるようになっています。私は A フィールドと B フィールドのそれぞれに、Flat Iron Crossing, Broomfield, CO (大規模なショッピング・モール) と Coors Field, Denver, CO (コロラド・ロッキーズが本拠地とする球場) と入力しました。この 2 つの場所はどちらも私のあいまい検索による候補リストの上位に示されるので、1 回クリックするだけで関連する情報が適切なフィールドに表示されます。このように、正確な住所を知らなくても、この 2 つの場所を結ぶルートを表示できるというわけです (図 1 を参照)。

図 1. Google マップが表示する公共交通機関の乗換案内
地図に Flat Iron Crossing と Coors Field 間のルートを表示する Google マップのスクリーン・ショット

Google マップで公共交通機関を選択するときには、時刻も検索基準として指定する必要があります。バスも電車もダイヤに従って運行されるため、それらを利用するには適切な時刻に適切な場所にいる必要があるからです。「Show Options (時間・条件を指定)」をクリックすると、「Depart at (出発時刻)」フィールドと「Arrive by (到着時刻)」フィールドが表示されます。出発時刻または到着時刻のいずれかを選択して指定すると、Google マップには指定された時刻に応じた推奨ルートが表示されます (図 2 を参照)。

図 2. Google マップで時刻を指定する
出発時刻と到着時刻を示す画面のスクリーン・ショット

2 つの場所として、ショッピング・モールと競技場を指定していろいろ試したら、今度は自宅の住所と勤務先の住所を指定してみてください。私はこの方法で、自宅からたった 5 分の場所に、バス代を払うと日中の駐車料金を無料にしてくれる屋根付き駐車場 Park-and-Ride があることを知りました。高速バスのバス亭は、オフィスからわずか数ブロック離れた場所にあります。通勤ラッシュの時間帯は、2 時間にわたって、約 10 分間隔でバスが来ます。途中で停まることもなければ、乗り換えも、待ち時間もありません。私はこのほとんどドア・ツー・ドアの公共交通機関を利用して毎日通勤しています。これも、Google マップのおかげです。


Google 乗換案内

Google マップに地元の公共交通機関が選択肢として表示されない場合、それはその公共交通機関が、Google マップに組み込んでもらうための運行ダイヤの情報を Google に提供していないためです。Google 乗換案内 (Google Transit) のサイト (図 3 を参照) にアクセスすれば、自分の住んでいる街が対象にされているかどうかを確かめることができます。

図 3. Google 乗換案内 (Google Transit) で地元の公共交通機関が対象にされているかどうかを確認する
Google 乗換案内 (Google Transit) の Web サイトのスクリーン・ショット

公共交通機関の情報を Google マップに組み込んでもらうためには、その路線データを GTFS (General Transit Feed Specification) 形式にして、一般公開される URL でホストし、Google にその GTFS ファイルがある場所を知らせるだけでよいのです (「参考文献」を参照)。すると、Google はこのファイルを定期的にダウンロードして、ルートの計算にその最新情報が使用されるようにします。

GTFS 形式とは、関連するカンマ区切り値 (CSV) ファイルのセットのことです。一例として、図 4 に交通機関、停車場、路線のサンプル・データを記載します。

図 4. GTFS 形式の単純な例
公共交通機関の管理センターにとって有用な GTFS 形式のサンプル・データが表示された Web ページのスクリーン・ショット

経験豊富なプログラマーにとっては、Google が XML や JSON (JavaScript Object Notation) などの形式ではなく、それよりも CSV ファイルの形式を採用したことに驚きを覚えるかもしれません。固定の URL に配置された CSV テキストの ZIP ファイルは、最先端の方法として賞を勝ち取ることはできませんが、このプログラムに参加する際に考えられるほとんどすべての技術的障壁を取り除きます。私たちの業界では、SOAP に対する REST、そして XML に対する JSON などといった、Web サービスに対する複雑なソリューションの優劣に関して終わりのない議論を続けているように思えますが、Google の簡素なソリューションは、優雅さは単純さのなかにあるということを私たちに思い出させてくれます。

「rtd gtfs」で Web を検索してみると、すぐに図 5 のようなページが見つかります。これは、デンバー市の公共交通機関 (RTD) がその GTFS ファイルをホストしているページです。このページから手に入れられる停車場の緯度/経度の数値があれば、この大元のデータを使って独自の魅力的な Google マップのマッシュアップを作成することができます。

図 5. デンバー市の RTD GTFS の Web ページ
デンバー市の RTD GTFS のWeb ページのスクリーン・ショット

交通機関が GTFS ファイルを更新するたびに、その通知を受けたい場合は、RSS フィードに登録してください。さらに登録先を特定の交通機関に制限することもできます (「参考文献」を参照)。例えば、図 6 の結果を見ると、RTD が最後に GTFS ファイルを更新したのは約 3 週間前であることがわかります。フィードの履歴を基に判断すると、RTD では約3 ヶ月に 1 回、情報を更新しているようです。

図 6. GTFS Exchange Web サイト
GTFS Data Exchange の Web サイトのスクリーン・ショット。デンバー市の RTD の情報が表示されています。

City-Go-Round

City-Go-Round Web サイトは 2009年 12月、オンラインに登場しました (「参考文献」を参照)。このサイトは交通機関のデータの公開を支援する Web サイトというだけでなく (この記事を執筆している時点で、米国で公開データを提供している交通機関は 108、提供していない交通機関は 677 あります)、公共交通関連の Web サイトとモバイル・アプリケーションにとって素晴らしい情報センターとなっています。図 7 に、City-Go-Round のホーム・ページを示します。

図 7. City-Go-Round Web サイト
City-Go-Round Web サイトのスクリーン・ショット

ページ先頭にある「Agencies (交通機関)」リンクをクリックしてください。すると、州を選択して、その地域で公共交通サービスを提供している機関を簡単に確認することができます。このページでは、それぞれの交通機関が公開データを提供しているかどうかも確認することができます。

ページの一番下までスクロールすると、ここで提供されている情報を CSV または JSON としてエクスポートできることがわかります。エクスポートしたデータには、各交通機関が提供している停車場の緯度/経度の数値も含まれています。つまり、交通機関の情報を利用した独自のマッシュアップのための材料がさらに増えるということです。図 8 では、一例としてコロラド州の公共交通機関を検索しています。

図 8. コロラド州の公共交通機関を検索する
コロラド州の公共交通機関が表示された City-Go-Round の Web ページのスクリーン・ショット

City-Go-Round の「About (サイト情報)」ページには、公開されている交通データに関する興味深いグラフがあります (図9 を参照)。

図 9. 公開されている交通データに関するグラフ
公開されている交通データに関するグラフ

図 9 の各円のサイズは、各交通機関の相対的な規模を反映しています。濃い色の円は、データを公開している交通機関です。

このページのグラフをクリックすると、IBM alphaWorks の ManyEyes データ視覚化 Web サイトに移動します。インタラクティブな Java™ アプレットとして実装されたこの ManyEyes アプリケーションでは、それぞれの円をクリックすると、詳しい情報が表示されます。


携帯電話用アプリケーション

Android を使い始めるには

次の記事を読んで、モバイル・アプリケーション用 Android 環境の詳細を学んでください。

  • Android 開発入門」では、Android プラットフォームについて紹介し、基本的な Android アプリケーションのコードを作成する方法を説明しています。
  • Develop Android applications with Eclipse」(チュートリアル) では、Google の Android Development Tools Eclipse プラグインを導入する方法を説明しています。

これまで、自宅で移動や旅行を計画する際に優れた情報源となる Web サイトを紹介してきましたが、街角に立っている場合には何を使えるのでしょうか?ありがたいことに、交通機関に関連する携帯電話アプリケーションのエコシステムも活気に溢れています。City-Go-Round のページ先頭にある「Apps (アプリケーション)」リンクをクリックすると、iPhone、Android、BlackBerry などの携帯電話用に最適化されたモバイル・アプリケーションの一覧が表示されます。

例えば Denver, CO と入力すると、この一覧は私の地元で役立つアプリケーションに絞り込まれます (図 10 を参照)。

図 10. コロラド州デンバーで利用できる交通機関に関連するモバイル・アプリケーション
denver, CO でアプリケーションを検索した City-Go-Round Web ページのスクリーン・ショット

クリックして大きなイメージを見る

図 10. コロラド州デンバーで利用できる交通機関に関連するモバイル・アプリケーション

denver, CO でアプリケーションを検索した City-Go-Round Web ページのスクリーン・ショット

一覧表示されたアプリケーションには、RTD Light Rail に限定されているものもあれば、例えば空港までのバス路線など、特定の目的地を対象としたものもあります。自分のニーズに最適なアプリケーションを判断するには、アプリケーションごとに示されている評価、レビュー、スクリーン・ショットを参考にできます。

モバイル・アプリケーションを評価するときに (あるいは独自に作成するときに) 重要な考慮事項となるのは、そのアプリケーションがデータをローカルで保管するのか、それともインターネットから情報を取得するのかという点です。これは特に地下鉄利用者にとって重要なことで、地下にいる間、携帯電話が圏外になることがよくあるためです。ローカルに保管したデータを使用すると応答時間が短縮される傾向がありますが、その場合のアプリケーションは、ユーザーが古い情報を調べているといった事態が起こらないように、定期的にデータを更新するようでなければなりません。

独自の乗換案内モバイル・アプリケーションの発想を得るために (そして既存のアプリケーションがあることを知らずに同じアプリケーションを開発することがないように)、City-Go-Round に一覧表示された無料の、あるいは低価格で入手できる卓越した以下のアプリケーションを調べてください (各アプリケーションのリンクについては、「参考文献」を参照)。

UniBus

iPhone のアプリケーションである UniBus は、当然のことながら、GTFS 形式でデータを公開しているすべての都市をサポートします。私は旅行する機会が多いため、乗換情報のすべてを一貫した形式でポケットの中に収められるのは、非常に魅力的です。データはローカルに保管されるため、飛行機に乗っているときでもバスや電車のルートを調べることができます。このアプリケーションはまた、Google マップでの表示、到着時刻の予測、そして「お気に入り」のルートの保存など、さまざまな機能を提供します。

Acrossair

Acrossair は、組み込みビデオ・カメラを使って、今いる場所の実際のカメラ映像にリアルタイムの情報を追加して表示する iPhone のアプリケーションです。iPhone をかざして画面を覗くと、現在乗っているバスの路線や一番近い地下鉄の駅が重ねて表示されます。すべての都市で機能するわけではありませんが、ニューヨーク、ワシントン D.C.、シカゴ、またはサンフランシスにいて、3GS iPhone を持っているとしたら、まさに自分専用の公共交通機関対応のヘッドアップ・ディスプレイを使えることになります。

One Bus Away

One Bus Away は、すべてのバスが任意の時点で交通網のどこを走っているのかをリアルタイムで表示します。現在、リアルタイムのバスの位置を一般に公開している交通機関はほんの少ししかありません。その 1 つが、シアトルの King County Metro です。現時点では One Bus Away はシアトルとその周辺地域だけでしか機能しませんが、リアルタイムのデータを提供する交通機関が増えるにつれ、独自のアプリケーションが登場してくるはずです。

私が最近出掛けた Redmond で、土砂降りの雨のなか、雨宿りをしていたときのことです。iPhone で Google マップを見てみると、私が待っているバスがバス停までどれほどの距離のところを走っているのかが正確にわかりました。1 台 1 台のバスを表す小さなアイコンは、地図上でその位置を 10 秒から 15 秒間隔で更新します。バスに乗車した後は、今度は最終目的地までの距離を知るためにこのアプリケーションを使いました。路線上のすべてのバス停が表示されるので、降車を合図するひもを引っ張るタイミングを正確に判断することができます (訳注: アメリカではひもを引っ張ることで降車の意思を知らせるバスが主流なようです)。そのバスに乗るのは初めてでしたが、すでに何度も乗り慣れている乗客の気分でした。


まとめ

その目的が人のためであろうと、自分のためであろうと (あるいはその両方であろうと)、自分が住んでいる街で利用できる公共交通機関について調べてみるべきです。Google マップなどのお馴染みの Web サイトを使えば、簡単に調べられます。また、City-Go-Round のような支援サイトでは、交通機関に関する情報を便利に利用できるようにするために必要なモバイル・ツールを提供しています。これらのサイトは、独自の乗換案内アプリケーションの設計を始める際に、不可欠のツールとなるはずです。

コミュニティーの計画と技術が交わる部分を大局的にとらえた見方については、The Open Planning Project (TOPP) を調べてください (「参考文献」を参照)。「技術主導の社会事業」である TOPP は、オープンソース・ソフトウェアの作成を専門とする世界最大規模の組織で、交通輸送の改革は TOPP の主要なイニシアティブの 1 つです。例えば、受賞の栄誉に輝いたことのあるオレゴン州ポートランドの TriMet 輸送システムが、そのインタラクティブなシステム地図を徹底的に見直し、既存の移動計画プログラムと統合することを決めた際、TriMet は TOPP と提携し、独自仕様のコンポーネントからオープンソースのコンポーネントへの切り替えを行いました (実は、私はこのプロジェクトでコンサルタントの役割を務めていました)。優れた TOPP プロジェクトには、Streetsblog も挙げられます。Streetsblog は、自動車への依存を減らし、自転車、徒歩、公共交通機関を利用して移動する人々の環境を改善することによって都市の変容を目指す個人や組織のための、新たな情報源であり、オンライン・コミュニティーであり、さらには政治的活動を推進するプロジェクトにもなっています (「参考文献」を参照)。

参考文献

学ぶために

  • Packing Pavement」 (Jim Beamguard 著、Tampa Bay Online、1999年7月): 都市で渋滞を引き起こしているのは、公共交通システムではなく、自動車です。
  • Google マップ: Google マップのサイトにアクセスしてください。
  • Map Hacks on Crack」(Wired、2005年7月): Google Maps API のリリースに関する記事を読んでください。
  • GTFS: GTFS 乗換案内フィードを構成するファイルの種類について説明し、これらのファイルで使用されるフィールドを定義しているページです。
  • GTFS Data Exchange: 公共交通機関はこのサイトに GTFS データをアップロードできます。また、このサイトで RSS フィードにサブスクライブすると、GTFS データの更新が通知されるようになります。
  • City-Go-Round: 乗換案内アプリケーションを検索するために使用できる City-Go-Round では、公共交通機関に対して乗換案内のためのデータをソフトウェア開発者に公開するよう奨励しています。
  • この記事で説明した 3 つのモバイル・アプリケーションについて詳しく調べてください。
  • The Open Planning Project: ポートランドの TriMet の例をはじめ、オープンソースのソフトウェアを利用して一層優れた乗換案内用のツールを作成する TOPPS の方法を調べてください。
  • Streetsblog: ニューヨーク、ロサンゼルス、サンフランシスコ、ワシントン D.C. の Streetsblog を調べてください。
  • Technology bookstore: この記事で紹介した技術やその他の技術に関する本を参照してください。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Java technology
ArticleID=490025
ArticleTitle=スマートな乗り継ぎルート
publish-date=04132010