Meni
Besplatno
Dom  /  Vrste dermatitisa/ Formula za udaljenost između tačaka. Kako izračunati udaljenost između GPS koordinata

Formula za udaljenost između tačaka. Kako izračunati udaljenost između GPS koordinata

Koristeći koordinate odredite lokaciju objekta na globus. Koordinate su označene zemljopisnom širinom i dužinom. Geografske širine se mjere od linije ekvatora na obje strane. Na sjevernoj hemisferi geografske širine su pozitivne, u Južna hemisfera– negativan. Geografska dužina se mjeri od početnog meridijana, istočna ili zapadna, odnosno istočna ili zapadna geografska dužina.

Prema opšteprihvaćenom stavu, za početni meridijan se uzima onaj koji prolazi kroz staru Greenwich opservatoriju u Greenwichu. Geografske koordinate lokacije mogu se dobiti pomoću GPS navigatora. Ovaj uređaj prima signale satelitskog sistema za pozicioniranje u koordinatnom sistemu WGS-84, jedinstvenom za cijeli svijet.

Modeli Navigatora razlikuju se po proizvođaču, funkcionalnosti i sučelju. Trenutno su ugrađeni GPS navigatori također dostupni u nekim modelima mobilnih telefona. Ali svaki model može snimiti i sačuvati koordinate tačke.

Udaljenost između GPS koordinata

Za rješavanje praktičnih i teorijskih problema u pojedinim industrijama potrebno je moći odrediti udaljenosti između tačaka njihovim koordinatama. Postoji nekoliko načina na koje to možete učiniti. Kanonski oblik predstavljanja geografskih koordinata: stepeni, minute, sekunde.

Na primjer, možete odrediti rastojanje između sljedećih koordinata: tačka br. 1 - geografska širina 55°45′07″ N, geografska dužina 37°36′56″ E; tačka br. 2 - geografska širina 58°00′02″ N, geografska dužina 102°39′42″ E.

Najlakši način je korištenje kalkulatora za izračunavanje dužine između dvije tačke. U pretraživaču pretraživača morate postaviti sljedeće parametre pretraživanja: online - za izračunavanje udaljenosti između dvije koordinate. U online kalkulatoru vrijednosti geografske širine i dužine unose se u polja upita za prvu i drugu koordinate. Prilikom izračunavanja, online kalkulator je dao rezultat - 3.800.619 m.

Sljedeća metoda je radno intenzivnija, ali i vizualnija. Morate koristiti bilo koji dostupni program za mapiranje ili navigaciju. Programi u kojima možete kreirati tačke koristeći koordinate i mjeriti udaljenosti između njih uključuju sljedeće aplikacije: BaseCamp (moderni analog programa MapSource), Google Earth, SAS.Planet.

Svi gore navedeni programi dostupni su svakom korisniku mreže. Na primjer, da biste izračunali udaljenost između dvije koordinate u Google Earthu, trebate kreirati dvije oznake koje označavaju koordinate prve i druge tačke. Zatim pomoću alata „Lenjir“ trebate povezati prvu i drugu oznaku linijom, program će automatski prikazati rezultat mjerenja i pokazati putanju na satelitskoj slici Zemlje.

U slučaju gore navedenog primjera, program Google Earth je vratio rezultat - dužina udaljenosti između tačke br. 1 i tačke br. 2 je 3.817.353 m.

Zašto postoji greška pri određivanju udaljenosti

Svi proračuni opsega između koordinata zasnivaju se na proračunu dužine luka. Radijus Zemlje je uključen u izračunavanje dužine luka. Ali budući da je oblik Zemlje blizak spljoštenom elipsoidu, radijus Zemlje varira u određenim tačkama. Za izračunavanje udaljenosti između koordinata uzima se prosječna vrijednost Zemljinog radijusa, što daje grešku u mjerenju. Što je veća udaljenost koja se mjeri, veća je greška.

Neka je zadan pravougaoni koordinatni sistem.

Teorema 1.1. Za bilo koje dvije tačke M 1 (x 1; y 1) i M 2 (x 2; y 2) ravnine, udaljenost d između njih izražava se formulom

Dokaz. Ispustimo okomite M 1 B i M 2 A iz tačaka M 1 i M 2, respektivno

na osi Oy i Ox i označimo sa K tačku preseka pravih M 1 B i M 2 A (slika 1.4). Mogući su sljedeći slučajevi:

