Distanța de la punct la punct: formule, exemple, soluții. Cum se calculează distanța dintre coordonatele GPS Formula pentru calcularea distanței dintre două puncte


Distanța de la punct la punct este lungimea segmentului care leagă aceste puncte pe o scară dată. Astfel, atunci când vine vorba de măsurarea distanței, trebuie să cunoașteți scara (unitatea de lungime) în care vor fi făcute măsurătorile. Prin urmare, problema găsirii distanței de la punct la punct este de obicei considerată fie pe o dreaptă de coordonate, fie într-un sistem de coordonate carteziene dreptunghiulare pe un plan sau în spațiu tridimensional. Cu alte cuvinte, cel mai adesea trebuie să calculați distanța dintre puncte folosind coordonatele lor.

În acest articol, ne vom aminti mai întâi cum este determinată distanța de la un punct la altul pe o linie de coordonate. În continuare, obținem formule pentru calcularea distanței dintre două puncte ale unui plan sau spațiu în funcție de coordonatele date. În concluzie, vom analiza în detaliu soluțiile la exemplele și problemele tipice.

Navigare în pagină.

Distanța dintre două puncte de pe o linie de coordonate.

Să definim mai întâi notația. Vom nota distanța de la punctul A la punctul B ca .

De aici putem concluziona că distanta de la punctul A cu coordonata la punctul B cu coordonata este egala cu modulul diferentei de coordonate, acesta este, pentru orice locație a punctelor pe linia de coordonate.

Distanța de la punct la punct pe un plan, formulă.

Obținem o formulă de calcul a distanței dintre puncte și dată într-un sistem de coordonate carteziene dreptunghiulare pe un plan.

În funcție de locația punctelor A și B, sunt posibile următoarele opțiuni.

Dacă punctele A și B coincid, atunci distanța dintre ele este zero.

Dacă punctele A și B se află pe o dreaptă perpendiculară pe axa absciselor, atunci punctele coincid, iar distanța este egală cu distanța . În paragraful anterior, am aflat că distanța dintre două puncte de pe o linie de coordonate este egală cu modulul diferenței dintre coordonatele lor, prin urmare, . Prin urmare, .

În mod similar, dacă punctele A și B se află pe o dreaptă perpendiculară pe axa ordonatelor, atunci distanța de la punctul A la punctul B se găsește ca .

În acest caz, triunghiul ABC este dreptunghiular în construcție și Și . De teorema lui Pitagora putem nota egalitatea, de unde .

Să rezumam toate rezultatele obținute: distanța de la un punct la un punct dintr-un plan se găsește prin coordonatele punctelor folosind formula .

Formula rezultată pentru găsirea distanței dintre puncte poate fi utilizată atunci când punctele A și B coincid sau se află pe o dreaptă perpendiculară pe una dintre axele de coordonate. Într-adevăr, dacă A și B coincid, atunci . Dacă punctele A și B se află pe o dreaptă perpendiculară pe axa Ox, atunci. Dacă A și B se află pe o dreaptă perpendiculară pe axa Oy, atunci .

Distanța dintre punctele din spațiu, formulă.

Să introducem un sistem de coordonate dreptunghiular Oxyz în spațiu. Să obținem o formulă pentru a găsi distanța de la un punct până la punctul .

În general, punctele A și B nu se află într-un plan paralel cu unul dintre planurile de coordonate. Să desenăm prin punctele A și B plane perpendiculare pe axele de coordonate Ox, Oy și Oz. Punctele de intersecție ale acestor plane cu axele de coordonate ne vor oferi proiecții ale punctelor A și B pe aceste axe. Notăm proiecțiile .


Distanța necesară dintre punctele A și B este diagonala paralelipipedului dreptunghiular prezentat în figură. Prin construcție, dimensiunile acestui paralelipiped sunt egale Și . Într-un curs de geometrie de liceu, s-a dovedit că pătratul diagonalei unui cuboid este egal cu suma pătratelor celor trei dimensiuni ale sale, prin urmare, . Pe baza informațiilor din prima secțiune a acestui articol, putem scrie următoarele egalități, prin urmare,

de unde o luăm formula pentru aflarea distantei dintre punctele din spatiu .

Această formulă este valabilă și dacă punctele A și B

  • se potrivesc;
  • aparțin uneia dintre axele de coordonate sau unei linii paralele cu una dintre axele de coordonate;
  • aparțin unuia dintre planurile de coordonate sau unui plan paralel cu unul dintre planurile de coordonate.

Găsirea distanței de la punct la punct, exemple și soluții.

