Calculul distanțelor dintre două puncte de-a lungul drumurilor poate fi util într-o varietate de domenii, voi examina această problemă din punctul de vedere al problemei clasice aplicate în logistica transporturilor - umplerea de segmente de foi de călătorie.
De regulă, citirea kilometrajului conducătorului auto este considerată ca fiind distanța contabilă. Cu toate acestea, trebuie să înțelegeți că citirile dispozitivului nu sunt întotdeauna obiective 100% - ele nu coincid cu cele calculate, chiar dacă mașina nu sa abătut de pe traseu. Faptul este că citirile instrumentului se bazează pe numărarea numărului de rotații ale jantei de roată în timpul mișcării. Formula are următoarea formă:
unde n este numărul de rotații ale roții, R este raza pneului.
Astfel, în indicații există erori, în funcție de viteza de rulare a mașinii, precum și legate de intervenția directă a șoferului în calibrarea dispozitivului. Din practică se cunoaște că schimbarea raza roților 5 mm, din cauza inconstanței cu anvelope producător presetate, se va schimba traiectoria pe citirile contorul de parcurs și tahograful aproximativ 2%. De asemenea, contorul de parcurs va afecta uzura pneurilor, presiunea din ele (la presiune joasă scade unghiul de roata de rulare, ceea ce duce la o supraestimare de lecturi) și o eroare de dispozitiv privat.
De aceea, pentru scopuri de control, vă recomandăm să verificați din nou aceste distanțe utilizând serviciul web Google Maps.
Algoritmul pentru găsirea distanței dintre puncte se bazează pe rezolvarea a două sub-sarcini:
- Geocodarea este procesul de determinare a coordonatelor geografice ale obiectelor cartografice. Aceste obiecte pot fi așezări, străzi, case, coduri poștale etc.
- Construcția unei rute optime între două puncte, bazată pe teoria grafurilor.
Dacă descrieți metoda într-o formă simplificată, atunci esența acesteia este redusă la determinarea sumei minime a grafurilor (adică a segmentelor rutiere) între punctele de început și sfârșit ale tuturor posibilelor. De asemenea, algoritmii Google Maps iau în considerare capacitatea de transport a drumurilor, calitatea acoperire a acestora, disponibilitatea site-urilor plătite etc.
Întreaga cale este împărțită într-un număr foarte mare de microparticule, suma distanțelor dintre care reprezintă lungimea exactă a traseului. Ar trebui să se țină seama de faptul că aceste segmente se află pe suprafața sferică a Pământului, prin urmare formula de calcul are următoarea formă:
L = arcos (sin (x1) * sin (x2) + cos (x1) * cos (x2) * cos (y1-y2)
unde x1, y1-latitudinea și longitudinea primului punct în radiani; x2, y2-latitudinea și longitudinea celui de-al doilea punct în radiani; R este raza medie a Pământului (6372,8 km).
Exemple de interogări și rezultate sunt prezentate în tabel.
Google Corp impune restricții privind utilizarea gratuită a serviciului său: 2500 de solicitări pe zi. Contorul este resetat la zero la 24 ore Pacific Time Zone. la ora 10 dimineața la Minsk.