1) Tačke M 1, M 2 i K su različite. Očigledno, tačka K ima koordinate (x 2; y 1). Lako je vidjeti da je M 1 K = ôx 2 – x 1 ô, M 2 K = ôu 2 – y 1 ô. Jer ∆M 1 KM 2 je pravougaona, tada po Pitagorinoj teoremi d = M 1 M 2 = = .

2) Tačka K se poklapa sa tačkom M 2, ali je različita od tačke M 1 (slika 1.5). U ovom slučaju y 2 = y 1

i d = M 1 M 2 = M 1 K = ôx 2 – x 1 ô= =

3) Tačka K se poklapa sa tačkom M 1, ali je različita od tačke M 2. U ovom slučaju x 2 = x 1 i d =

M 1 M 2 = KM 2 = ôu 2 - y 1 ô= = .

4) Tačka M 2 poklapa se sa tačkom M 1. Tada je x 1 = x 2, y 1 = y 2 i

d = M 1 M 2 = O = .

Podjela segmenta u ovom pogledu.

Neka je na ravni dat proizvoljni segment M 1 M 2 i neka je M ─ bilo koja tačka ovog

segment različit od tačke M 2 (slika 1.6). Broj l, definiran jednakošću l = , zvao stav, u kojoj tački M dijeli segment M 1 M 2.

Teorema 1.2. Ako tačka M(x;y) dijeli segment M 1 M 2 u odnosu na l, tada su koordinate ove tačke određene formulama

x = , y = , (4)

gdje je (x 1;y 1) ─ koordinate tačke M 1, (x 2;y 2) ─ koordinate tačke M 2.

Dokaz. Dokažimo prvu od formula (4). Druga formula je dokazana na sličan način. Postoje dva moguća slučaja.

x = x 1 = = = .

2) Prava M 1 M 2 nije okomita na osu Ox (slika 1.6). Spustimo okomice iz tačaka M 1, M, M 2 na osu Ox i označimo tačke njihovog preseka sa osom Ox kao P 1, P, P 2, respektivno. Po teoremi o proporcionalni segmenti = l.

Jer P 1 P = ôx – x 1 ô, PP 2 = ôx 2 – xô i brojevi (x – x 1) i (x 2 – x) imaju isti predznak (na x 1< х 2 они положительны, а при х 1 >x 2 su negativni), onda

l = = ,

x – x 1 = l(x 2 – x), x + lx = x 1 + lx 2,

x = .

Posljedica 1.2.1. Ako su M 1 (x 1; y 1) i M 2 (x 2; y 2) dvije proizvoljne tačke i tačka M(x;y) je sredina segmenta M 1 M 2, tada

x = , y = (5)

Dokaz. Kako je M 1 M = M 2 M, onda je l = 1 i pomoću formula (4) dobijamo formule (5).

Površina trougla.

Teorema 1.3. Za bilo koje tačke A(x 1;y 1), B(x 2;y 2) i C(x 3;y 3) koje ne leže na istoj

prava linija, površina S trougla ABC je izražena formulom

S = ô(x 2 – x 1)(y 3 – y 1) – (x 3 – x 1)(y 2 – y 1)ô (6)

Dokaz. Površina ∆ ABC prikazana na sl. 1.7, računamo na sljedeći način

S ABC = S ADEC + S BCEF – S ABFD .

Izračunavamo površinu trapeza:

S ADEC =
,

S BCEF =

S ABFD =

Sada imamo

S ABC = ((x 3 – x 1)(y 3 + y 1) + (x 3 – x 2)(y 3 + y 2) - (x 2 – -x 1)(y 1 + y 2)) = (x 3 y 3 – x 1 y 3 + x 3 y 1 – x 1 y 1 + + x 2 y 3 – -x 3 y 3 + x 2 y 2 – x 3 y 2 – x 2 y 1 + x 1 y 1 – x 2 y 2 + x 1 y 2) = (x 3 y 1 – x 3 y 2 + x 1 y 2 – x 2 y 1 + x 2 y 3 –

X 1 y 3) = (x 3 (y 1 – y 2) + x 1 y 2 – x 1 y 1 + x 1 y 1 – x 2 y 1 + y 3 (x 2 – x 1)) = (x 1 (y 2 – y 1) – x 3 (y 2 – y 1) + +y 1 (x 1 – x 2) – y 3 (x 1 – x 2)) = ((x 1 – x 3)( y 2 – y 1) + (x 1 – x 2)(y 1 – y 3)) = ((x 2 – x 1)(y 3 – y 1) –

- (x 3 – x 1)(y 2 – y 1)).

