← Takaisin StrollCraftiin

Menetelmä

Miten se toimii

Lyhyesti: kysymme OpenStreetMapilta mitä lähistöllä on, pisteytämme kunkin nähtävyyden kiinnostavuuden mukaan, ja poimimme ahnaasti lenkin, joka mahtuu aikabudjettiisi.

Budjetti

Annat meille minuutit. Yhdistämme ne valitsemaasi vauhtiin — leppoisa (4 km/h), normaali (5 km/h) tai ripeä (6 km/h) — saadaksemme tavoitematkan. 30 minuuttia normaalivauhtia on 2,5 km:n lenkki. 60 minuuttia ripeää on 6 km.

Jos otat kaloriarvion käyttöön Asetuksissa, se käyttää julkaistuja MET-arvoja kävelylle: kalorit = MET × paino × aika. Oletuspaino on 75 kg — säädettävissä kytkimen vieressä.

Nähtävyydet

Kysymme OpenStreetMapilta (Overpass-rajapinnan kautta) kaikkea, mikä on merkitty nähtävyydeksi sijaintisi ympärillä — muistomerkit, museot, näköalapaikat, taideteokset, linnat, huiput, vesiputoukset, puistot, suihkulähteet, majakat ja niin edelleen. Kahvilat, leipomot ja kaupat ovat tarkoituksella pois; StrollCraft on nähtävyyksille, ei asioinnille.

Jokainen nähtävyys saa kiinnostavuuspisteet. Useampia ruutuja rastittavat nähtävyydet saavat enemmän pisteitä:

  • Onko Wikipedia-artikkeli? +5.
  • Onko Wikidata-merkintä? +3.
  • Onko valokuva? +2.
  • Onko historiallinen linna tai arkeologinen kohde? +5.
  • Onko näköalapaikka, huippu tai vesiputous? +5.
  • Onko taideteos? +3.
  • Onko puisto, puutarha tai luonnonsuojelualue? +5.
  • Onko lähde, kalliokaari tai geysir? +3.
  • Onko suihkulähde? +2.
  • Onko kunnollinen nimi? +1 (ja ilman nimeä = pudotetaan kokonaan).

Paikallisen runoilijan pronssipatsas, jolla on Wikipedia-artikkeli ja kuva, saa enemmän pisteitä kuin geneerinen puistonpenkki, joka on merkitty "julkiseksi taiteeksi". Alle 3 pisteen nähtävyydet suodatetaan pois.

Lenkki

Sijaintisi ympärillä olevien 25 parhaiten pisteytetyn nähtävyyden joukosta käytämme yksinkertaista algoritmia:

  • Aloita sijainnistasi. Jäljellä oleva budjetti on tavoitematkasi.
  • Jokaisesta vierailemattomasta nähtävyydestä etsi lähimmät, jotka mahtuvat budjettiin. Valitse yksi satunnaisesti, painottaen lähimpiä — lähimmät nähtävyydet ovat todennäköisempiä, mutta eivät taattuja.
  • Toista, kunnes nähtävyys ei enää mahdu.
  • Jos pyysit ympyrälenkin, sulje lenkki takaisin lähtöön.

Pisteet saavat pienen satunnaisen heilautuksen (±2 pistettä) joka luontikerralla, joten samankaltaiset nähtävyydet vaihtavat paikkaa ajojen välillä. Yhdessä painotetun valinnan kanssa tämä tarkoittaa, että Uudestaan-napin painaminen tuottaa aidosti erilaisen kävelyn — ei vain pientä uudelleenjärjestelyä.

Tämä ei ole "optimaalinen" reitti matemaattisessa mielessä — se on kauppamatkustajan ongelma ja vaikea ratkaista. Mutta kävelylle painotettu lähinaapuri on nopea, suoritetaan alle 50 ms:ssa Workerissa, ja tuottaa reittejä, jotka tuntuvat oikeilta.

Yhdensuuntaiset kävelyt

Kytke Kävely kohti nähtävyyttä päälle, ja algoritmi vaihtaa strategiaa. Lenkin rakentamisen sijaan se valitsee korkeasti pisteytetyn kohteen mukavan kävelymatkan päästä — noin 30–70 % budjetistasi — ja piirtää reitin sitä kohti.

Välietapit valitaan lähtöpisteen ja päämäärän väliseltä käytävältä, jotta reitti tuntuu tarkoituksenmukaiselta matkalta eikä siksakilta. Tuloskortti kertoo, minne päädyt, ja Google Maps hoitaa navigoinnin siitä eteenpäin.

Luovutus

StrollCraft ei tee käännösohjattua navigointia. Sen sijaan, kun olet saanut mieluisan lenkin, napauta Koko reitti Google Mapsissa — luovutamme enintään 9 reittipistettä Google Mapsille kävelytilassa, joka tuntee kadut paremmin kuin me ja opastaa sinut kunnolla.

StrollCraftissa näkyvä kartta on esikatselu. Se piirtää suoria viivoja nähtävyyksien välille, ei todellisia kävelyreittejä. Ulkoinen navigaattori täyttää sen.

Mitä konepellin alla

Jos olet utelias tekniikasta: sivusto on Astro Cloudflare Pagesissa, algoritmin pyöriessä pienissä Cloudflare Workereissa. Kartta on MapLibre GL Protomaps-vektorilaatoilla, itse-isännöitynä. Overpass-kyselyt välimuistitetaan 24 tunniksi, jotta sama naapurusto ei jatkuvasti tökkäytä OpenStreetMap-palvelimia.