Räkna ut kurs till Waypoint
Räkna ut kurs till Waypoint
Hej!
Undrar hur jag räknar ut kursen till en waypoint om jag vet
"min" Lat/Lon och waypointens Lat/Lon?
Skall ha det till min robot som är baserd på en Parallax Propeller.
Undrar hur jag räknar ut kursen till en waypoint om jag vet
"min" Lat/Lon och waypointens Lat/Lon?
Skall ha det till min robot som är baserd på en Parallax Propeller.
Polära <-> Ortonomerat koordinater
Ta fram dina gamla matteböcker och studera cirkelmattematik enl ovan.
Om du orkar kan du lusläsa min kod i dessa program.
http://www.pellesoft.se/communicate/use ... spx?tid=69
Klicka i radarbilden så räknas vinkel och avstånd ut
http://www.pellesoft.se/communicate/use ... px?tid=646
http://wapedia.mobi/sv/Pol%C3%A4ra_koordinater
Börja att omvandla Waypointens Lat/Long till sekunder
Omvandla dess sekunder till decimal tal, som blir en position
i ett koordinat system där du sitter i origo.
Origo är din Lat/Long omvandlad till position koordinater i sek dec.
Jag bor på 59:04:30 blir dec Lat 59,750.
Long 18:07 dec 18,1166 mina long = X Lat = Y
Gör samma med Waypointen
Om du orkar kan du lusläsa min kod i dessa program.
http://www.pellesoft.se/communicate/use ... spx?tid=69
Klicka i radarbilden så räknas vinkel och avstånd ut
http://www.pellesoft.se/communicate/use ... px?tid=646
http://wapedia.mobi/sv/Pol%C3%A4ra_koordinater
Börja att omvandla Waypointens Lat/Long till sekunder
Omvandla dess sekunder till decimal tal, som blir en position
i ett koordinat system där du sitter i origo.
Origo är din Lat/Long omvandlad till position koordinater i sek dec.
Jag bor på 59:04:30 blir dec Lat 59,750.
Long 18:07 dec 18,1166 mina long = X Lat = Y
Gör samma med Waypointen
Senast redigerad av SvenPon 20 november 2007, 01:34:24, redigerad totalt 1 gång.
Kurs till waypoint
Det finns två fall du måste tänka på.
I en funktion löser du det med en Ifsats
Waypoint ligger på Lat 58 och Long 18 ______X = 18 Y = 58
Fall 1 din Lat 59 är större än waypoint Lat 58 Y i koordinat systemet
ex. waypoint ligger på Lat 58 och Long 18
Då blir Lat 58 -58 därför att du ligger på 59
då blir kursen 90 - Atn( -58 /18 ) = 163 gr "Räknaren ställd på grader)
Fall 2 din Lat 59 är mindre än waypoint Lat 60 Y i koordinat systemet
då blir kursen 270 - Atn( 60 /18 ) = 017 gr "Räknaren ställd på grader)
Enkel Basic kod:
Dim X As Double, Y As Double
Dim Kurs As Long
X = 18: Y = -58
Kurs = Atn(Y / X) * (180 / 3.14159)
'Datorn svarar i radianer därför 180/Pi nu får jag grader
If X >= 0 Then
Kurs = 90 - Kurs
MsgBox Kurs
Else
Kurs = 270 - Kurs
MsgBox Kurs
End If
OBS
i exemplet ovan kan Long X också få - tecken
om wapoint Long är mindre än din Long
Detta måste du alltid kolla först.
Waypoint koordinater - dina koordinater Dec
I en funktion löser du det med en Ifsats
Waypoint ligger på Lat 58 och Long 18 ______X = 18 Y = 58
Fall 1 din Lat 59 är större än waypoint Lat 58 Y i koordinat systemet
ex. waypoint ligger på Lat 58 och Long 18
Då blir Lat 58 -58 därför att du ligger på 59
då blir kursen 90 - Atn( -58 /18 ) = 163 gr "Räknaren ställd på grader)
Fall 2 din Lat 59 är mindre än waypoint Lat 60 Y i koordinat systemet
då blir kursen 270 - Atn( 60 /18 ) = 017 gr "Räknaren ställd på grader)
Enkel Basic kod:
Dim X As Double, Y As Double
Dim Kurs As Long
X = 18: Y = -58
Kurs = Atn(Y / X) * (180 / 3.14159)
'Datorn svarar i radianer därför 180/Pi nu får jag grader
If X >= 0 Then
Kurs = 90 - Kurs
MsgBox Kurs
Else
Kurs = 270 - Kurs
MsgBox Kurs
End If
OBS
i exemplet ovan kan Long X också få - tecken
om wapoint Long är mindre än din Long
Detta måste du alltid kolla först.
Waypoint koordinater - dina koordinater Dec
Nu var det längesedan jag pysslade med detta, men vill minnas att det inte är fullt så enkelt. Och det eftersom avståndet mellan longituderna varierar beroende på vilken latitud du befinner dig, medan latituderna ligger på samma avstånd hela tiden.
dvs en grad latitud är inte lika lång som en grad longitud, utom runt ekvatorn.
dvs en grad latitud är inte lika lång som en grad longitud, utom runt ekvatorn.
Lat Long
Och det eftersom avståndet mellan longituderna varierar beroende på vilken latitud du befinner dig, medan latituderna ligger på samma avstånd hela tiden.
mmm.... det ligger något i det men på stora ytor ( Sverige ) är det försumbart.
Skall man ta kursen till tex NewYork får man göra dessa beräkningar
vid flera tillfälle och korrigera kursen ( Storcirkelnavigering)
mmm.... det ligger något i det men på stora ytor ( Sverige ) är det försumbart.
Skall man ta kursen till tex NewYork får man göra dessa beräkningar
vid flera tillfälle och korrigera kursen ( Storcirkelnavigering)
Longitudfel
Det största felet får du om du tvingas korsa många Longituder samtidigt
som du flyttar dig långt i Latitud. Om du tar kursen till SydAfrika så blir felet 0.
Om du nu får något fel så är det när du flyttar dig långt på kurs
045 135 225 315.
Sveriges Västligaste Long är 11:10 Strömstad
Sveriges Ostligaste Long är 24:08 Haparanda ~ 13 Long grader
Det blir det största fel du kan få i Sverige max någon grad på kursen
Sven som har Styrmansexamen.
Ursprungsfrågan gäller säkert korta avstånd någon Km eller sådär.
Då duger mitt exempel utmärkt.
Väntar på någon FeedBack från Marcla
som du flyttar dig långt i Latitud. Om du tar kursen till SydAfrika så blir felet 0.
Om du nu får något fel så är det när du flyttar dig långt på kurs
045 135 225 315.
Sveriges Västligaste Long är 11:10 Strömstad
Sveriges Ostligaste Long är 24:08 Haparanda ~ 13 Long grader
Det blir det största fel du kan få i Sverige max någon grad på kursen
Sven som har Styrmansexamen.
Ursprungsfrågan gäller säkert korta avstånd någon Km eller sådär.
Då duger mitt exempel utmärkt.
Väntar på någon FeedBack från Marcla
Ex. vi befinner oss på 60 graders latitud, och skall ta ut en kurs till en punkt en grad i både longitud och latitud längre bort (dvs ett elakt fall, men inte orimligt).
Om vi räknar som om sträckorna vore lika långa så blir kursen 45 grader. I verkligheten så är longituderna bara cos(60) av sin forna storlek, dvs bara hälften så lång. Verkliga kursen borde bli 63 grader. Ett fel på 18 grader. Med ett sådant fel vill man inte köra allt för långt.
(Med reservation att jag tänkt för fort, lite eller fel.)
Om vi räknar som om sträckorna vore lika långa så blir kursen 45 grader. I verkligheten så är longituderna bara cos(60) av sin forna storlek, dvs bara hälften så lång. Verkliga kursen borde bli 63 grader. Ett fel på 18 grader. Med ett sådant fel vill man inte köra allt för långt.
(Med reservation att jag tänkt för fort, lite eller fel.)
Nä Nä
Här är något fel i din logik/mattematik.
Skall bevisräkna på ditt exempel. Återkommer på dena kanal
En grad ger i princip noll fel. Förstår ditt resonemang halv Long på Lat 60.
Cos( 60 ) är 0.5 Cos( 61 ) = 0.4848.... det blir på några 0.0001... decimaler fel.
Skulle 1 gr Long och Lat ge 18 gr fel skulle det vara katastrof för mig och min Hkp
Skall bevisräkna på ditt exempel. Återkommer på dena kanal
En grad ger i princip noll fel. Förstår ditt resonemang halv Long på Lat 60.
Cos( 60 ) är 0.5 Cos( 61 ) = 0.4848.... det blir på några 0.0001... decimaler fel.
Skulle 1 gr Long och Lat ge 18 gr fel skulle det vara katastrof för mig och min Hkp
Oxelösund-Visby
Ta inte illa upp detta är utbildning i cirkelmatte för GPS elektonik och PC
Ett exempel som Vi kan ha som reference.
Oxelösund - Visby
58:40 -17:07 till 57:38 - 18:17 Ganska nära ditt exempel.
Om det blir 18gr fel här så hamnar på Hoburgen eller Gotska Sandön
Drog ur minnet kurs ~ 130-140
Ett exempel som Vi kan ha som reference.
Oxelösund - Visby
58:40 -17:07 till 57:38 - 18:17 Ganska nära ditt exempel.
Om det blir 18gr fel här så hamnar på Hoburgen eller Gotska Sandön
Drog ur minnet kurs ~ 130-140
Senast redigerad av SvenPon 20 november 2007, 15:18:29, redigerad totalt 3 gånger.