Câu hỏi thường gặp về Isochrones API

Làm cách nào để tính toán đường đẳng thời "đi làm" theo chiều đến (di chuyển đến một điểm đến) so với đường đẳng thời theo chiều đi (di chuyển từ một điểm xuất phát)?

Cả phép tính chiều đi và chiều về đều được hỗ trợ trong API phiên bản 1 bằng cách sử dụng tham số travelDirection (travel_direction):

  • FROM (Chiều đi): Tính toán khu vực có thể tiếp cận from điểm xuất phát trong giới hạn thời gian đã chỉ định. Lớp này phù hợp với các trường hợp sử dụng như khu vực giao hàng hoặc phạm vi cung cấp dịch vụ.

  • TO (Đến): Tính toán khu vực mà bạn có thể di chuyển to điểm xuất phát trong giới hạn thời gian đã chỉ định. Điều này phù hợp với các ứng dụng như tính năng đi làm hoặc xác định vùng lưu vực xung quanh văn phòng trung tâm hoặc trung tâm phương tiện công cộng.

Bốn phương tiện di chuyển (DRIVE, TWO_WHEELER, BICYCLE và WALK) khác nhau như thế nào?

Mỗi phương thức sử dụng các quy tắc truy cập mạng đường bộ, chi phí rẽ và mô hình tốc độ riêng:

  • DRIVE: Đi qua các đường có thể lái xe bằng cách sử dụng tốc độ đã đăng hoặc tốc độ dòng tự do hoặc tốc độ giao thông trực tiếp (TRAFFIC_AWARE), tối đa 3.600 giây (60 phút).
  • TWO_WHEELER: Đi qua những con đường mà xe hai bánh có động cơ có thể đi được, với tốc độ mô hình hoá thấp hơn DRIVE trên đường cao tốc và tuyến đường TRAFFIC_AWARE không bắt buộc,tối đa 3.600 giây (60 phút). Do đó, đường đẳng thời TWO_WHEELER lớn hơn BICYCLE nhưng nhỏ hơn DRIVE dọc theo đường cao tốc.
  • BICYCLE: Đi qua các đường phố, làn đường dành cho xe đạp và đường mòn mà xe đạp có thể đi qua, với tốc độ được điều chỉnh theo loại đường và độ dốc (không bao gồm đường cao tốc và đường cao tốc), tối đa 7.200 giây (120 phút).
  • WALK: Đi qua vỉa hè, đường mòn và đường phố dành cho người đi bộ với tốc độ đi bộ được điều chỉnh theo độ dốc (bỏ qua các quy định hạn chế về phương tiện một chiều), tối đa 7.200 giây (120 phút).

Isochrones API có bao gồm phà hoặc đường vượt sông không?

Không. API Isochrones chỉ đi qua các kết nối đường, cầu, đường hầm và lối đi. Tuyến phà và tuyến đường thuỷ không được tính vào tất cả các phương tiện di chuyển. Các đảo hoặc bán đảo chỉ kết nối bằng phà sẽ không được đưa vào một đường đẳng thời được tạo từ đất liền.

Đôi khi, đa giác được trả về trông có vẻ thô hoặc có các cạnh lởm chởm, đặc biệt là trong thời gian dài hơn. Tại sao mức độ chi tiết lại thay đổi?

API Isochrones tự động điều chỉnh độ phân giải của lưới tính toán không gian dựa trên travel_duration và travel_mode được yêu cầu:

  • Thời lượng ngắn hơn: Sử dụng lưới có độ phân giải cao, được tinh chỉnh kỹ lưỡng vì tổng diện tích nhỏ, dẫn đến ranh giới chi tiết.
  • Thời lượng dài hơn: Chuyển sang lưới thô hơn, có độ phân giải thấp hơn để bao phủ khu vực địa lý rộng lớn một cách hiệu quả mà không gây ra độ trễ nghiêm trọng.

Bạn có thể đặt polygon_fidelity không bắt buộc thành HIGH, MEDIUM hoặc LOW nếu bạn cần một mức độ chi tiết cụ thể, nhất quán bất kể thời lượng.

Tại sao việc yêu cầu đường đẳng thời cho một toạ độ bên trong công viên, hồ hoặc khu công nghiệp lớn đôi khi lại trả về lỗi "Không tìm thấy"?

Isochrones API tính toán thời gian di chuyển bằng cách sử dụng đường và lối đi. API phải "gắn" điểm vào đoạn đường tương thích gần nhất trước khi bắt đầu tính toán nếu toạ độ điểm xuất phát mà bạn yêu cầu không nằm trên một đường được nhận dạng.