Za drugu lokaciju ∆ ABC, formula (6) se dokazuje na sličan način, ali može ispasti sa znakom “-”. Stoga su u formulu (6) stavili znak modula.


Predavanje 2.

Jednačina prave na ravni: jednačina prave linije sa glavnim koeficijentom, opšta jednačina prava, jednačina prave u segmentima, jednačina prave koja prolazi kroz dvije tačke. Ugao između pravih, uslovi paralelnosti i okomitosti pravih na ravni.

2.1. Neka je na ravni dat pravougaoni koordinatni sistem i neka prava L.

Definicija 2.1. Jednačina oblika F(x;y) = 0, koja povezuje varijable x i y, naziva se jednačina linije L(u datom koordinatnom sistemu), ako ovu jednačinu zadovoljavaju koordinate bilo koje tačke koja leži na pravoj L, a ne koordinate bilo koje tačke koja ne leži na ovoj pravoj.

Primjeri jednadžbi pravih na ravni.

1) Razmotrimo pravu liniju paralelnu sa Oy osi pravougaonog koordinatnog sistema (slika 2.1). Označimo slovom A tačku preseka ove prave sa osom Ox, (a;o) ─ njen or-

dinats. Jednačina x = a je jednačina date linije. Zaista, ovu jednačinu zadovoljavaju koordinate bilo koje tačke M(a;y) ove prave i ne zadovoljavaju je koordinate bilo koje tačke koja ne leži na pravoj. Ako je a = 0, tada se prava linija poklapa sa osom Oy, koja ima jednadžbu x = 0.

2) Jednačina x - y = 0 definiše skup tačaka ravni koje čine simetrale I i III koordinatnog ugla.

3) Jednačina x 2 - y 2 = 0 ─ je jednačina dvije simetrale koordinatnih uglova.

4) Jednačina x 2 + y 2 = 0 definiše jednu tačku O(0;0) na ravni.

5) Jednačina x 2 + y 2 = 25 ─ jednačina kružnice poluprečnika 5 sa centrom u početku.

Izračunavanje udaljenosti između tačaka na osnovu njihovih koordinata u ravni je elementarno; na površini Zemlje je malo složenije: razmotrit ćemo mjerenje udaljenosti i početnog azimuta između tačaka bez transformacija projekcije. Prvo, da razumijemo terminologiju.

Uvod

Velika dužina luka kruga– najkraća udaljenost između bilo koje dvije točke koje se nalaze na površini sfere, mjerena duž linije koja spaja ove dvije tačke (takva prava se naziva ortodromija) i koja prolazi duž površine sfere ili druge površine okretanja. Sferna geometrija se razlikuje od normalne euklidske geometrije i jednadžbe udaljenosti također imaju drugačiji oblik. U euklidskoj geometriji, najkraća udaljenost između dvije tačke je prava linija. Na sferi nema pravih linija. Ove linije na sferi su dio velikih krugova - krugova čiji se centri poklapaju sa centrom sfere. Početni azimut- azimut, koji uzimajući kada se krene od tačke A, prateći veliki krug za najkraću udaljenost do tačke B, krajnja tačka će biti tačka B. Prilikom kretanja od tačke A do tačke B duž velike kružnice, azimut od trenutna pozicija do krajnje tačke B je konstantna i mijenja se. Početni azimut se razlikuje od konstantnog, nakon čega se azimut od trenutne do krajnje tačke ne mijenja, ali ruta kojom se prati nije najkraća udaljenost između dvije tačke.

Kroz bilo koje dvije tačke na površini kugle, ako nisu direktno jedna naspram druge (odnosno, nisu antipodi), može se nacrtati jedinstveni veliki krug. Dvije tačke dijele veliki krug na dva luka. Dužina kratkog luka je najkraća udaljenost između dvije tačke. Beskonačan broj velikih krugova može se nacrtati između dvije antipodne točke, ali udaljenost između njih će biti ista na bilo kojoj kružnici i jednaka polovini obima kruga, ili π*R, gdje je R polumjer sfere.

Na ravni (u pravougaonom koordinatnom sistemu) veliki krugovi i njihovi fragmenti, kao što je već spomenuto, predstavljaju lukove u svim projekcijama osim gnomonske, gdje su velike kružnice prave linije. U praksi to znači da avioni i drugi zračni prijevoz uvijek koriste rutu minimalnog razmaka između tačaka radi uštede goriva, odnosno let se odvija po velikoj kružnoj udaljenosti, u avionu izgleda kao luk.

