Roads Management Insights: Hướng dẫn chọn tuyến đường

hình ảnh

Tài liệu này cung cấp các phương pháp hay nhất để xác định SelectedRoutes bằng Road Selection API cho sản phẩm Thông tin chi tiết về việc quản lý đường (RMI). Xác định chính xác SelectedRoutes là bước quan trọng nhất để đảm bảo bạn nhận được dữ liệu giao thông chính xác và đáng tin cậy cho những đoạn đường mà bạn dự định theo dõi. Để biết thông tin tổng quan đầy đủ về kỹ thuật, vui lòng tham khảo tài liệu chính thức về Road Selection API.

Các nguyên tắc cốt lõi khi tạo SelectedRoute

Khi xác định một SelectedRoute để theo dõi, bạn nên tuân thủ các nguyên tắc sau để đảm bảo độ chính xác của SelectedRoute và tính hợp lệ của dữ liệu.

1. Cụ thể cho vị trí Bên đường

SelectedRoute phải đại diện cho một hướng di chuyển duy nhất. Đối với đường cao tốc hoặc đường có dải phân cách, bạn nên tạo các đối tượng SelectedRoute riêng cho từng hướng (ví dụ: một đối tượng cho hướng bắc, một đối tượng cho hướng nam). Đảm bảo điểm xuất phát, điểm đến và mọi điểm dừng chân trung gian đều nằm ở đúng bên đường theo hướng mà bạn muốn theo dõi. Điểm xuất phát hoặc điểm đến nằm ở sai bên của đường cao tốc có dải phân cách có thể dẫn đến việc vô tình chọn tuyến đường hoặc lỗi dữ liệu.

2. Xử lý đường nhiều tầng và cầu vượt

Trên những đường phức tạp có nhiều tầng (ví dụ: đường cao tốc xếp chồng, cầu vượt, nút giao thông phức tạp), một cặp vĩ độ và kinh độ duy nhất có thể không rõ ràng và có thể khiến tuyến đường bị "gắn" vào tầng sai. Để tránh tình trạng này, bạn nên sử dụng các điểm tham chiếu trung gian để hướng tuyến đường đến đúng đoạn đường và cấp độ. Việc thêm một hoặc nhiều điểm tham chiếu sẽ đảm bảo tuyến đường đi theo đúng ý định của bạn.

3. Xác định điểm bắt đầu và điểm kết thúc hợp lệ

SelectedRoute không thể bắt đầu hoặc kết thúc bên trong một đường hầm. Điểm khởi hành và điểm đến cho SelectedRoute phải ở những vị trí ngoài trời. Các SelectedRoutes đi qua đường hầm được hỗ trợ, nhưng bản thân đoạn đường giám sát không thể bắt đầu hoặc kết thúc trong một đường hầm.

hình ảnh

4. Xác định độ dài tuyến đường phù hợp

SelectedRoute có tính linh hoạt và có thể được xác định ở nhiều tỷ lệ:

  • Đường đi ngắn: Một SelectedRoute có thể nhỏ đến mức chỉ là một dãy nhà trong thành phố, điều này hữu ích cho việc phân tích chi tiết ở khu vực đô thị.
  • Tuyến đường đồng nhất: Bạn có thể xác định SelectedRoutes có khoảng cách bằng nhau (ví dụ: cứ 0,5 dặm) để báo cáo nhất quán.
  • Tuyến đường dài: SelectedRoute có thể bao gồm một đoạn đường dài và liên tục. Đây là lựa chọn lý tưởng để giám sát toàn bộ hành lang đường cao tốc hoặc các đường chính giữa các giao lộ quan trọng.

Chọn độ dài SelectedRoute phù hợp nhất với nhu cầu giám sát và phân tích của bạn.

5. Xác định đoạn đường có khoảng cách theo chiều dọc (đường hầm, cầu vượt, cầu, v.v.)

Khi xác định đoạn đường bằng cách sử dụng toạ độ vĩ độ và kinh độ, bạn cần tính đến những trường hợp có nhiều đoạn đường chiếm cùng một không gian địa lý hai chiều nhưng được phân tách theo chiều dọc. Vấn đề này thường xảy ra với các cấu trúc như đường hầm, cầu vượt, cầu và đường. Chỉ dựa vào vĩ độ và kinh độ mà không xem xét độ cao có thể dẫn đến sự không chính xác trong việc chọn và điều hướng SelectedRoute. Ví dụ: một con đường đi qua đường hầm sẽ có cùng vĩ độ và kinh độ trên cao như đoạn đường trên bề mặt phía trên. Tương tự, cầu vượt hoặc cầu sẽ dùng chung toạ độ ngang với đường bên dưới. Việc không phân biệt được các đoạn đường xếp chồng theo chiều dọc này có thể khiến hệ thống định tuyến chuyển hướng lưu lượng truy cập không chính xác đến một con đường ở cấp thấp hơn khi dự định chuyển hướng đến một con đường ở cấp cao hơn hoặc ngược lại.

