Newsgroup: it.comp.lang.visual-basic
Titolo: [OT] Distanze stradali

Scusate l'OT, ma non so proprio dove sbattere la testa.
Da un mio applicativo di logistica, avrei bisogno di
sapere la distanza stradale che intercorre tra luogo di partenza
e luogo di arrivo.
Gli indirizzi sono completi (Paese, Citta`, CAP, via).
La zona che mi serve e` il nord Italia.
Programmi come autoroute sono specializzati e sanno fare
queste cose molto bene, ma come fanno?
Si potrebbe prendere i dati dal loro DB?
A me starebbe bene anche pagare chi mi fornisce i dati che
mi servono, ma avrei bisogno di un automatismo.
Nessuno sa qualcosa?
Ciao e grazie 1000.
Ferro.

 e luogo di arrivo.
per la soluzione non e' sufficiente sapere i paesi e i cap ma  dovresti
avere anche un DB con i tronchi stradali tra i paesi e la loro distanza
Per il calcolo devi cercare un bel testo di informatica che parli di:
Algoritmo del commesso viaggiatore
Albero di Steiner (che poi e' una variante del precedente)
Ciao Stefano

Per il calcolo non ci sono problemi.
Il problema grosso e` il DB.
Volete dirmi che Autoroute ha dentro le distanze tra ogni
coppia possibile di tutte le vie d'Italia???
Mi sembra strano.
Voi cosa ne dite?
Ciao, Ferro.


 Ferro.
ciao Alex

 > Albero di Steiner (che poi e' una variante del precedente)
Ricordo che una volta a scuola abbiamo provato a fare una cosa simile :
immagina una citta' come il centro di un triangolo ( era una versione di
studio ) e agli apici metti le 3 citta' + vicine
il db viene simile a questo
citta1 - near1 - km2 - near2 - km2 ...
CHIETI - PESCARA - 20Km - Aquila - 30Km
PEscara - CHIETI - 20km - Francavilla - 10Km
quindi il db non e' molto esagerato , tramite poi il famoso algoritmo
potresti inserire le citta :
da Chieti  a Francavilla e lui ti risponde con 40Km passando per Pescara
andando avanti potresti passare da un triangolo ad un esagono , potresti
implementare anche i vincoli intermedi cioe' : vai da A a B passando per X e
Y
e poi dando un peso alle strade tipo "Provinciali" "superstrade"
"Autostrade" ecc..
non so , spero di esserti stato utile !

 potresti inserire le citta :
Infatti e' così.
Non ho detto tutte le coppie di vie possibili ma solo la misura del singolo
tronco tra due localita'.
Facciamo un es:  con un unico percorso - autostrada Torino Venezia (per
semplificare) ti bastano 4 tronchi e non tutte le possibili combinazioni
Tronco Torino Milano 140 Km
Tronco Milano Bergamo 50 km
Tronco Bergamo Verona 100 km
Tronco Verona Venezia 130 km
l'algoritmo deve trovare il percorso e poi calcolare la somma dei tronchi
Ciao stefano

 andando avanti potresti passare da un triangolo ad un esagono
E portando il concetto a puntino, si potrebbe ampliare il concetto
da trinagolo, a esagono, a tabella DB (citta`-citta`-Km).
OK.
Ho capito il concetto.
A questo punto mi restano 3 domande:
1)
Nel caso dovessi inserire una nuova via (di un nuovo cliente).
Dovrei inserire nel DB un solo record, legando con la distanza
in Km quella via alla piu` vicina delle localita` gia presenti nel DB.
1 solo record???
Poi a fare il resto ci pensa l'algoritmo???
Ho capito bene???
2)
avete sotto mano un codice VB che implementi l'algoritmo
del commesso viaggiatore???
Mi ricordo che a mio tempo lo avevo implementato in Pascal.
Non e` stato semplice, ed era anche pieno di buchi.
3)
Resta il fatto che le distanze base dovrei inserirmele a mano.
Oppure trovare un DB anche minimamente riempito con
alcune distanze.
Nessuno ha niente per le mani?
Scusate la mia estrema comodita` nel voler tutto gia` pronto.
Devo farlo per il mio capo, che mi mette pressione a manetta.
E` proprio una palla lavorare cosi`.
Non voglio rubare niente a nessuno... spero capiate.


 Non voglio rubare niente a nessuno... spero capiate.
capisco , fallo capire anche al tuo boss , senno' a prossima volta vorra' un
programma fantascentifico pronto per l'altro ieri !