![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Wtiam serdecznie
Szukam rozwiązania, algorytmu, propozycji wykonania w php + MySQL skrytpu do obliczania odległości (w linii prostej, bądź "drogowej") pomiędzy jakimiś miejscowościami w Polsce. Najwygodniejsze do użucia byłyby na pewno kody pocztowe - aby jednoznacznie określić o którą miejscowość nam chodzi, a dodatkowo określa nam nawet dzielnicę dużego miasta. I teraz. Prawdopodobnie zrobienie bazy typu kod każdej miejscowości - kod każdej miejscowości i przypisanie do tego odległości nie wchodzi w grę (99 999 kodów * 99 998 = ok 1e10 możliwości). Sprawa jeszcze bardziej komplikuje się, gdy mamy np. 3, 4, 5 nie mówiąc już o więcej miejscowościach "przelotowych". Wpadłem na pomysł aby każdą miejscowość opisać szerokością i długością geograficzną i na tej podstawie obliczać odległości. Ciekawe czy jest to gdzieś dostępne? - wsp. geograficzne A może lepiej zrobić sobie układ współrzędnych x,y ze środkiem np. w lewym dolnym "rogu" Polski. I mając do dyspozycji 99 999 odległości (oczywiście po kodach pocztowych) z 3 różnych miejscowości (co daje nam 299 997 kodów) możemy policzyć współrzędne każdej innej miejscowości A wy co proponujecie? Pozdrawiam Wszystkich - małych i dużych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
1. Zapisujesz w bazie punkty (miasta) wraz z ich wpólrzędnymi geograficznymi.
2. Zapisujesz odcinki drogi łączące sąsiednie miejscowości 3. Odległośc w linii prostej obliczasz tak jak podał lunter w pierwszym poście. 4. Odległość "prawie drogową" obliczasz szukając najkrótszej drogi w grafie. Szukać materiałów możesz nt. w tych wynikach Googli: http://www.google.com/search?q=algorytm+po...-a&start=0&sa=N Obliczasz sume dróg prowadzących do celu. Jełsi masz zaznaczone miasto przelotowe, liczysz : ( A -> przelot1 ) + ( przelot2 -> przelot2 ) + ... + (przelotN -> (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) = Xszukane Nie ma ograniczeń w ilości przelotowych miast. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 02:39 |