Oblik Zemlje se može opisati kao sfera, tako da su jednadžbe udaljenosti velikih krugova važne za izračunavanje najkraće udaljenosti između tačaka na površini Zemlje i često se koriste u navigaciji. Izračunavanje udaljenosti ovom metodom je efikasnije i u mnogim slučajevima preciznije od izračunavanja za projektovane koordinate (u pravougaonim koordinatnim sistemima), jer, prvo, ne zahteva translaciju geografske koordinate u pravougaoni koordinatni sistem (izvršiti projekcijske transformacije) i, drugo, mnoge projekcije, ako su pogrešno odabrane, mogu dovesti do značajnih izobličenja dužine zbog karakteristika izobličenja projekcije. Poznato je da to nije kugla, već elipsoid koji preciznije opisuje oblik Zemlje, međutim, ovaj članak govori o proračunu udaljenosti konkretno na sferi; za proračune se koristi sfera polumjera 6.372.795 metara. , što može dovesti do greške u izračunavanju udaljenosti od 0,5%.

Formule

Postoje tri načina za izračunavanje sferne udaljenosti velikog kruga. 1. Teorema sfernog kosinusa U slučaju malih udaljenosti i male dubine proračuna (broj decimalnih mjesta), upotreba formule može dovesti do značajnih grešaka zaokruživanja. φ1, λ1; φ2, λ2 - geografska širina i dužina dvije tačke u radijanima Δλ - razlika u koordinatama u geografskoj dužini Δδ - ugaona razlika Δδ = arccos (sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ) Za prijevod ugaona udaljenost za metriku, trebate pomnožiti ugaonu razliku sa radijusom Zemlje (6372795 metara), jedinice konačne udaljenosti bit će jednake jedinicama u kojima je poluprečnik izražen (u ovom slučaju metrima). 2. Haversine formula Koristi se za izbjegavanje problema s kratkim udaljenostima. 3. Modifikacija za antipode Prethodna formula također je podložna problemu antipodnih tačaka, a za njegovo rješavanje koristi se sljedeća modifikacija.

Moja implementacija na PHP-u

// Zemljin radijus define("EARTH_RADIUS", 6372795); /* * Rastojanje između dve tačke * $φA, $λA - geografska širina, geografska dužina 1. tačke, * $φB, $λB - geografska širina, dužina 2. tačke * Napisano na osnovu http://gis-lab.info/ qa/great-circles.html * Mihail Kobzarev * */ funkcija izračuna udaljenost ($φA, $λA, $φB, $λB) ( // pretvori koordinate u radijane $lat1 = $φA * M_PI / 180; $lat2 = $φB * M_PI / 180; $long1 = $λA * M_PI / 180; $long2 = $λB * M_PI / 180; // kosinus i sinus geografskih širina i geografskih razlika $cl1 = cos($lat1); $cl2 = cos($ lat2 ); $sl1 = sin($lat1); $sl2 = sin($lat2); $delta = $long2 - $long1; $cdelta = cos($delta); $sdelta = sin($delta); // proračuni dužina velikog kruga $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; ) Primjer poziva funkcije: $lat1 = 77.1539; $long1 = -139.398; $lat2 = -77,1804; $long2 = -139,55; echo izračunajteUdaljenost($lat1, $long1, $lat2, $long2) . "metri"; // Povratak "17166029 metara"

Udaljenost između dvije tačke na ravni.
Koordinatni sistemi

Svaka tačka A ravni je okarakterisana svojim koordinatama (x, y). One se poklapaju sa koordinatama vektora 0A koji izlazi iz tačke 0 - početka koordinata.

Neka su A i B proizvoljne tačke ravni sa koordinatama (x 1 y 1) i (x 2, y 2), respektivno.

Tada vektor AB očigledno ima koordinate (x 2 - x 1, y 2 - y 1). Poznato je da je kvadrat dužine vektora jednak zbiru kvadrata njegovih koordinata. Dakle, rastojanje d između tačaka A i B, ili, što je isto, dužina vektora AB, određuje se iz uslova

d 2 = (x 2 - x 1) 2 + (y 2 - y 1) 2.

d = \/ (x 2 - x 1) 2 + (y 2 - y 1) 2

Rezultirajuća formula vam omogućava da pronađete udaljenost između bilo koje dvije točke na ravni, ako su poznate samo koordinate ovih tačaka

