Tìm đường dẫn bản đồ tương tự


9

Tôi đang tìm kiếm một thuật toán, khi được đưa ra một tuyến đường cụ thể trên bản đồ với các thuộc tính như nghiêng / khoảng cách / hình dạng / v.v., có thể tìm thấy một tuyến đường tương tự (về các thuộc tính) nhưng bắt đầu tại một điểm khác hoặc ở một khu vực khác trên toàn cầu.

Rõ ràng trong hầu hết các trường hợp sẽ không thể tìm thấy một sự phù hợp hoàn hảo nhưng tôi đang tìm kiếm một loại hệ thống "phù hợp nhất" với phương pháp đo độ tương tự cũng lý tưởng.

Tôi đã thử tìm kiếm, nhưng hầu hết các truy vấn của tôi đều gặp phải vấn đề Khớp bản đồ hoặc tương tự tuyến đường cho các điểm GPS trên cùng một đường. Tôi có thể không biết thuật ngữ chính xác! Có một tên cho vấn đề này? Thuật toán nào tôi có thể sử dụng để giải quyết điều này?


1
Các "tuyến đường" có bị ràng buộc với mạng (đường / đường / v.v.) không? Làm thế nào để bạn ngăn thuật toán quyết định tuyến gần nhất là tuyến nguồn nhưng chỉ ngắn hơn một chút / dài hơn?
Spainedman

1
"Tương tự về các thuộc tính" có ý nghĩa nhưng nó mơ hồ đến mức nó cho phép một loạt các giải pháp có thể. Bạn có thể đặc sắc hơn không?
whuber

@Spacesman Có, các tuyến đường bị giới hạn trong mạng lưới đường bộ. Mục đích là đi một tuyến đường từ Trung Quốc và tìm một con đường rất giống gần nhà tôi. Tôi không chắc chắn cách tốt nhất để thực hiện ràng buộc đó.
Chris Foster

@ xin lỗi. Để làm rõ, có độ nghiêng tương tự (trong các khu vực tương tự của tuyến đường) và tổng khoảng cách tương tự là quan trọng nhất.
Chris Foster

Câu trả lời:


6

Kết hợp bản đồ khác với những gì bạn đang tìm kiếm. Mapmatching là cách thích hợp để kết hợp quan sát gps không đúng với mạng đường phố tuyến tính. Câu hỏi của bạn không liên quan gì đến điểm GPS. Bởi vì bạn muốn so sánh mô hình của các tuyến tĩnh (không tạm thời) và tìm các tuyến tương tự. Những gì bạn đang tìm kiếm là tính năng tuyến tính (theo nghĩa của GIS không phải là học máy) phù hợp . Các tài liệu liên quan đến theo dõi GPS là khớp mẫu theo thời gian theo mô hình "Khai thác theo mô hình quỹ đạo (không gian theo thời gian)".

Để biết thêm thông tin, hãy xem chương (Khai thác mô hình quỹ đạo) từ cuốn sách " tính toán với quỹ đạo không gian ". Bạn sẽ nhận được rất nhiều ý tưởng về cách so sánh và độ tương phản (tức là thông qua góc phương vị, độ dài phân đoạn, độ ngoằn ngoèo, đường viền v.v.) các tuyến đường hoặc quỹ đạo khác nhau.


4

Câu hỏi của bạn dựa trên dữ liệu vectơ. Tuy nhiên tôi nghĩ rằng bạn được phục vụ tốt hơn với việc chuyển đổi câu hỏi sang phân tích raster. Làm như vậy bạn cũng sẽ phần nào khái quát hóa câu hỏi của bạn.

Một thuật toán để giải quyết câu hỏi của bạn sẽ như sau:

  1. Rasterize tuyến ban đầu và làm cho mỗi ô mang thông số theo thông số kỹ thuật của bạn (độ nghiêng / khoảng cách / hình dạng / vv). Thực tế là một con đường có mặt cũng là một tham số. Điều này trở thành một danh sách một chiều với n đối tượng -> Routelist (n)

nhập mô tả hình ảnh ở đây

  1. Tìm một khu vực thử nghiệm nơi bạn biết có ít nhất một bản sao của tuyến đường ban đầu của bạn. Rasterize khu vực này với các tham số tương tự như tuyến đường ban đầu của bạn. Đây là raster a.

nhập mô tả hình ảnh ở đây

  1. Bắt đầu với ô 1,1 trong raster a và di chuyển qua toàn bộ raster một cách có trật tự.
  2. Đối với mỗi ô, một hàm được gọi. Hàm này kiểm tra xem ô có tương ứng với trình định tuyến (0) hay không, nếu vậy thì kiểm tra tương tự được thực hiện trên các ô xung quanh. Với thành công, chức năng tiếp tục kiểm tra tế bào để tìm định tuyến (1), v.v. Nếu thành công tất cả các cách để định tuyến (n) tọa độ được lưu trữ như một tuyến đường thay thế trong nội soi thường quy (n)
  3. Lặp lại cho đến khi bạn đạt đến pixel cuối cùng trong raster.

nhập mô tả hình ảnh ở đây

Ở trên, bạn sẽ thấy ba tùy chọn cho các tuyến đường theo các tham số trong thường trình.

Hơn nữa:

  • Các raster mẫu ở trên được đo theo chỉ một tham số. Trong thử thách trong thế giới thực của bạn, một pixel sẽ là sự kết hợp của một vài tham số.
  • Nếu tôi có nhiệm vụ này, tôi sẽ cố gắng viết hàm được đề cập ở trên theo cách đệ quy. Điều này sẽ hiệu quả hơn và giải quyết vấn đề "chuyển hướng" - nơi bạn có một số bản nhạc thay thế có cùng điểm xuất phát.
  • Các ngã rẽ của tuyến đường của bạn không được coi là một vấn đề. Điều này có nghĩa là câu trả lời là một danh sách các pixel được kết nối theo cùng thứ tự với tuyến đường ban đầu của bạn. Xoắn và biến không phải là một vấn đề. Bạn có thể phải viết thuật toán để các tuyến đường tự giao nhau không phải là một phần của giải pháp.
  • Thiết kế thuật toán để bạn có thể đặt các mức dung sai khác nhau cho các tiêu chí đang chơi. Điều này sẽ giúp bạn linh hoạt hơn.
  • Trong cài đặt phẫu thuật, toàn bộ quá trình có thể được thực hiện hiệu quả hơn bằng cách sàng lọc khu vực xuất hiện các pixel theo thông số kỹ thuật của bạn. Nếu họ không ở đó, khu vực khảo sát là một tiêu cực, vì vậy không có lý do để sử dụng thời gian để phân tích khu vực.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.