Trong ví dụ này, tại Boston ở toạ độ 42.362347, -71.055935 có một đường hầm khổng lồ tên là Big Dig.

hình ảnh

Khi chúng ta đặt một điểm tham chiếu trên đường, ngay cả một sai số nhỏ trong toạ độ địa lý chính xác của điểm đó cũng có thể dẫn đến việc tính toán tuyến đường khác biệt đáng kể. Độ nhạy này đối với việc đặt điểm tham chiếu là một yếu tố quan trọng trong các thuật toán lựa chọn SelectedRoute.

Ví dụ: hãy xem xét một tình huống trong đó điểm tham chiếu ban đầu được đặt ngay bên trong một đường hầm. Nếu vị trí của điểm tham chiếu này được điều chỉnh dù chỉ một chút sang đường tiếp cận liền kề, mặc dù có toạ độ vĩ độ và kinh độ gần như giống hệt nhau, thì công cụ định tuyến có thể tạo ra một tuyến đường hoàn toàn khác. Hiện tượng này nhấn mạnh tầm quan trọng của việc nhập điểm tham chiếu chính xác và những điểm phức tạp liên quan đến việc tối ưu hoá tuyến đường, đặc biệt là ở những khu vực có mạng lưới đường bộ và đặc điểm địa lý phức tạp.

hình ảnh

hình ảnh

6.Không phải đường nào cũng có thể theo dõi

Bạn có thể không theo dõi được SelectedRoute trong một số trường hợp

  • Ngoài "Khu vực tài phán" đã đăng ký
  • "Tiện ích đường" ở mức thấp
    • Điều này có thể khiến khả năng theo dõi thay đổi theo thời gian

Xác thực chạy không đồng bộ ⇒ kiểm tra xem tất cả SelectedRoutes đã đăng ký có vượt qua bước này hay không

Các phương pháp hay nhất để xác định SelectedRoute

Hãy làm theo các phương pháp hay nhất này để cải thiện chất lượng của các định nghĩa SelectedRoute và dữ liệu thu được.

Sử dụng điểm tham chiếu trung gian (điểm ở giữa)

Ngay cả đối với SelectedRoutes ngắn và có vẻ đơn giản, bạn nên thêm ít nhất một điểm tham chiếu trung gian.

  • Tại sao?
    • Định tuyến theo hướng dẫn: Đảm bảo SelectedRoute đi theo tuyến đường cụ thể mà bạn muốn, đặc biệt là nếu có các tuyến đường thay thế giữa điểm bắt đầu và điểm đến.
    • Cho phép vòng lặp: Bắt buộc để thể hiện chính xác các vòng lặp hoặc SelectedRoute "khứ hồi" trong đó điểm xuất phát và điểm đến giống nhau.
    • Cải thiện tính năng Phát hiện đường vòng: Bạn cung cấp càng nhiều điểm tham chiếu, thì càng dễ dàng phát hiện và gắn cờ các điểm dữ liệu mà lưu lượng truy cập có thể đã đi lệch khỏi SelectedRoute mà bạn dự định.
  • Cách thực hiện:
    • Bạn có thể tìm thấy điểm giữa dọc theo một SelectedRoute đã biết bằng các hàm không gian địa lý.
    • Ví dụ (BigQuery): Sử dụng hàm ST_LINEINTERPOLATEPOINT.
    • Ví dụ (JavaScript): Sử dụng hàm along trong thư viện Turf.js.

Khớp các tuyến đường từ hệ thống bên ngoài

Nếu bạn đang nhập dữ liệu tuyến đường từ một GIS bên ngoài hoặc một hệ thống được xây dựng trên mạng lưới đường bộ khác, thì toạ độ có thể không hoàn toàn phù hợp với mạng lưới đường bộ của Google. Điều này có thể dẫn đến "các tuyến đường không mong muốn".

  • Cách khắc phục:
    1. Kiểm tra lề đường: Trước tiên, hãy xác thực rằng điểm xuất phát và điểm bắt đầu của bạn nằm ở đúng bên đường.
    2. Căn chỉnh theo đường: Sử dụng phương thức Roads API v2 matchPath để căn chỉnh dữ liệu tuyến đường hiện có theo mạng lưới đường bộ của Google.
    3. Điều chỉnh và vẽ lại theo cách thủ công: Điều chỉnh các điểm tham chiếu theo cách thủ công trong một công cụ để khớp với đường của Google. Sau đó, hãy sử dụng phương thức Routes API computeRoute (với lưu lượng truy cập được đặt thành "không nhận biết") để tạo một đường nhiều đường thẳng rõ ràng tuân theo mạng lưới của Google.
    4. Đánh dấu: Trong trường hợp cuối cùng, hãy phủ dữ liệu của bạn lên mạng lưới đường bộ của Google trong một công cụ GIS và đánh dấu tuyến đường theo cách thủ công để tạo các điểm tham chiếu mới.