Mỗi phương thức di chuyển có khoảng cách bám dính tối đa khoảng 200 mét trở xuống. WALK và BICYCLE sử dụng khoảng cách ngắn hơn DRIVE và TWO_WHEELER, còn DRIVE và TWO_WHEELER bỏ qua đường chỉ dành cho người đi bộ.

Nếu toạ độ gốc của bạn nằm xa một đoạn đường hợp lệ, tương thích với chế độ hơn khoảng cách này, thì việc chụp nhanh sẽ không thành công và API sẽ trả về lỗi NOT_FOUND. Để giải quyết vấn đề này, hãy đảm bảo toạ độ của bạn nằm gần một đường phố hoặc lối đi công cộng.

Tại sao tôi gặp lỗi khi yêu cầu tuyến đường đi bộ hoặc đi xe đạp có thông tin về tình hình giao thông?

Tình trạng giao thông trực tiếp (TRAFFIC_AWARE) được hỗ trợ cho các phương thức di chuyển DRIVE và TWO_WHEELER. Nếu bạn cố gắng yêu cầu một đường đẳng thời cho WALK hoặc BICYCLE khi routingPreference được đặt thành TRAFFIC_AWARE, thì API sẽ trả về lỗi 400 INVALID_ARGUMENT.

Khi tôi kết xuất phản hồi GeoJSON trên bản đồ, hình dạng hiển thị không đúng vị trí, bị méo hoặc không kết xuất được. Nguyên nhân gây ra vấn đề này là gì?

Nguyên nhân hầu như luôn là do thứ tự toạ độ không khớp.

Theo tiêu chuẩn GeoJSON (RFC 7946), Isochrones API trả về toạ độ theo thứ tự [longitude, latitude]. Tuy nhiên, nhiều SDK bản đồ và đối tượng hình học tuỳ chỉnh yêu cầu toạ độ theo thứ tự [latitude, longitude].

Nếu bản đồ hiển thị không chính xác, hãy kiểm tra cách SDK bản đồ xử lý GeoJSON:

  • API JavaScript của Google Maps: Nếu bạn đang sử dụng Lớp dữ liệu (map.data.addGeoJson()), thì thứ tự này sẽ được xử lý theo cách gốc và bạn không cần làm gì cả.
  • Đối tượng tuỳ chỉnh hoặc SDK khác: Nếu đang phân tích cú pháp phản hồi theo cách thủ công thành đối tượng LatLng, bạn phải lặp lại các toạ độ trong tải trọng GeoJSON và chuyển đổi giá trị [lng, lat] thành cặp [lat, lng] trước khi kết xuất.

Tại sao có "lỗ" rỗng bên trong đa giác đẳng thời của tôi và tôi có thể lấy hình dạng đặc không?

Các lỗ hổng thể hiện những khu vực không có đường đi trong giới hạn thời gian. Điều này thường xảy ra ở những khu vực có rừng lớn, vùng nước, sân bay hoặc khu vực tư nhân mà xe cộ hoặc người đi bộ không thể di chuyển.

API v1 bên ngoài không hiển thị tham số để tự động xoá lỗ. Nếu ứng dụng của bạn yêu cầu ranh giới liền mạch, chẳng hạn như để thực hiện kiểm tra vùng chứa điểm trong đa giác, bạn có thể:

  • Đặt tham số polygon_fidelity thành MEDIUM hoặc LOW để khuyến khích thuật toán khái quát hoá và hợp nhất các khoảng trống nội bộ này.
  • Sử dụng thư viện GIS phía máy khách (chẳng hạn như Turf.js) để phân tích cú pháp GeoJSON và chỉ trích xuất vòng toạ độ đầu tiên (vỏ ngoài), loại bỏ mọi vòng bên trong tiếp theo (lỗ).

Tôi có nên bật tuỳ chọn enable_smoothing để phân tích không gian phụ trợ không?

Không. Tham số enable_smoothing chỉ được thiết kế cho mục đích thẩm mỹ trực quan. Lớp này làm tròn các góc nhọn của lưới tính toán cơ bản để hình dạng trông tự nhiên trên bản đồ.

Bạn không nên làm mượt để phân tích không gian chính xác vì việc này sẽ làm thay đổi các đỉnh và dịch chuyển ranh giới một chút. Đối với các phép tính phụ trợ, truy vấn cơ sở dữ liệu hoặc kiểm tra điểm trong đa giác, hãy đặt enable_smoothing thành false để đảm bảo bạn đang sử dụng ranh giới được tính toán chính xác về mặt toán học.