5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

超初心者向けGTFSを使ったOpenTripPlannerの使い方(Windows版)

Last updated at Posted at 2022-12-09

今回やることの簡単な説明

GTFSという経路検索のフォームを用いて、過去の時刻表データを作成し、旅客輸送における時代変遷を調べようと思いました。
今回は、オープンソースを用いて自作のGTFSデータを動かすための準備を行います。

GTFSデータとは

GTFSデータとは、経路検索のための世界的な標準プラットフォームです。

GTFSデータの作り方

ここでは説明を省略します。西沢ツールその筋屋を使うのが一般的です。
日本国内の路線バスでは、多くの路線がGTFSデータを公開しています。以下のサイトなどでその一覧を確認することができます。
具体的に利用するエリアや運行会社が決まっている場合は、「バス会社 GTFS」と調べてみるとよいでしょう。

参考になるQiita記事

これらはMacOSやUbuntuでの動作を説明しています。

操作手順の説明

操作手順は、

  • OSM(OpenStreetMap)を編集するためのosmosisというソフトをインストール
  • OSMデータのインストール
  • OSMデータの編集(osmosisを用いる)
  • 経路検索エンジンとなるOTP(OpenTripPlanner)のインストール
  • OTP起動~解析
    となります。

osmosisのインストール

OSMの生データをコマンドで編集できるソフトがosmosisです。
以下リンクからzipファイルをダウンロードしてください。解凍したら、C:\Program Files (x86)にソフトを入れましょう。

詳細はこの2つの記事を参考にしてください。

2つめのページだとPath環境変数の設定の仕方が以前のWindowsの方法となっていますので、以下を参考にPath変数を指定してください。これにより、コマンドプロンプトを開いたときにosmosisと入力するだけで起動可能です。

OSMデータのインストール

OpenStreetMapで使用されている道路のデータをダウンロードします。
geofabrik.deのサイトから各地域に分けてDLが可能です。

OSMデータの編集

自分のユーザーファイル(C:\User\Username)のところに「otp」のディレクトリ(新しいファイル)を作成します。
コマンドプロンプトに移動(Windowsマークの隣の検索画面からcmdと入力すると出てくる)して以下を入力してください。

cd otp

先ほどインストールしたosmosisは、それぞれコマンドを入力することでOpenStreetMapのデータの編集ができます。
例:osmoisを使って切り取り(chubu-latest.osm.pbfから山梨県西部を切り取り)

osmosis --read-pbf chubu-latest.osm.pbf --bounding-box top=37.0586280822754 left=138.397018432617 bottom=35.9853324890137 right=139.669952392578 completeWays=yes --write-pbf westyamanashi.pbf

例:osmosisを使って関東、中部のデータをmerge。

osmosis --rb chubu-latest.osm.pbf --rb kanto-latest.osm.pbf --merge --wb centjapan-latest.osm.pbf omitmetadata=true

例:mergeしたファイルを中央線沿線で切り取り。

osmosis --read-pbf centjapan-latest.osm.pbf --bounding-box top=36.00 left=138.20 bottom=35.14 right=139.72 completeWays=yes --write-pbf aroundyamanashi.pbf

今日紹介した以外のosmosisの使い方はこのサイトが参考になります。

OpenTripPlanner(OTP)のインストール

データの下準備が終わったので、実際に経路の解析を行うOpenTripPlannerをダウンロードしましょう。
手順は以下の通りです。
(1)さきほど作成した「otp」のディレクトリ(新しいファイル)を開く。
(2)以下リンクにアクセス。最新バージョンのディレクトリを開く。
(3)文末に「shadded.jar」と書かれたものを(1)で開いたディレクトリにダウンロード。
(4) 後ほど説明しますが、到達圏解析を行うのであれば1.5.0を使います。

OTPの起動

OTPは以下コマンドを入力することで起動ができます。
「otp」ディレクトリの中に含まれるosmデータおよびGTFSデータから解析が行われるので、編集前のダウンロードしたときのosmデータは消しておく。(コマンドプロンプトを使いこなせる人は、osmosisをほかのディレクトリで動作させて、完成したosmデータのみをotpディレクトリに入れるほうが良い)

メモリ10GBまでの利用を認める場合

java -Xmx10G -jar otp-1.5.0-shaded.jar --build ./ --inMemory

メモリ4GBまでの利用を認める場合

java -Xmx4G -jar otp-1.5.0-shaded.jar --build ./ --inMemory

コマンドを打つと、サーバーが起動し、OSMデータを計算してデータベースを作成し始めます。
下記メッセージが出たら準備完了です。

Grizzly server running.

以降はブラウザ上でURLを打つ形で実行します。
Chromeやfirefox等でやってみましょう。

接続が完了しているか確認する

http://localhost:8080/otp/routers/default/

入力GTFSデータ数の確認

http://localhost:8080/otp/routers/default/index/feeds

from甲府 to小淵沢 13:00出発

http://localhost:8080/otp/routers/default/plan?fromPlace=35.667125,138.568760&toPlace=35.863803,138.316423&time=1:00pm&date=11-30-2022&mode=TRANSIT,WALK&maxWalkDistance=300000&arriveBy=false&numItineraries=5

from新宿 to甲府 13:00到着

http://localhost:8080/otp/routers/default/plan?fromPlace=35.690190,139.700617&toPlace=35.667125,138.568760&time=1:00pm&date=11-30-2022&mode=TRANSIT,WALK&maxWalkDistance=300000&arriveBy=true&numItineraries=5

これらの検索では、numItinerariesで設定した数だけ経路が検索されて、XMLが返ってきます。
続いて、到達圏についてです。
到達圏の詳しいパラメータについては、以下のページを参考にしてください。

Ver.2以降では到達圏解析を行う機能をなくし、経路検索に特化していきました。
Conveyal R5というものを使うことが推奨されています。
OpenTripPlannerでの到達圏解析というのは少しレガシーなものになるかもしれません。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?