道路管理洞察:路線選擇指南

圖片

本文說明如何使用 Road Selection API,為道路管理洞察 (RMI) 產品定義 SelectedRoutes 的最佳做法。正確定義 SelectedRoutes 是最重要的一步,可確保您收到要監控路段的準確可靠流量資料。如需完整的技術總覽,請參閱官方的 Road Selection API 說明文件

建立 SelectedRoute 的核心原則

定義要監控的 SelectedRoute 時,請遵守下列原則,確保 SelectedRoute 的準確性及資料有效性。

1. 適用於路側

SelectedRoute 應代表單一旅行方向。如果是分隔式高速公路或有中央分隔帶的道路,您應為每個方向建立個別的 SelectedRoute 物件 (例如,一個用於北向,一個用於南向)。請確保起點、目的地和所有中途停靠點都位於道路的正確側,以便監控所需方向。如果起點或目的地位於分隔式高速公路的錯誤側,可能會導致系統選取錯誤的路線或發生資料錯誤。

2. 處理多層道路和天橋

在多層的複雜道路上 (例如堆疊式高速公路、天橋、複雜的交流道),單一緯度和經度配對可能不夠明確,導致路線「對齊」到錯誤的層級。為避免這種情況,使用中途航點,引導路線前往正確的路段和層級。新增一或多個途經點,確保路線符合你的確切意圖。

3. 定義有效的起點和終點

SelectedRoute 不得在隧道內開始或結束。SelectedRoute 的起點和終點應位於室外。系統支援穿越通道的 SelectedRoutes,但監控區隔本身無法在通道內開始或結束。

圖片

4. 定義適當的路徑長度

SelectedRoute 具有彈性,可定義於各種規模:

  • 短路線:SelectedRoute 可以小至單一城市街區,這對於都會區的精細分析很有幫助。
  • 一致的路徑:您可以定義等距的 SelectedRoutes (例如每 0.5 英里),確保報表資料一致。
  • 長路線:SelectedRoute 可以涵蓋長而連續的路段。非常適合監控整個高速公路走廊,或重要路口之間的主要幹道。

請選擇最符合監控和分析需求的 SelectedRoute 長度。

5. 識別有垂直分隔的道路路段 (隧道、高架道路、橋梁等)

使用經緯度座標定義路段時,請務必考量多個路段佔用相同二維地理空間,但垂直分隔的狀況。這類情況通常發生在隧道、高架道路、天橋和橋樑等結構。如果只依據經緯度,而不考慮海拔高度,可能會導致「SelectedRoute」選取和導航不準確。舉例來說,如果道路通過隧道,其上方緯度和經度會與上方路段相同。同樣地,高架道路或橋樑會與下方的道路共用水平座標。如果無法區分這些垂直堆疊的區隔,可能會導致路徑系統誤將流量導向較低層級的道路,而非較高層級的道路,反之亦然。

以波士頓的 42.362347、-71.055935 為例,當地有一條名為「大挖掘」的巨大隧道。

圖片

如果我們在道路上放置途中的航點,即使是地理座標的些微誤差,都可能導致路徑計算結果大相逕庭。航點位置的敏感度是 SelectedRoute 選取演算法的關鍵因素。

舉例來說,假設航點一開始是設在隧道內。如果這個中途點的位置稍有調整,移至鄰近的聯外道路,即使經緯度座標幾乎相同,路線引擎也可能會產生完全不同的路線。這項現象凸顯了精確輸入中途點的重要性,以及路線最佳化所涉及的複雜性,尤其是在道路網路和地理特徵複雜的區域。

圖片

圖片

6.並非所有道路都能追蹤

SelectedRoute 可能無法隨時追蹤

  • 超出註冊「管轄區」
  • 「道路實用性」偏低
    • 這可能會導致追蹤能力隨時間改變

驗證會以非同步方式執行 ⇒ 檢查已註冊的 SelectedRoutes 是否都已通過這項驗證

SelectedRoute 定義的最佳做法

請按照下列最佳做法,提升 SelectedRoute 定義和相關資料的品質。

使用中繼路線控點 (中點)

即使是看似簡單的短途 SelectedRoutes,也強烈建議至少加入一個中途停靠點。

  • 為什麼?
    • 路線指引:確保 SelectedRoute 遵循您想要的特定路線,特別是起點和目的地之間有替代道路時。
    • 啟用迴圈:如要正確表示迴圈或「來回」SelectedRoutes,其中起點和目的地相同,就必須啟用這項功能。
    • 提升繞道偵測功能:提供的航點越多,就越容易偵測及標記流量可能偏離預期 SelectedRoute 的資料點。
  • 如何進行?
    • 您可以使用地理空間函式,以程式輔助方式找出已知 SelectedRoute 的中點。
    • 範例 (BigQuery):使用 ST_LINEINTERPOLATEPOINT 函式。
    • 範例 (JavaScript):使用 Turf.js 程式庫的 along 函式。

比對外部系統的路徑

