1. 管理画面について
1.1 アクセス方法とBasic認証
管理画面は /admin/ にあり、Basic認証(ADMIN_USERNAME / ADMIN_PASSWORD)でアクセスを制限しています。一般公開画面(/)とは別のURLです。
/admin/ 画面全体(一般画面のサイドバーに「システム設定(GTFS データ)」パネルが追加された状態)1.2 管理機能が使えない場合
サーバー環境変数 ADMIN_USERNAME / ADMIN_PASSWORD が未設定の場合、管理機能は503エラーで無効化されます。管理機能を使う場合は、これらの環境変数がサーバー側で設定されていることをインフラ担当者に確認してください(設定は .env ファイルで行います)。
2. GTFSフィードの管理
サイドバー最下段の「システム設定(GTFS データ)」パネルから操作します。
2.1 フィードを選ぶ(GTFS-data.jpから検索)
「フィードを選ぶ…」を押すと検索ダイアログが開きます。
| 絞り込み条件 | 内容 |
|---|---|
| 都道府県 | 「全国」を指定すると全フィードが対象(実測548フィード) |
| 組織名 | 前方一致で検索 |
| 組織ID | 完全一致で検索(例:chitetsu) |
| 地図の表示範囲 | 地図を動かして「再検索」を押すと連動 |
| 一覧内の絞り込み | 取得済み一覧に対する文字列検索(クライアント側) |
複数のフィードをチェックボックスで選択できます。選択状態は絞り込み条件を変えても保持され、都道府県をまたいだ選択も可能です。選択中の一覧はサイドバーに表示され、個別に解除できます。
2.2 フィードを追加する(アップロード/URL指定)
GTFS-data.jpに無いフィードは、「フィードを追加…」からZIPファイルをアップロードするか、ZIPファイルの公開URLを指定して追加できます。
- URLを指定した場合も、登録時にサーバー側へファイルを取得・保存するため、再構築時には保存済みファイルが使われます。
- ファイルサイズの上限は200MBです。
- 追加したフィードは自動的に選択状態になるため、内容を確認したうえで「選択を適用して再構築」を押してください。
補助ファイルの自動除去について
古い形式の translations.txt を含むGTFSフィードは、そのままではOTPのグラフ構築全体が失敗します。このシステムは配置時に必須列の有無を確認し、不足している場合は自動的に translations.txt を除いたZIPを構築対象とします。除去が行われた場合は、サイドバーに ℹ ◯◯: translations.txt(必須列がありません…)を除いて読み込みました のように表示されます。翻訳情報は表示用の補助情報であり、経路探索そのものには影響しません。
2.3 選択を適用してグラフを再構築する
フィードの選択・追加が済んだら、「選択を適用して再構築」を押します。
- 選択した各フィードの
file_urlからZIPをダウンロードして配置します。ダウンロードは版(file_uid)付きでキャッシュされ、同じ版であれば再取得しません。 - 配置後、OTPのグラフ再構築が自動的に開始されます。
- 絞り込み条件・選択内容はサーバー側に保存され、再起動後も保持されます。
2.4 ビルドログの確認
「ビルドログ」で再構築の進捗を確認できます。完了すると OTP: 稼働中 のバッジが緑色になります。
- 再構築は、既存のグラフを退避したうえで行われ、成功したときだけ新しいグラフに入れ替わります。
- 失敗した場合は旧グラフに戻り、状態は
serving(正常稼働)ではなくserving-stale(稼働中だが選択内容と不一致)になります。この場合、画面に「いま検索に使っているデータは現在のGTFS選択と一致しません」という趣旨の表示が出ます。 - 戻せる旧グラフが無い場合は
failedのまま次の再構築要求を待ち、検索機能は提供されません。
OTP: 稼働中 バッジ(緑)/ serving-stale 表示時の状態行3. 人口メッシュ(e-Stat)の設定
人口メッシュは任意機能で、未設定でもGTFS・到達圏など他の機能には影響しません。
3.1 事前準備(APIキー取得)
- e-Stat API で利用者登録し、アプリケーションIDを取得します。
- サーバーの
.envにESTAT_APP_ID=を設定し、APIコンテナを再作成します(docker compose up -d --build api)。この作業はサーバー管理者が行います。
3.2 設定手順
Basic認証付きの /admin/ を開き、「人口メッシュ(e-Stat)」パネルで以下を設定します。
| 項目 | 内容 |
|---|---|
| 調査年度 | 対象とする国勢調査の年度 |
| メッシュ解像度 | 1km/500m/250mから選択 |
statsDataId | 通常は空欄でよい(自動検索できない表を使う場合のみ指定) |
絞り込みコード(cdTab、cdCat01、cdTime) | 必要な場合のみ指定 |
設定後、「人口メッシュを有効にする」をONにして保存します。公開画面では500m/250mの解像度を選び、「国勢調査(人口・年齢)」レイヤを選択すると表示されます。
補足:地域メッシュ統計は1次メッシュごとに表が分かれているため、指定した調査年度・解像度から表示範囲に対応する表を自動検索します。取得結果はサーバー側にキャッシュされ(既定TTL 30日、.env の ESTAT_CACHE_TTL_DAYS で変更可)、APIコンテナ再起動後も再利用されます。アプリケーションIDはブラウザや設定ファイルには保存されず、サーバー環境変数としてのみ扱われます。
4. GTFS比較モードの運用
GTFS A/B比較機能を使うには、比較用OTPワーカーを追加して起動する必要があります(インフラ担当者による作業)。
docker compose --profile compare up -d --build
- 比較用グラフは自動的にキャッシュされ、GTFS・OSM・OTP設定の内容が同じであれば再構築しません。
- 既定では最大8件・8GB・空き容量1GBを基準に、最終利用が古いものから自動整理されます。上限は
.envのCOMPARE_GRAPH_MAX_ITEMS、COMPARE_GRAPH_MAX_GB、COMPARE_GRAPH_MIN_FREE_GBで変更できます。 - 通常のOTPに加えて比較用OTPが同時に稼働するため、メモリ・ディスク容量に余裕を持たせてください(目安:通常OTP 6GB+比較OTP 2GBなら物理メモリ8GB以上)。
5. 管理者向けトラブルシューティング
OTP: 稼働中 にならず「ビルド要求待ち」のままになっているserving-stale と表示されるtranslations.txt の必須列不足)は自動的に補正されますが、それ以外のエラーはログの内容に応じて対応してください。.env に ESTAT_APP_ID が設定されているか、/admin/ で「人口メッシュを有効にする」がONになっているかを確認してください。deploy/README.md にリバースプロキシ・HTTPS化・レート制限の設定例があります。