累积道路数据以时序数据形式提供,其中包括:
- 行程时长
- 速度读取间隔 (SRI)
- 路线几何图形
设置 BigQuery
您必须先设置 Google Cloud 云项目并订阅数据交换,然后才能在 BigQuery 中访问道路数据。
前提条件
确保您的 Google Cloud 项目和账号具有以下配置:
- 启用 BigQuery API。如需查看相关说明,请参阅使用 Google Cloud 控制台查询公共数据集。
- 启用 Analytics Hub API。请参阅 Analytics Hub API。
- 授予必要的 IAM 角色。确保您的账号具有以下角色,以便执行订阅者任务和创建数据集:
- Analytics Hub Subscriber
(
roles/analyticshub.subscriber)- BigQuery User
(
roles/bigquery.user)
- BigQuery User
(
订阅数据交换
您的道路数据会通过 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 | 路线的可感知路况时长。当 has_road_closure 为 true 时,省略 (NULL)。 |
| static_duration_in_seconds | NULLABLE | FLOAT | 路线的不考虑路况的时长 |
| route_geometry | NULLABLE | 地理位置 | 路线的感知路况的多段线几何图形 |
| road_segment_ids | REPEATED | STRING | 沿路线的路段,表示为地点 ID |
| has_road_closure | NULLABLE | BOOLEAN | 路线上是否有完全封路。当 true 时,duration_in_seconds 会被省略 (NULL),因为路线无法通行。NULL 值表示封路信息不确定。 |
表格行为和事实
- 该表按天分区,每个分区的有效期为 10 年。
- 该表每小时更新一次,其中包含批量写入的最新流量数据。
- 在 Roads Selection API 中创建新路线后,预计最多需要等待 1 小时才能在此表中看到可用数据。
- 从 Roads Selection API 中删除路线后,系统不会再向此表中写入该路线的新数据。不过,历史数据会保留到过期为止。
- 沿路线的路段遵循拓扑顺序,并且始终保持连接。
has_road_closure标志与 Google 地图上的封路状态一致。
recent_roads_data 个表
注意:只有当您的合同包含实时道路数据时,此表才可用。
与 historical_travel_time 不同,此表还包含基于偏移量的测速区间 (speed_reading_offsets) 和基于坐标的旧版测速区间 (speed_reading_intervals)。以下是 BigQuery 中的架构:
| 名称 | 模式 | 类型 | 说明 |
|---|---|---|---|
| selected_route_id | NULLABLE | STRING | selected_route_id 的路线 |
| display_name | NULLABLE | STRING | 路线的显示名称 |
| record_time | NULLABLE | TIMESTAMP | 计算路线数据时的时间戳 |
| duration_in_seconds | NULLABLE | FLOAT | 路线的可感知路况时长。当 has_road_closure 为 true 时,省略 (NULL)。 |
| static_duration_in_seconds | NULLABLE | FLOAT | 路线的不考虑路况的时长 |
| route_geometry | NULLABLE | 地理位置 | 路线的感知路况的多段线几何图形 |
| speed_reading_intervals | REPEATED | RECORD | 基于坐标的旧版速度读取间隔。2026 年 11 月 9 日当天或之后,系统可能会停止填充此字段。请改用 speed_reading_offsets。请参阅速度读取间隔。 |
| speed_reading_intervals.interval_coordinates | REPEATED | 地理位置 | 旧数据流。可能会在 2026 年 11 月 9 日当天或之后停止填充。请改用 speed_reading_offsets。此时间间隔的几何图形 |
| speed_reading_intervals.speed | NULLABLE | STRING | 旧数据流。可能会在 2026 年 11 月 9 日当天或之后停止填充。请改用 speed_reading_offsets。此时间间隔的速度分类。可能的值:NORMAL、SLOW、TRAFFIC_JAM。在此旧版字段中,严重交通拥堵(深红色)也会报告为 TRAFFIC_JAM;TRAFFIC_JAM_HEAVY 绝不会使用。 |
| road_segment_ids | REPEATED | STRING | 沿路线的路段,表示为地点 ID |
| speed_reading_offsets | REPEATED | RECORD | 基于偏移量的速度读取间隔,表示沿路线的交通密度;每个间隔由距路线起点的距离偏移量分隔。当 has_road_closure 为 true 时省略。请参阅速度读取间隔。 |
| speed_reading_offsets.start_offset | NULLABLE | INTEGER | 从路线起点到区间起点(含)的距离偏移量(以米为单位) |
| speed_reading_offsets.end_offset | NULLABLE | INTEGER | 从路线起点到区间终点的距离偏移量(以米为单位,不含边界值;等于后续区间的 start_offset) |
| speed_reading_offsets.speed | NULLABLE | STRING | 此时间间隔的速度分类,与 Google 地图路况图层中的颜色一致。可能的值:NORMAL(绿色)、SLOW(黄色)、TRAFFIC_JAM(红色)、TRAFFIC_JAM_HEAVY(深红色,自 2026 年 10 月 8 日起提供) |
| has_road_closure | NULLABLE | BOOLEAN | 路线上是否有完全封路。如果设为 true,则会省略 duration_in_seconds 和 speed_reading_offsets,因为路线无法通行。NULL 值表示封路信息不确定。 |
表格行为和事实
- 该表按天分区,每个分区的到期时间设置为 60 天。
- 该表每小时更新一次,其中包含批量写入的最新流量数据。
- 在 Roads Selection API 中创建新路线后,预计最多需要等待 1 小时才能在此表中看到可用数据。
- 从 Roads Selection API 中删除路线后,系统将不会再向此表中写入该路线的新数据。不过,历史数据会保留到过期为止。
- 沿路线的路段遵循拓扑顺序,并且始终保持连接。
- 系统会为 2026 年 10 月 8 日当天或之后记录的行填充
speed_reading_offsets列。前面的行包含空数组。 - 旧版
speed_reading_intervals列可能会在 2026 年 11 月 9 日或之后停止填充。请改用speed_reading_offsets。 has_road_closure标志与 Google 地图上的封路状态一致。
routes_status 个表
该表包含所选路线的元数据和状态信息。它旨在提供一种更简单的方法来查看所有路由和状态。它可以与其他两个表联接,以进行数据过滤。以下是 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 | 所选路线的自定义属性 |
| dynamic_routing | NULLABLE | BOOLEAN | 指示路线是动态 (true) 还是固定 (false)。请参阅 dynamicRouting。 |
| 源 | NULLABLE | 地理位置 | 路线的起点航点 |
| 目标账号 | NULLABLE | 地理位置 | 路线的目的地航点 |
| 中间体 | REPEATED | 地理位置 | 路线的中间航点 |
| static_route_geometry | NULLABLE | 地理位置 | 根据航点计算出的静态路线的多段线几何图形(不考虑实时路况) |
| road_segment_ids | REPEATED | STRING | 沿静态路线(在不考虑实时路况的情况下计算得出)的路段,以地点 ID 表示 |
表格行为和事实
- 此表中仅包含状态为 STATUS_RUNNING 或 STATUS_INVALID 的路由。
- 路线元数据和状态每小时更新一次,不间断。
- 在 Roads Selection API 中创建新路线后,您可能需要等待最多 1 小时才能在此表中看到该路线。
- 从 Roads Selection API 中删除路线后,预计最多需要等待 1 小时,所选路线才会从此表中移除。
- 对于固定路线 (
dynamic_routing: false),road_segment_ids中的地点 ID 会自动更新,以反映 Google 道路网络的变化,同时仍代表同一路线。对于动态路由 (dynamic_routing: true),road_segment_ids不会更新。