jak mogę przedstawić kształt drogi na zważonym wykresie do planowania trasy [duplikat]

Nov 21 2020

Postanowiłem zbudować planer tras do gry podobnej do Google Maps, aby poszerzyć moją wiedzę o wykresach i służyć jako projekt portfolio.

Przeprowadziłem badania i doszedłem do wniosku, że muszę przedstawić drogi jako węzły na wykresie ważonym, ale rozumiem, że reprezentowane są tylko skrzyżowania.

Moje pytanie brzmi: w jaki sposób przedstawiłbym również kształt drogi?

Moje rozumowanie, jak rozwiązać ten produkt, byłoby takie, że węzeł wykresu miałby koszt łącza, a następnie jako dane zawierałby obiekt (JSON) z informacjami dotyczącymi kształtu drogi do następnego węzła / skrzyżowania.

To stwarza pewne problemy, bo co jeśli chcę zaplanować trasę na środek drogi. Spójrz na poniższy rysunek, chcę przejść od C do tego, co jest zasadniczo między D i E, ale na drodze powyżej.

Rysunek:
Zwróć uwagę, że wszystkie drogi są dwojakie, więc możesz założyć, że krawędzie są skierowane i zważone.

Próbowałem sprawdzić, jak to robi OSM, ale sam rozmiar danych mnie wyrzuca.

Wszelkie zasoby będą bardzo mile widziane :)

Odpowiedzi

2 paisanco Nov 21 2020 at 22:32

Moją rekomendacją, jeśli chcesz mieć format oparty na JSON, jest zajrzenie do GeoJSON. Jest to dobrze ugruntowany format, który może przedstawiać zarówno cechy przestrzenne / kształtu, jak i elementy nieprzestrzenne, takie jak nazwy ulic, adresy itp. Istnieje obszerna dokumentacja online, więc nie będę cytować konkretnych linków. Również GIS Stack Exchange jest dobrym źródłem informacji na tego typu problemy.