如果您從外部 GIS 或以不同路網建構的系統匯入路線資料,座標可能無法與 Google 路網完全對齊。這可能會導致「非預期的路線」。

  • 修正方式:
    1. 檢查道路兩側:首先,請確認出發地和起點位於道路的正確側。
    2. 道路對齊:使用 Roads API v2 matchPath 方法,將現有路線資料對齊 Google 的道路網路。
    3. 手動調整及重新繪製:在工具中手動調整航點,使其與 Google 的道路相符。接著,使用 Routes API 的 computeRoute 方法 (將流量設為「不瞭解」),產生沿著 Google 網路的乾淨折線。
    4. 追蹤:萬不得已時,請在 GIS 工具中將資料疊加在 Google 的道路網路上,然後手動追蹤路線,建立新的途經點。

資料清理和驗證

您在 BigQuery 中收到的資料會反映實際情況。您應套用清除步驟,篩除無法代表核心 SelectedRoute 的資料。

處理繞道路線

Routes API (RMI 的幕後推手) 一律會嘗試傳回有效路線。如果預期的 SelectedRoute 遭到封鎖或嚴重壅塞,API 可能會傳回繞道路線,並偏離您定義的中間途經點。舉例來說,如果 SelectedRoute 指定的路線是從 A -> B -> C,繞道可能會導致系統傳回直接從 A -> C 的路線。

舉例來說,如果我們繪製這條路線: https://www.google.com/maps/dir/OR-213,+Oregon+City,+OR+97045/Caufield,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/643+OR-213,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/Oregon+City,+OR+97045/Washington+Dr,+Oregon+City,+OR+97045/@45.3754391,-122.5822044,15.2z/data=!4m50!4m49!1m5!1m1!1s0x549570b9f466b4a1:0x6390dd57f70701fd!2m2!1d-122.5787!2d45.3231933!1m5!1m1!1s0x549570ca19ded1b3:0xd28eaf8da19c4509!2m2!1d-122.5756369!2d45.3303343!1m5!1m1!1s0x549576c6b4992137:0xb6ed1e1848a8e2a5!2m2!1d-122.5841289!2d45.3640919!1m5!1m1!1s0x549576c0c48ee6f1:0x86497e036c5dd444!2m2!1d-122.5850086!2d45.3662193!1m5!1m1!1s0x549576bfbca6fa93:0xf6b573219354d3f!2m2!1d-122.5851045!2d45.3696112!1m5!1m1!1s0x549576be3782e5db:0xd0ea93d91e8a0792!2m2!1d-122.5857424!2d45.371047!1m5!1m1!1s0x5495769635216053:0x150f4a4f811b98d6!2m2!1d-122.5870571!2d45.3752342!1m5!1m1!1s0x54957697b928b269:0x2b114f280e6ab0f0!2m2!1d-122.5875209!2d45.3760557!3e0?entry=ttu&g_ep=EgoyMDI1MTAxMy4wIKXMDSoASAFQAw%3D%3D 我們可以看到發生了巨大的繞道,這可能是因為某些道路狀況, 但如果沒有仔細修正,可能會導致資料收集錯誤

圖片

對於 RMI 而言,這些繞道記錄的用處不大,因為這些記錄並未代表您監控的特定 SelectedRoute。

  • 行動:請勿只刪除這些資料列,您應標記這些路段以供分析,瞭解發生繞道情況的時間和原因。
  • 如何標記繞道:您可以透過兩種主要方法,以程式輔助方式找出繞道:
    1. 路線控點不符:檢查傳回的路線幾何圖形是否未包含所有指定的中途路線控點。
    2. 距離差異:檢查傳回路徑的 distance 是否與 SelectedRoute 的預期距離有顯著差異。常見的門檻是 5% 的差異。
  • BigQuery 範例:標記繞路:您可以將 SelectedRoutes 資料表 (內含預期距離) 與 RouteResponses 資料表聯結,並使用 CASE 陳述式建立標記。

處理「MultiLineString」幾何圖形

BigQuery 的 GEOGRAPHY 資料類型有項限制:無法儲存與自身重疊的單一 LineString (例如迴轉、因繞道而重複的路徑)。

  • 症狀:發生這種情況時,BigQuery 會將幾何圖形儲存為 MultiLineString,且路徑可能缺少部分路段。
  • 行動:您應從主要分析中篩除這些記錄。
    1. BigQuery 篩選器:使用 WHERE ST_GEOMETRYTYPE(route_geometry) != "ST_MultiLineString"
  • 解決方法:
    1. 如果重疊是由繞路所致,則可按照上述方式篩除記錄。
    2. 如果預期的 SelectedRoute 包含重疊部分,您應將 SelectedRoute 分成兩個以上的獨立 SelectedRoute 物件,重新定義 SelectedRoute。

時區轉換

RMI BigQuery 匯出資料中的所有時間戳記資料,均以世界標準時間 (UTC) 提供。如要以當地時區製作報表或進行分析,請轉換這些時間戳記。

  • BigQuery 時間轉換範例:使用 DATETIMETIMESTAMP 函式,將世界標準時間時間戳記轉換為特定當地時區,例如「America/Los_Angeles」。

結論

只要遵循本指南的最佳做法,就能確保 SelectedRoute 定義準確無誤,進而從 Roads Management Insights 產品取得可靠且實用的交通資料。正確定義路線、處理複雜的道路幾何形狀,以及驗證產生的資料,都是充分發揮 RMI 潛力,滿足道路管理需求的關鍵步驟。

作者

Sarthak Gangopadhyay:Google 地圖開發人員關係 Naoya Moritani:Google 地圖開發人員關係