Deci, am obținut formule pentru găsirea distanței dintre două puncte de pe o dreaptă de coordonate, plan și spațiu tridimensional. Este timpul să privim soluții pentru exemplele tipice.

Numărul de probleme în care pasul final este găsirea distanței dintre două puncte în funcție de coordonatele lor este cu adevărat enorm. O revizuire completă a unor astfel de exemple depășește scopul acestui articol. Aici ne vom limita la exemple în care sunt cunoscute coordonatele a două puncte și este necesar să se calculeze distanța dintre ele.

Folosind coordonatele, se determină locația unui obiect pe glob. Coordonatele sunt indicate prin latitudine și longitudine. Latitudinile sunt măsurate de la linia ecuatorului de ambele părți. În emisfera nordică latitudinile sunt pozitive, în emisfera sudică sunt negative. Longitudinea se măsoară de la primul meridian fie la est, fie la vest, respectiv, se obține longitudinea estică sau vestică.

Conform poziției general acceptate, primul meridian este considerat a fi cel care trece prin vechiul Observator Greenwich din Greenwich. Coordonatele geografice ale locației pot fi obținute folosind un navigator GPS. Acest dispozitiv primește semnale ale sistemului de poziționare prin satelit în sistemul de coordonate WGS-84, uniform pentru întreaga lume.

Modelele de navigator diferă în funcție de producător, funcționalitate și interfață. În prezent, navigatoarele GPS încorporate sunt disponibile și în unele modele de telefoane mobile. Dar orice model poate înregistra și salva coordonatele unui punct.

Distanța dintre coordonatele GPS

Pentru a rezolva probleme practice și teoretice din unele industrii, este necesar să se poată determina distanțele dintre puncte prin coordonatele acestora. Există mai multe moduri în care puteți face acest lucru. Forma canonică de reprezentare a coordonatelor geografice: grade, minute, secunde.

De exemplu, puteți determina distanța dintre următoarele coordonate: punctul nr. 1 - latitudine 55°45′07″ N, longitudine 37°36′56″ E; punctul nr. 2 - latitudine 58°00′02″ N, longitudine 102°39′42″ E.

Cel mai simplu mod este să folosești un calculator pentru a calcula lungimea dintre două puncte. În motorul de căutare din browser, trebuie să setați următorii parametri de căutare: online - pentru a calcula distanța dintre două coordonate. În calculatorul online, valorile de latitudine și longitudine sunt introduse în câmpurile de interogare pentru prima și a doua coordonată. La calcul, calculatorul online a dat rezultatul - 3.800.619 m.

Următoarea metodă necesită mai multă muncă, dar și mai vizuală. Trebuie să utilizați orice program de cartografiere sau de navigare disponibil. Programele în care puteți crea puncte folosind coordonate și măsura distanțe dintre ele includ următoarele aplicații: BaseCamp (un analog modern al programului MapSource), Google Earth, SAS.Planet.

Toate programele de mai sus sunt disponibile oricărui utilizator al rețelei. De exemplu, pentru a calcula distanța dintre două coordonate în Google Earth, trebuie să creați două etichete care indică coordonatele primului punct și celui de-al doilea punct. Apoi, folosind instrumentul „Riglă”, trebuie să conectați primul și al doilea marcaj cu o linie, programul va afișa automat rezultatul măsurării și va arăta calea pe imaginea prin satelit a Pământului.

În cazul exemplului dat mai sus, programul Google Earth a returnat rezultatul - lungimea distanței dintre punctul nr. 1 și punctul nr. 2 este de 3.817.353 m.

De ce există o eroare la determinarea distanței

Toate calculele extinderii dintre coordonate se bazează pe calculul lungimii arcului. Raza Pământului este implicată în calcularea lungimii arcului. Dar, deoarece forma Pământului este apropiată de un elipsoid oblat, raza Pământului variază în anumite puncte. Pentru a calcula distanța dintre coordonate, se ia valoarea medie a razei Pământului, ceea ce dă o eroare în măsurare. Cu cât distanța măsurată este mai mare, cu atât eroarea este mai mare.

Matematică

§2. Coordonatele unui punct din plan

3. Distanța dintre două puncte.

Tu și cu mine putem vorbi acum despre puncte în limbajul numerelor. De exemplu, nu mai trebuie să explicăm: luați un punct care se află la trei unități la dreapta axei și la cinci unități sub axa. Este suficient să spunem simplu: luați ideea.