Svaki put kada govorimo o koordinatama određene tačke na ravni, mislimo na dobro definisan koordinatni sistem x0y. Općenito, koordinatni sistem na ravni se može birati na različite načine. Dakle, umjesto x0y koordinatnog sistema, možete uzeti u obzir x"0y" koordinatni sistem, koji se dobija rotiranjem starih koordinatnih osa oko početne tačke 0 u smjeru suprotnom od kazaljke na satu strelice na uglu α .

Ako je neka tačka ravni u koordinatnom sistemu x0y imala koordinate (x, y), onda u novi sistem koordinate x"0y" imat će različite koordinate (x, y").

Kao primjer, uzmite tačku M, smještenu na 0x-osi i odvojenu od točke 0 na udaljenosti od 1.

Očigledno, u koordinatnom sistemu x0y ova tačka ima koordinate (cos α ,sin α ), au koordinatnom sistemu x"0y" koordinate su (1,0).

Koordinate bilo koje dvije tačke na ravni A i B zavise od toga kako je koordinatni sistem specificiran u ovoj ravni. Ali udaljenost između ovih tačaka ne zavisi od metode određivanja koordinatnog sistema. Ovu važnu okolnost značajno ćemo iskoristiti u sljedećem paragrafu.

Vježbe

I. Pronađite udaljenosti između tačaka ravni sa koordinatama:

1) (3.5) i (3.4); 3) (0,5) i (5, 0); 5) (-3,4) i (9, -17);

2) (2, 1) i (- 5, 1); 4) (0, 7) i (3,3); 6) (8, 21) i (1, -3).

II. Odredi obim trokuta čije su stranice date jednadžbama:

x + y - 1 = 0, 2x - y - 2 = 0 i y = 1.

III. U koordinatnom sistemu x0y tačke M i N imaju koordinate (1, 0) odnosno (0,1). Pronađite koordinate ovih tačaka u novom koordinatnom sistemu, koji se dobija rotiranjem starih osa oko početne tačke za ugao od 30° u smeru suprotnom od kazaljke na satu.

IV. U koordinatnom sistemu x0y tačke M i N imaju koordinate (2, 0) i (\ / 3/2, - 1/2). Pronađite koordinate ovih tačaka u novom koordinatnom sistemu, koji se dobija rotiranjem starih osa oko početne tačke za ugao od 30° u smeru kazaljke na satu.

Svaka tačka A ravni je okarakterisana svojim koordinatama (x, y). One se poklapaju sa koordinatama vektora 0A koji izlazi iz tačke 0 - početka koordinata.

Neka su A i B proizvoljne tačke ravni sa koordinatama (x 1 y 1) i (x 2, y 2), respektivno.

Tada vektor AB očigledno ima koordinate (x 2 - x 1, y 2 - y 1). Poznato je da je kvadrat dužine vektora jednak zbroju kvadrata njegovih koordinata. Dakle, rastojanje d između tačaka A i B, ili, što je isto, dužina vektora AB, određuje se iz uslova

d 2 = (x 2 - x 1) 2 + (y 2 - y 1) 2.

$$ d = \sqrt((x_2 - x_1)^2 + (y_2 - y_1)^2) $$

Rezultirajuća formula vam omogućava da pronađete udaljenost između bilo koje dvije točke na ravni, ako su poznate samo koordinate ovih tačaka

Svaki put kada govorimo o koordinatama određene tačke na ravni, mislimo na dobro definisan koordinatni sistem x0y. Općenito, koordinatni sistem na ravni se može birati na različite načine. Dakle, umjesto koordinatnog sistema x0y, možemo uzeti u obzir koordinatni sistem xִy, koji se dobija kao rezultat rotacije starih koordinatnih osa oko početne tačke 0 u smjeru suprotnom od kazaljke na satu strelice na uglu α .

Ako je određena tačka ravni u koordinatnom sistemu x0y imala koordinate (x, y), onda će u novom koordinatnom sistemu xִy imati različite koordinate (x, y).

Kao primjer, razmotrite tačku M koja se nalazi na osi 0x i odvojena od tačke 0 na udaljenosti od 1.

Očigledno, u koordinatnom sistemu x0y ova tačka ima koordinate (cos α ,sin α ), au koordinatnom sistemu xִy koordinate su (1,0).

Koordinate bilo koje dvije tačke na ravni A i B zavise od toga kako je koordinatni sistem specificiran u ovoj ravni. I ovdje udaljenost između ovih tačaka ne zavisi od metode zadavanja koordinatnog sistema .

Ostali materijali