wyświetlenie odległości pomiędzy miejscowościami

0

witam. potrzebuję wyświetlić odległości pomiędzy kilkoma miejscowościami w regionie. dane były by pobierane z bazy. coś w rodzaju (tabela odległości):

A, B, C, D, E

A - , 2, 5, 7, 9
B 2 , - , 3 , 6, 4
C 5 , 3, - , 1, 2
D 7 , 6, 1 , - , 2
E 9 , 4 , 2, 2 , -

kompletnie nie wiem jak to zrobić, może ma ktoś pomysł

0

Jaka jest struktura tej bazy?

0

i może jeszcze takie nieprzydatne info jak rodzaj i wersja samej bazy...

0

jeśli chodzi o bazę to powiedzmy sqlite, natomiast co do struktury to tak jak napisałem że sam do końca nie wiem jak by to miało wyglądać. może jakieś propozycje ?

0

Znasz położenie (koordynaty) tych miast? Ile ich będzie? Jeżeli znasz same odległości pomiędzy nimi to ilość rekordów będzie musiała wynosić n^2, dość nieoptymalnie.

0

sorry! ale po co mi koordynaty tych miast ?! chodzi mi o wyświetlenie samych (z góry założonych) odległości pomiędzy tymi miastami - przykładowe jak w pierwszym poście. nic wiecej.

0

Jedna tabela tmiasta (id, nazwa), druga tabela todleglosci(id1, id2, odleglosc), potem tylko
select odleglosc from todleglosci where (id1 = x1 and id2 = x2) or (id1 = x2 and id2 = x1)

To tak w uproszczeniu, na podstawie tego, co napisał autor w pierwszym poście.

0

oczywiscie x1 i x2 to odpowiednie id z tabeli tmiasta ;-)

0

dokładnie na takiej zasadzie jak to napisał **noone_logged_out ** tylko jak sama pętla (bo domyślam się że w pętli by się to miało wyświetlać) miała wyglądać ?

0

chodzi o to aby po wyświetleniu powstała struktura jak w pierwszym poście (cos w rodzaju jak tabliczka mnożenia), a nie lista.

0
  1. otwierasz tabelę
  2. pobierasz listę wszystkich miast posortowaną tak jak chcesz i zapisujesz w tablicy
  3. pobierasz wszystkie pary miasto1 - miasto2 - odległość
  4. robisz pętlę i od 0 do ilość miast - 1
  5. otwierasz wiersz
  6. robisz pętlę j od 0 do ilość miast - 1
  7. otwierasz komórkę
  8. ściągasz z listy lista_z_pkt_2 odległość dla pary miasto lista_z_pkt_1[i] - miasto lista_z_pkt_1[2]
  9. zamykasz komórkę
    8a. koniec pętli @5
  10. zamykasz wiersz
    9a. koniec pętli @3
  11. zamykasz tabelę
1

Nie no, teraz to już sobie jaja robisz... ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1