Kuinka määritellään piste, johon olisi lyhin matka muualta. Olkoot vaikkapa pisteiden AB välimatka x, BC=y ja AC=z. Tuostahan näkee suoraan kahden pisteen välisen matkan, mutta ei suoraan sitä mikä piste on keskimäärin lähimpänä muita.
Tarkoitus olisi selvittää mihin paikkaan Suomessa olisi lyhin matka muista paikoista. Käytettävät välimatkat saanee jonkun nettipalvelun kautta, mutta laskentatapa pitäisi keksiä.
Tarkoitus olisi selvittää mihin paikkaan Suomessa olisi lyhin matka muista paikoista. Käytettävät välimatkat saanee jonkun nettipalvelun kautta, mutta laskentatapa pitäisi keksiä.
Vastaukset 6
Vanhimmat
Toimisikohan Dijkstran algoritmi tässä? https://fi.wikipedia.org/wiki/Dijkstran_algoritmi
Käytätkö linnuntietä vai valtateitä?
Joka tapauksessa, jos saat välimatkan jokaisen halaumasi paikan välille, niin eihän siinä ole muutakuin laskee jokaiselle sen keskiarvon etäisyydestä muihin ja katsoo mikä on pienin.
Jos löytyy vain välimatkat "naapurikaupunkien" välille, niin sitten tosiaan Dijkstran algoritmilla ne välimatkat saa kaikkien välille.
Tuossa sinun A, B, C esimerkissäsi se lasku menisi näin:
A: (x z)/2
B: (x y)/2
C: (y z)/2
ja näistä valitaan pienin. Tuossa kun on vain kolme kaupunkia, niin sen näkee suoraan, että valitsee kaksi lyhinta välimatkaa ja katsoo mikä kaupunki niissä molemmissa on osallisena ja se on sitten se haluttu. Useammalle se keskiarvo kai kannattaa laskea ihan jokaiselle, tai eihän siinäkään tarvitse jakaa lukumäärällä vaan vertailee vaan summia.
Vai etsitkö parempaa kuin O(n^2)-algoritmia?
Tarkoitus on vaan löytää sopiva kaava. Matkanhan voi korvata ajalla, tai miksei euroillakin, jos haluaa laskea vaikka matkakuluina.. mikäli löytäisi jostain vaikka matkalippujen hinnat.
Kahden paikan välisen matkan linnuntietä pitkin saan jo Pythonin avulla käyttämällä geocoderia. Täytynee vilkaista jos löytyisi sopiva OpenStreetMap-API, jolla saisi haettua matkan pituudet teitä pitkin.
Pitää kokeilla tuota esittämääsi tapaa.
Mä löysin tällaisen välimatka-applikaation:
https://www.vaelimatka.org/route.json?stops=Helsinki|Utsjoki
Mistäs lista paikkojen nimistä? Wikipediasta: https://fi.wikipedia.org/wiki/Luettelo_Suomen_kaupungeista
Kts. wikipedia: Centroid, erikoisesti kohta "Of a finite set of points".