Jaki jest najlepszy sposób na wdrożenie trasy przez obszary takie jak parkingi?

9

Używam OSM2PO do wyznaczania tras pieszych i zauważyłem, że wiele ścieżek OSM nie jest idealnie skonfigurowanych.

Na przykład istnieje wiele ścieżek, które są podzielone przez parkingi, które oczywiście można pokonać, ale są one ignorowane i nie są przekształcane w drogi, więc router uważa, że ​​nie można przez nie przejść. Powoduje to znacznie dłuższe odległości marszu niż jest to konieczne.

Czy jest jakiś praktyczny sposób, aby sobie z tym poradzić? Wydaje mi się, że ten sam problem występuje w przypadku „obszarów”, na których można chodzić pieszo (tj. Parków bez ścieżek przez nie przechodzących).

Inną kwestią jest to, że chodniki nie łączą się z drogami. W wielu sytuacjach ponownie prowadzi to do wyników niepełnego routingu.

OSM ma te problemy wszędzie. Brzmi jak trudny, ale powszechny problem, więc zastanawiam się, czy ktoś podszedł do tego w praktyczny sposób.

Dzięki za twoje przemyślenia!

DFx
źródło

Odpowiedzi:

5

Mając na uwadze odpowiedź Seana (że musisz sam dodać „brakujące” klepnięcia), a także, że te brakujące części technicznie są częściami planu drogi, które z kolei są tylko liniami, oto szybkie i nieobliczalne obejście, które możesz posługiwać się. Jeśli ścieżka wędrówki ma wspólny punkt z wielokątem, na którym można chodzić, wyeksportuj granicę tego wielokąta jako linię do wykresu drogi (w razie potrzeby modyfikując atrybuty). Tak więc ścieżka nie złamie się na granicy takiego wielokąta, ale zamiast tego zostanie zmapowana wzdłuż jego obwodu.

Drugim (opcjonalnym) krokiem jest zbudowanie bezpośredniej ścieżki przez wielokąty. Jeśli dodasz specjalny znacznik do eksportowanych ramek (tj. Sprawi, że będą identyfikowalne), możesz wybrać węzły rzeczywistych ścieżek, które leżą na tej samej eksportowanej ramce i utworzyć prostą linię prostą z jednego punktu do drugiego i dodać tę linię do wykresu - dostaniesz swoje fikcyjne nieprzerwane ścieżki. Teraz możesz usunąć obramowania z wykresu. W zależności od preferowanego oprogramowania i umiejętności możesz tworzyć fikcyjne ścieżki za pomocą tego algorytmu bez faktycznego dodawania granic do wykresu.

SS_Rebelious
źródło
Dziękuję za odpowiedzi. Słuszne uwagi. W przypadku osm2po, czy ktoś ma sugestie, na której warstwie wypróbować to? Tj. Na danych osm, zanim dotrze on do osm2po lub podczas tworzenia wykresu osm2po ...
DFx 1'12
6

Jedynym praktycznym sposobem jest samodzielne dodanie „brakujących” tras danych. OSM prawdopodobnie nie powinien umieszczać parkingów na swoich trasach spacerowych. Występują problemy z odpowiedzialnością związane z dodawaniem tras, które nie są rzeczywistymi, właściwie utrzymanymi ścieżkami dla pieszych. Parking, choć dostępny do przejścia, może być niebezpieczny i może stanowić własność prywatną. Będziesz miał podobne problemy z parkami lub innymi miejscami, które nie są przystosowane do podróży pieszych. Zastanów się dokładnie nad tymi zagadnieniami, zanim skierujesz ludzi przez te obszary.

Sean
źródło
+1 - Mogą być również ogrodzone lub mieć rowy drenażowe na obwodzie itp.
Drew
1

Tak, problemem jest sama OSM-Data. Do routingu potrzebna jest sieć linii (krawędzi) i łączy (wierzchołków). Wielokąt to kolejny problem. Myślę, że najłatwiejszym sposobem poradzenia sobie z tym jest narysowanie dodatkowych ścieżek bezpośrednio w JOSM. W osm2po istnieją dwie możliwości obsługi pieszych / rowerowych / samochodowych. Zbuduj wykres dla dokładnie jednego przypadku użycia lub zbuduj wykres wielofunkcyjny (ze wszystkimi drogami, ścieżkami itp.) I podejmuj decyzje dynamicznie podczas pokonywania trasy (trasy). W przypadku tych ostatnich mogą być potrzebne umiejętności Java. Aby uzyskać pierwsze wrażenie, jak to może działać, zapoznaj się z bieżącym słojem wtyczek (załączony jest kod źródłowy). Znajdziesz tam router, który czeka na sygnały drogowe przez jedną minutę.

Carsten
źródło
Dzięki Carsten - widzę, że JOSM byłby idealny, ale staram się to zrobić dla całej Kanady / USA. Myślę, że samo przekształcenie wielokąta w wiele ścieżek zadziałałoby w mojej sytuacji, ponieważ po prostu staram się uzyskać szorstki czas przejścia / dystans (nie wyświetlać rzeczywistych kierunków trasy). Zastanawiam się więc, czy istnieje sposób, aby osm2po przekonwertował wielokąty na ścieżki przed zbudowaniem wykresu, czy też musiałbym najpierw zaktualizować plik OSM ...
DFx
osm2po nie konwertuje wielokątów. Należy to zrobić w innym etapie przetwarzania wstępnego. Jeśli widzisz szansę na konwersję wielokątów na proste sposoby i połączenie ich z siecią drogową, to widzę szansę na połączenie obu danych. Ale jak zamierzasz sobie z tym poradzić? Wielokąty mogą mieć wiele wewnętrznych otworów, takich jak jeziora, np. W jaki sposób można zapewnić, że użytkownicy nie będą musieli nosić ze sobą sprzętu do nurkowania?
Carsten
Tak, rozumiem o co ci chodzi - nie byłoby to łatwe :)
DFx