Am spus deja că acest lucru creează anumite avantaje. Deci, putem transmite prin telegraf un desen format din puncte, îl putem comunica unui computer, care nu înțelege deloc desenele, dar înțelege bine cifrele.

În paragraful anterior, am definit câteva seturi de puncte din plan folosind relații între numere. Acum să încercăm să traducem în mod consecvent alte concepte și fapte geometrice în limbajul numerelor.

Vom începe cu o sarcină simplă și comună.

Găsiți distanța dintre două puncte din avion.

Soluţie:
Ca întotdeauna, presupunem că punctele sunt date de coordonatele lor, iar apoi sarcina noastră este să găsim o regulă prin care să putem calcula distanța dintre puncte, cunoscându-le coordonatele. La derivarea acestei reguli, desigur, este permis să se recurgă la un desen, dar regula în sine nu ar trebui să conțină referințe la desen, ci ar trebui să arate doar ce acțiuni și în ce ordine trebuie efectuate pe numerele date - coordonatele. a punctelor – pentru a obține numărul dorit – distanța dintre puncte.

Poate că unii cititori vor găsi această abordare pentru rezolvarea problemei ciudată și exagerată. Ce este mai simplu, vor spune ei, punctele sunt date, chiar și prin coordonate. Desenați aceste puncte, luați o riglă și măsurați distanța dintre ele.

Această metodă uneori nu este atât de rea. Totuși, imaginați-vă din nou că aveți de-a face cu un computer. Nu are riglă și nu desenează, dar poate număra atât de repede încât nu este deloc o problemă pentru ea. Rețineți că problema noastră este formulată astfel încât regula de calcul a distanței dintre două puncte constă în comenzi care pot fi executate de o mașină.

Este mai bine să rezolvați mai întâi problema pusă pentru cazul special când unul dintre aceste puncte se află la originea coordonatelor. Începeți cu câteva exemple numerice: găsiți distanța de la originea punctelor; Și .

Notă. Utilizați teorema lui Pitagora.

Acum scrieți o formulă generală pentru a calcula distanța unui punct de la origine.

Distanța unui punct de la origine este determinată de formula:

În mod evident, regula exprimată prin această formulă îndeplinește condițiile enunțate mai sus. În special, poate fi folosit în calcule pe mașini care pot înmulți numere, le pot adăuga și extrage rădăcini pătrate.

Acum să rezolvăm problema generală

Având în vedere două puncte dintr-un plan, găsiți distanța dintre ele.

Soluţie:
Să notăm cu , , , proiecțiile punctelor și pe axele de coordonate.

Să notăm punctul de intersecție al liniilor cu litera . Dintr-un triunghi dreptunghic folosind teorema lui Pitagora obținem:

Dar lungimea segmentului este egală cu lungimea segmentului. Punctele și , se află pe axă și au coordonatele și, respectiv. Conform formulei obținute la paragraful 3 al paragrafului 2, distanța dintre ele este egală cu .

Argumentând în mod similar, aflăm că lungimea segmentului este egală cu . Înlocuind valorile găsite și în formula obținem.

Calcularea distanțelor dintre puncte în funcție de coordonatele lor pe un plan este elementară; pe suprafața Pământului este puțin mai complicat: vom lua în considerare măsurarea distanței și a azimutului inițial dintre puncte fără transformări de proiecție. În primul rând, să înțelegem terminologia.

Introducere

Lungimea arcului de cerc mare– cea mai scurtă distanță dintre oricare două puncte situate pe suprafața unei sfere, măsurată de-a lungul liniei care leagă aceste două puncte (o astfel de linie se numește ortodomie) și care trece de-a lungul suprafeței sferei sau a altei suprafețe de rotație. Geometria sferică este diferită de geometria euclidiană normală și ecuațiile de distanță iau, de asemenea, o formă diferită. În geometria euclidiană, cea mai scurtă distanță dintre două puncte este o linie dreaptă. Pe o sferă, nu există linii drepte. Aceste linii de pe sferă fac parte din cercuri mari - cercuri ale căror centre coincid cu centrul sferei. Azimut inițial- azimut, luând care la începutul deplasării din punctul A, urmând un cerc mare pe cea mai scurtă distanță până la punctul B, punctul final va fi punctul B. La trecerea din punctul A în punctul B de-a lungul liniei cercului mare, azimutul de la punctul B. poziția curentă până la punctul final B este constantă se schimbă. Azimutul inițial este diferit de unul constant, în urma căruia azimutul de la punctul curent până la punctul final nu se modifică, dar traseul urmat nu este distanța cea mai scurtă dintre două puncte.

