Kiến trúc hệ thống tìm đường mới

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát triển thuật toán tìm đường cho nền tảng cung cấp dịch vụ địa chỉ việt nam​ (Trang 36 - 39)

Xây dựng API dẫn đường mới cho VMap: - Ngôn ngữ sử dụng: python

- Thư viện: flask, json, requests, polyline, pickle, sklearn

API dẫn đường mới sẽ có đường dẫn và cấu trúc truy vấn tương tự với dịch vụ hiện có của VMap. Các trường cụ thể được thể hiện ở Bảng 3.3. API khi có yêu cầu gửi lên sẽ sử dụng thư viện request để lấy kết quả chỉ đường từ dịch vụ chỉ đường hiện có của VMap. Dữ liệu đường đi của kết quả chỉ đường này sẽ được truyền vào mô hình sẽ được trình bày bên dưới, đã được lưu lại bằng cách sử dụng thư viện pickle, để tính toán lại ước lượng thời gian di chuyển. Để thay đổi giá trị ước lượng thời gian di chuyển của kết quả trả về, ta cần quan tâm tới 2 thông số là points_encodedinstructions. Nếu người dùng sử dụng thông số points_encoded=”true”, API sẽ sử dụng thư viện polyline để giải mã dữ liệu đường đi đã được mã hóa, truyền dữ liệu đường đi vào mô hình. Nếu

tìm đường của dịch vụ chỉ đường VMap và thêm một thông số time_in_traffic tương ứng với mỗi thông số time của kết quả.

Kết quả trả về dưới dạng JSON, có cấu trúc như ở Bảng 3.4.

Bảng 3.3. Các thông số truy vấn có thể gửi lên

Thông số Miêu tả

point (bắt buộc) Điểm đầu và điểm cuối mà người dung muốn tìm đường. Định dạng [vĩ độ, kinh độ]

vehicle Phương tiện muốn tìm đường. Bao gồm: “car” (oto), “motobike” (xe máy), “bike” (xe đạp) và “foot” (đi bộ)

locale Mặc định: “vn”

Ngôn ngữ hướng dẫn trong kết quả trả về. Ví dụ: “en” ho tiếng Anh hoặc “de” cho tiếng Đức

elevation Mặc định: “false”

Nếu là “true”, thuật toán sẽ ước tính chiều dài của quãng đường bằng cách sử dụng thêm mô hình độ cao số.

details Tham số tùy chọn để truy xuất chi tiết đường dẫn. Bạn có thể yêu cầu chi tiết bổ sung cho tuyến đường: “street_name”, “time”, “distance”, “max_speed”, “toll”, “road_class”, “road_class_link”, “road_access”, “road_environment”, “lanes”, và “surface”

instructions Mặc định: “true”

Trả về các hướng dẫn đi trên tuyến đường

points_encoded Mặc định: “true”

Cho phép thay đổi mã hóa dữ liệu vị trí trong phản hồi. Mặc định là mã hóa polyline, nhỏ gọn nhưng yêu cầu mã máy khách đặc biệt để giải nén. Đặt tham số này thành “false” để chuyển mã hóa sang các cặp tọa độ đơn giản như [kinh độ, vĩ độ] hoặc [kinh độ, vĩ độ, độ cao].

ch.disable Mặc định: “false”

Sử dụng tham số này kết hợp với một hoặc nhiều tham số từ bên dưới.

algorithm Mặc định: “round_trip”

Thay đổi thành “alternative_route” khi bạn muốn trả về nhiều hơn 1 đường đi

alternative_route.max_paths Mặc định: “2”

Nếu algorithm = “alternative_route”, tham số này đặt số lượng đường dẫn tối đa sẽ được tính toán. Tăng có thể dẫn đến các lựa chọn thay thế kém hơn.

Bảng 3.4. Các thông số truy vấn có thể gửi lên

Thông tin Miêu tả

paths Mảng đối tượng (RouteResponsePath)

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát triển thuật toán tìm đường cho nền tảng cung cấp dịch vụ địa chỉ việt nam​ (Trang 36 - 39)

Tải bản đầy đủ (PDF)

(53 trang)