道路の累積データは、次のものを含む時系列データとして提供されます。
- 滞在期間
- 速度読み取り間隔(SRI)
- ルートのジオメトリ
BigQuery をセットアップする
BigQuery で道路データにアクセスするには、Google Cloud プロジェクトを設定してデータ エクスチェンジに登録する必要があります。
前提条件
Google Cloud プロジェクトとアカウントが次の構成になっていることを確認します。
- BigQuery API を有効にする。手順については、一般公開データセットをクエリする Google Cloud コンソールでをご覧ください。
- Analytics Hub API を有効にする。Analytics Hub API をご覧ください。
- 必要な IAM ロールを付与する。サブスクライバー タスクを実行してデータセットを作成するには、アカウントに次のロールが付与されていることを確認します。
- Analytics Hub サブスクライバー
(
roles/analyticshub.subscriber)- BigQuery ユーザー
(
roles/bigquery.user)
- BigQuery ユーザー
(
データ エクスチェンジに登録する
道路データは、BigQuery(Analytics Hub)のプライベート データ エクスチェンジを通じて共有されます。データにアクセスするための特定の登録リンクが Google パートナーから届きます。このデータセットは、次の命名規則に準拠しています。
historical_roads_data_PROJECT_NUMBER.
データに登録する手順は次のとおりです。
- Google パートナーから提供された登録リンクをクリックします。このリンクをクリックすると、Google Cloud コンソールのデータ エクスチェンジに直接移動します。
- Google Cloud コンソールで、データ エクスチェンジの詳細を確認します。
- ダイアログで [登録] ボタンをクリックします。
- 登録が完了すると、リンクされたデータセットが Google Cloud コンソールの BigQuery の [エクスプローラ] パネルに表示されます。エクスプローラ パネルに表示されるテーブル名を使用して、SQL クエリでデータにアクセスできるようになりました。
BigQuery テーブル
選択したルートの道路の累積データは、Google 所有のクラウド プロジェクトの分離された BigQuery データセットでホストされます。BigQuery Sharing(Analytics Hub)で専用に作成されたプライベート データ エクスチェンジを通じて共有されます。データにアクセスするには、データ エクスチェンジに登録し、Google Cloud プロジェクトにリンクされたデータセットを作成する必要があります。
共有 BigQuery データセットには、Google によって定義および作成されたいくつかの BigQuery テーブルが含まれています。各テーブルの詳細を以下に示します。
historical_travel_time テーブル
BigQuery テーブル historical_travel_time のスキーマは次のとおりです。
| 名前 | モード | タイプ | 説明 |
|---|---|---|---|
| selected_route_id | NULLABLE | STRING | ルートの selected_route_id |
| display_name | NULLABLE | STRING | ルートの表示名 |
| record_time | NULLABLE | TIMESTAMP | ルートデータが計算されたときのタイムスタンプ |
| duration_in_seconds | NULLABLE | FLOAT | 交通状況を考慮したルートの所要時間 |
| static_duration_in_seconds | NULLABLE | FLOAT | 交通状況を考慮しないルートの所要時間 |
| route_geometry | NULLABLE | GEOGRAPHY | 交通状況を考慮したルートのポリライン ジオメトリ |
テーブルの動作とファクト
- テーブルは日単位でパーティション分割され、各パーティションに 10 年の有効期限が設定されています。
- テーブルは 1 時間ごとに更新され、最新の交通データがバッチで書き込まれます。
- 道路選択 API で新しいルートを作成したら、このテーブルでデータが利用可能になるまで最大 1 時間お待ちください。
- 道路選択 API からルートを削除すると、そのルートの新しいデータはこのテーブルに書き込まれません。ただし、有効期限が切れるまで過去のデータは残ります。
recent_roads_data テーブル
注: このテーブルは、契約にリアルタイム の道路データが含まれている場合にのみ使用できます。
historical_travel_time とは異なり、このテーブルには SpeedReadingInterval
データも保持されます。BigQuery のスキーマは次のとおりです。
| 名前 | モード | タイプ | 説明 |
|---|---|---|---|
| selected_route_id | NULLABLE | STRING | ルートの selected_route_id |
| display_name | NULLABLE | STRING | ルートの表示名 |
| record_time | NULLABLE | TIMESTAMP | ルートデータが計算されたときのタイムスタンプ |
| duration_in_seconds | NULLABLE | FLOAT | 交通状況を考慮したルートの所要時間 |
| static_duration_in_seconds | NULLABLE | FLOAT | 交通状況を考慮しないルートの所要時間 |
| route_geometry | NULLABLE | GEOGRAPHY | 交通状況を考慮したルートのポリライン ジオメトリ |
| speed_reading_intervals | REPEATED | RECORD | ルート全体の交通密度を表す間隔。Routes API の 元の定義 をご覧ください。 |
| speed_reading_intervals.interval_coordinates | REPEATED | GEOGRAPHY | この間隔のジオメトリ |
| speed_reading_intervals.speed | NULLABLE | STRING | この間隔の速度の分類。有効な値: NORMAL、SLOW、TRAFFIC_JAM |
テーブルの動作とファクト
- テーブルは日単位でパーティション分割され、各パーティションに 60 日の有効期限が設定されています。
- テーブルは 1 時間ごとに更新され、最新の交通データがバッチで書き込まれます。
- 道路選択 API で新しいルートを作成したら、このテーブルでデータが利用可能になるまで最大 1 時間お待ちください。
- 道路選択 API からルートを削除すると、そのルートの新しいデータはこのテーブルに書き込まれません。ただし、有効期限が切れるまで過去のデータは残ります。
routes_status テーブル
このテーブルには、選択したルートのメタデータとステータス情報が含まれています。すべてのルートとステータスを簡単に確認できるようにすることを目的としています。他の 2 つのテーブルと結合して、データをフィルタできます。BigQuery のスキーマは次のとおりです。
| 名前 | モード | タイプ | 説明 |
|---|---|---|---|
| selected_route_id | NULLABLE | STRING | ルートの selected_route_id |
| display_name | NULLABLE | STRING | ルートの表示名 |
| status* | NULLABLE | STRING | ステータス ルートの |
| validation_error | NULLABLE | STRING | ルートの検証エラー |
| low_road_usage_start_time | NULLABLE | TIMESTAMP | 再検証中にルートで道路の使用量が少ないことが初めて確認された時刻。VALIDATION_ERROR_LOW_ROAD_USAGE に関連付けられています。 |
| route_attributes | NULLABLE | STRING | 選択したルートのカスタム属性 |
*このテーブルのルート ステータスは、STATE_ ではなく STATUS_ で始まります。それ以外は道路選択 API と同じです。
テーブルの動作とファクト
- このテーブルには、STATUS_RUNNING または STATUS_INVALID ステータスのルートのみが含まれます。
- ルートのメタデータとステータスは 1 時間ごとに継続的に更新されます。
- 道路選択 API で新しいルートを作成したら、このテーブルでルートが利用可能になるまで最大 1 時間お待ちください。
- 道路選択 API からルートを削除したら、選択したルートがこのテーブルから削除されるまで最大 1 時間お待ちください。