Cách tốt nhất để thực hiện định tuyến qua các khu vực như bãi đỗ xe là gì?


9

Tôi đang sử dụng OSM2PO để định tuyến cho chỉ đường đi bộ và tôi nhận thấy rất nhiều đường đi bộ OSM không được thiết lập lý tưởng.

Ví dụ, có nhiều lối đi được phân chia theo bãi đỗ xe, rõ ràng là có thể đi bộ, nhưng chúng bị bỏ qua và không được chuyển đổi thành đường, vì vậy bộ định tuyến tin rằng bạn không thể đi qua chúng. Điều này dẫn đến khoảng cách đi bộ dài hơn nhiều so với cần thiết.

Có cách nào thực tế để đối phó với điều này? Tôi đoán vấn đề tương tự xảy ra khi xử lý bất kỳ "khu vực" nào có thể đi bộ được (ví dụ: công viên không có đường đi qua chúng).

Một vấn đề khác là nơi vỉa hè không kết nối với đường. Trong nhiều tình huống, điều này một lần nữa dẫn đến kết quả định tuyến phụ.

OSM có những vấn đề này ở khắp mọi nơi. Nghe có vẻ như là một vấn đề khó khăn, nhưng là một vấn đề phổ biến, vì vậy tôi tự hỏi liệu có ai đã giải quyết vấn đề này một cách thực tế không.

Cảm ơn những suy nghĩ của bạn!

Câu trả lời:


5

Hãy ghi nhớ câu trả lời của Sean (rằng bạn phải tự thêm 'thiếu' pats) cũng như những phần bị thiếu này về mặt kỹ thuật là các phần của biểu đồ đường mà lần lượt chỉ là các đường, đây là cách giải quyết nhanh chóng mà bạn có thể giải quyết sử dụng. Nếu đường đi bộ có một điểm chung với đa giác "có thể đi được", hãy xuất đường viền của đa giác này dưới dạng đường vào biểu đồ đường của bạn (sửa đổi các thuộc tính nếu cần). Vì vậy, đường dẫn sẽ không bị phá vỡ trên biên của đa giác như vậy mà thay vào đó, nó sẽ được ánh xạ dọc theo chu vi của nó.

Bước thứ hai (tùy chọn) là xây dựng đường dẫn trực tiếp qua đa giác. Nếu bạn sẽ thêm thẻ đặc biệt vào các đường viền được xuất (nghĩa là làm cho chúng có thể nhận dạng được), bạn có thể chọn các nút của các đường dẫn thực nằm trên cùng một đường viền đã xuất và tạo một đường thẳng đơn giản từ điểm này sang điểm khác và thêm đường này vào biểu đồ của bạn - bạn sẽ nhận được đường dẫn hư cấu của bạn. Bây giờ bạn có thể xóa các đường viền từ biểu đồ. Tùy thuộc vào phần mềm bạn thích và kỹ năng của bạn, bạn có thể xây dựng các đường dẫn hư cấu với thuật toán này mà không thực sự thêm đường viền vào biểu đồ của mình.


Cảm ơn câu trả lời của bạn. Điểm tốt. Đối với osm2po, có ai có đề xuất về việc thử lớp này không? Tức là trên dữ liệu osm trước khi nó chạm osm2po hoặc trong quá trình xây dựng biểu đồ osm2po ...
DFx

6

Cách thực tế duy nhất là tự thêm các tuyến 'thiếu' dữ liệu. OSM có lẽ không nên đưa bãi đỗ xe vào các tuyến đường đi bộ. Có những vấn đề về trách nhiệm pháp lý với việc thêm các tuyến đường không thực sự, được duy trì đúng cách cho người đi bộ. Một bãi đậu xe, mặc dù có thể đi bộ, có thể nguy hiểm và có thể là tài sản riêng. Bạn sẽ gặp vấn đề tương tự với công viên hoặc bất kỳ không gian nào khác không được xây dựng cho việc đi bộ. Hãy xem xét các vấn đề này một cách cẩn thận trước khi định tuyến mọi người thông qua các khu vực này.


+1 - Chúng cũng có thể được rào lại hoặc có rãnh thoát nước dọc theo chu vi, v.v.
vẽ

1

Vâng, vấn đề là chính OSM-Data. Để định tuyến, bạn sẽ cần một mạng lưới các đường (cạnh) và liên kết (đỉnh). Đa giác là một vấn đề khác. Tôi nghĩ cách dễ nhất để đối phó với nó là vẽ các đường dẫn bổ sung trực tiếp vào JOSM. Trong osm2po có hai lựa chọn thay thế để xử lý chân / xe đạp / xe hơi. Hoặc xây dựng một biểu đồ cho chính xác một trường hợp sử dụng hoặc xây dựng một biểu đồ đa mục đích (với tất cả các đường, đường dẫn, v.v.) và đưa ra quyết định một cách linh hoạt trong khi di chuyển ngang (định tuyến). Đối với các Kỹ năng Java sau này có thể cần thiết. Để có ấn tượng đầu tiên về cách thức hoạt động của tính năng này, hãy xem qua các plugin bổ trợ hiện tại (mã nguồn được đính kèm). Ở đó bạn sẽ tìm thấy một bộ định tuyến chờ tín hiệu giao thông trong một phút.


Cảm ơn Carsten - Tôi có thể thấy rằng JOSM sẽ là lý tưởng, nhưng tôi đang cố gắng làm điều này cho toàn bộ Canada / US. Tôi nghĩ rằng chỉ cần biến một đa giác thành nhiều đường sẽ hoạt động trong tình huống của tôi vì tôi chỉ cố gắng để có được thời gian / khoảng cách đi bộ thô (không hiển thị các hướng định tuyến thực tế). Vì vậy, tôi tự hỏi liệu có cách nào để osm2po chuyển đổi các đa giác thành các đường dẫn trước khi nó xây dựng biểu đồ hay tôi sẽ phải cập nhật tệp OSM trước ...
DFx

osm2po không chuyển đổi đa giác. Điều này phải được thực hiện trong một bước tiền xử lý khác. Nếu bạn thấy bất kỳ cơ hội nào để chuyển đổi đa giác thành các cách đơn giản và để kết nối chúng với mạng lưới đường thì tôi thấy cơ hội hợp nhất cả hai dữ liệu. Nhưng làm thế nào bạn sẽ quản lý nó, anyway? Đa giác có thể có nhiều lỗ bên trong như hồ, ví dụ: Làm thế nào bạn có thể đảm bảo người dùng của mình không phải mang theo thiết bị SCUBA mọi lúc?
Carsten

Vâng tôi thấy quan điểm của bạn - nó sẽ không còn xa nữa :)
DFx
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.