Prin oricare două puncte de pe suprafața unei sfere, dacă nu sunt direct opuse unul față de celălalt (adică nu sunt antipozi), poate fi trasat un cerc mare unic. Două puncte împart un cerc mare în două arce. Lungimea unui arc scurt este cea mai scurtă distanță dintre două puncte. Între două puncte antipode pot fi desenate un număr infinit de cercuri mari, dar distanța dintre ele va fi aceeași pe orice cerc și egală cu jumătate din circumferința cercului, sau π*R, unde R este raza sferei.

Pe un plan (într-un sistem de coordonate dreptunghiular), cercurile mari și fragmentele lor, așa cum am menționat mai sus, reprezintă arce în toate proiecțiile, cu excepția celei gnomonice, unde cercurile mari sunt linii drepte. În practică, aceasta înseamnă că avioanele și alte transporturi aeriene folosesc întotdeauna traseul distanței minime dintre puncte pentru a economisi combustibil, adică zborul se efectuează de-a lungul unei distanțe de cerc mare, pe un avion arată ca un arc.

Forma Pământului poate fi descrisă ca o sferă, astfel încât ecuațiile de distanță cerc mare sunt importante pentru calcularea distanței celei mai scurte dintre punctele de pe suprafața Pământului și sunt adesea folosite în navigație. Calcularea distanței prin această metodă este mai eficientă și în multe cazuri mai precisă decât calcularea acesteia pentru coordonatele proiectate (în sistemele de coordonate dreptunghiulare), deoarece, în primul rând, nu necesită conversia coordonatelor geografice într-un sistem de coordonate dreptunghiulare (efectuați transformări de proiecție) și , în al doilea rând, multe proiecții, dacă sunt selectate incorect, pot duce la distorsiuni semnificative de lungime datorită naturii distorsiunilor de proiecție. Se știe că nu este o sferă, ci un elipsoid care descrie mai precis forma Pământului, totuși, acest articol discută despre calculul distanțelor în mod specific pe o sferă; pentru calcule, se folosește o sferă cu o rază de 6.372.795 de metri. , ceea ce poate duce la o eroare în calcularea distanțelor de ordinul a 0,5%.

Formule

Există trei moduri de a calcula distanța sferică a cercului mare. 1. Teorema cosinusului sfericÎn cazul distanțelor mici și adâncimii mici de calcul (număr de zecimale), utilizarea formulei poate duce la erori semnificative de rotunjire. φ1, λ1; φ2, λ2 - latitudinea și longitudinea a două puncte în radiani Δλ - diferența de coordonate în longitudine Δδ - diferența unghiulară Δδ = arccos (sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ) Pentru a converti distanța unghiulară în metrică, trebuie să înmulțiți diferența unghiulară cu raza Pământului (6372795 metri), unitățile distanței finale vor fi egale cu unitățile în care se exprimă raza (în acest caz, metri). 2. Formula Havesine Folosit pentru a evita problemele la distanțe scurte. 3. Modificare pentru antipozi Formula anterioară este, de asemenea, supusă problemei punctelor antipode; pentru a o rezolva, se folosește următoarea modificare.

Implementarea mea pe PHP

// Raza Pământului define("EARTH_RADIUS", 6372795); /* * Distanța dintre două puncte * $φA, $λA - latitudinea, longitudinea primului punct, * $φB, $λB - latitudinea, longitudinea celui de-al doilea punct * Scris pe baza http://gis-lab.info/ qa/great-circles.html * Mihail Kobzarev< >* */ funcția calculateTheDistance ($φA, $λA, $φB, $λB) ( // convertiți coordonatele în radiani $lat1 = $φA * M_PI / 180; $lat2 = $φB * M_PI / 180; $long1 = $λA * M_PI / 180; $long2 = $λB * M_PI / 180; // cosinus și sinus ale diferențelor de latitudini și longitudine $cl1 = cos($lat1); $cl2 = cos($lat2); $sl1 = sin($lat1); ); $sl2 = sin($lat2); $delta = $long2 - $long1; $cdelta = cos($delta); $sdelta = sin($delta); // calcule lungime cerc mare $y = sqrt(pow ( $cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2)); $x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta; / / $ad = atan2($y, $x); $dist = $ad * EARTH_RADIUS; return $dist; ) Exemplu de apel de funcție: $lat1 = 77,1539; $lung1 = -139,398; $lat2 = -77,1804; $lung2 = -139,55; echo calculateTheDistance($lat1, $long1, $lat2, $long2) . „metri”; // Returnează „17166029 metri”

Articol preluat de pe site