Dọn dẹp và xác thực dữ liệu

Dữ liệu bạn nhận được trong BigQuery phản ánh các điều kiện thực tế. Bạn nên áp dụng các bước dọn dẹp để lọc ra dữ liệu không đại diện cho SelectedRoute cốt lõi của bạn.

Xử lý đường vòng

Routes API (cung cấp năng lượng cho RMI) sẽ luôn cố gắng trả về một tuyến đường hợp lệ. Nếu SelectedRoute mà bạn dự định đi bị chặn hoặc tắc nghẽn nghiêm trọng, thì API có thể trả về một tuyến đường đi đường vòng và đi lệch khỏi các điểm tham chiếu trung gian mà bạn đã xác định. Ví dụ: nếu SelectedRoute của bạn chỉ định một tuyến đường từ A -> B -> C, thì đường vòng có thể dẫn đến một tuyến đường được trả về đi thẳng từ A -> C.

Ví dụ: nếu chúng ta vẽ tuyến đường này: 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 Chúng ta có thể thấy một đường vòng rất lớn có thể là do một số điều kiện đường bộ, nhưng nếu không được điều chỉnh cẩn thận, điều này có thể dẫn đến việc thu thập dữ liệu không chính xác

hình ảnh

Đối với RMI, những bản ghi bị chuyển hướng này ít hữu ích hơn vì chúng không đại diện cho SelectedRoute cụ thể mà bạn đang giám sát.

  • Hành động: Đừng chỉ xoá các hàng này. Bạn nên gắn cờ những đoạn đường này để phân tích nhằm hiểu rõ thời điểm và lý do xảy ra tình trạng đi đường vòng.
  • Cách gắn cờ đường vòng: Có hai phương pháp chính để xác định đường vòng theo phương thức lập trình:
    1. Điểm tham chiếu không khớp: Kiểm tra xem hình học tuyến đường được trả về có bao gồm tất cả các điểm tham chiếu trung gian mà bạn đã chỉ định hay không.
    2. Chênh lệch về khoảng cách: Kiểm tra xem distance của tuyến đường được trả về có khác biệt đáng kể so với khoảng cách dự kiến của SelectedRoute hay không. Ngưỡng phổ biến là mức chênh lệch 5%.
  • Ví dụ về BigQuery để gắn cờ đường vòng: Bạn có thể kết hợp bảng SelectedRoutes (chứa khoảng cách dự kiến) với bảng RouteResponses và sử dụng câu lệnh CASE để tạo cờ.

Xử lý các hình học "MultiLineString"

Loại dữ liệu GEOGRAPHY của BigQuery có một hạn chế: không thể lưu trữ một LineString duy nhất trùng lặp chính nó (ví dụ: đường vòng hình chữ U, tuyến đường quay ngược lại do đường vòng).

  • Triệu chứng: Khi điều này xảy ra, BigQuery sẽ lưu hình học dưới dạng MultiLineString và một số phần của tuyến đường có thể bị thiếu.
  • Hành động: Bạn nên lọc các bản ghi này khỏi bản phân tích chính.
    1. Bộ lọc BigQuery: Sử dụng WHERE ST_GEOMETRYTYPE(route_geometry) != "ST_MultiLineString"
  • Giải pháp:
    1. Nếu sự trùng lặp là do đường vòng, thì bạn có thể lọc bản ghi như mô tả ở trên.
    2. Nếu SelectedRoute dự kiến của bạn có chứa một phần trùng lặp, bạn nên xác định lại bằng cách chia SelectedRoute thành hai hoặc nhiều đối tượng SelectedRoute riêng biệt.

Chuyển đổi múi giờ

Tất cả dữ liệu dấu thời gian trong tệp xuất BigQuery RMI đều được cung cấp theo Giờ phối hợp quốc tế (UTC). Để báo cáo hoặc phân tích theo múi giờ địa phương, bạn nên chuyển đổi các dấu thời gian này.

  • Ví dụ về BigQuery để chuyển đổi thời gian: Sử dụng các hàm DATETIMETIMESTAMP để chuyển đổi dấu thời gian UTC thành một múi giờ địa phương cụ thể, chẳng hạn như "America/Los_Angeles".

Kết luận

Bằng cách làm theo các phương pháp hay nhất được nêu trong hướng dẫn này, bạn có thể đảm bảo rằng các định nghĩa SelectedRoute của mình chính xác và mạnh mẽ, dẫn đến dữ liệu giao thông đáng tin cậy và hữu ích từ sản phẩm Thông tin chi tiết về quản lý đường bộ. Xác định đúng các tuyến đường, xử lý các hình học đường phức tạp và xác thực dữ liệu thu được là những bước quan trọng để khai thác toàn bộ tiềm năng của RMI cho nhu cầu quản lý đường bộ của bạn.

Tác giả

Sarthak Gangopadhyay: Google Maps Devrel Naoya Moritani: Google Maps Devrel