аЯрЁБс>ўџ ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџ I AL   !"#$%&'()*+,-./0123456789:;<=>?@ўџџџBCDEFGHJўџџџKMONPўџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRџџџџџџџџ РFшCеoУФ€'Workbook џџџџџџџџк _VBA_PROJECT_CUR" шCеoУФшCеoУФVBAџџџџџџџџшCеoУФшCеoУФ  !"#$%&'()*+,-./0123ўџџџ56789:;<=>?@ABCDўџџџFGHIJKLMNOPQRSTUўџџџWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€ %ЬШ@‡сАСт\p Rich Gibson BАa=гК ThisWorkbookœЏМ=xx$P<X@"Зк1"ШџCentury Schoolbook1"ШџМCentury Schoolbook1"ШџCentury Schoolbook1"ШџМCentury Schoolbook1"ШџCentury Schoolbook"$"#,##0_);\("$"#,##0\)!"$"#,##0_);[Red]\("$"#,##0\)""$"#,##0.00_);\("$"#,##0.00\)'""$"#,##0.00_);[Red]\("$"#,##0.00\)7*2_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_).))_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)?,:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)6+1_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_) Є0.0000Ѕ0.00000000000000000рѕџ Р рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР рѕџ єР р Р р+ѕџ јР р)ѕџ јР р,ѕџ јР р*ѕџ јР р ѕџ јР “€џ“џ“џ“џ“џ“€џ’т8џџџџџџџџџџџџ€€€€€€€€€РРР€€€€€џ€ `џџР рр`€џ€€€РРРџ€џџџџџџ€€€€€џЬџiџџЬџЬџџ™ІЪ№ЬœЬЬ™џууу3fџ3ЬЬ3™3™™3™f3™ffff™–––33Ь3ff333f3™3f33™BBB\џџџ`… Position Functions …v Sheet1ŒСС`iќџњЋœ%ПџЋœxњАxЖмПџЇШ ПџІ)]Р1ЌmПџЇyeKПџЈЬПџІ0t*Ф_ŠxќФ(™pПџЇAмПџІ˜ПџІ`tњ+4RПџІp@X_ŠZрР_ПџЇ$‹@Ё@ сlPDе\ChiПџЈgo]"XxЖмПџЈ@3%+(Dе\xй№ZмD_Šxќ8цІшDе\ќвПџЇПџЇxЗ„xйФuАПџЇ@ ПџЇPцДxыПџЇ` ПџЇ€]и@tПџЇ€%ПџЋœПџЋœЮц‚“ПџЋœygnџџџџxѕt‘VДПџЇА%‘V`ПџЬxцЄєПџЋœПџЇрПџЋž“ц‚ygnџџџџxѕt‘VДПџЇ№yg^xѕt‘VДПџЈ‘VШœMРПџЋЃПџЋЁxЗ„ПџЋЂПџЋ uАц•мцЄєxњАxЖмПџЊ ПџЈPt]Р&œ_huАПџЈhПџЈ œ`МœZрПџЋœ’тПџЋœПџЉаuАAмxњАПџЈ tш\џџџ[œZр},;@œ`М’тПџЋœuАПџЊ„xњАПџЊ^pPMПџЈ№- ПџЋœПџЉ0]а$"„ПџЈ tПџЉ0xЗ„]RxйФuА'uАyeцЄіПџЉ€ПџЊHџџџПџЉpxњА ь‡…““ТKС•‡…““ТKС•‡…““ПџЉ ‡…““ТKС•œMРцЄєСПџЋœПџЉаt я˜‡…““ПџЊ‡…““ТKС•œMРПџЊцЄє %ЬШ@&A Page &Pƒ„Ё"PhSeeр?р?џ> P %ЬШ@ .  dќЉёвMbP?_*+‚€%Сƒ„Ё"dќџр?р?U } Ж} I } m } I } Ж>Ж@  я7К Sheet1 Жџџџџџџџџџџџџџџџџџџџџџџџџx№дрџџџџОКџџ#ˆџџš‚њдEMџџџџџџџџџџпџџ џџџџџџPosition Functions (џџџџџџџџ8kThisWorkbookџџџџ40Sheet1џџџџџџџџE(_VBA_PROJECTџџџџџџџџџџџџV €D( € p €,Ра р№ јz8И а № €џџџџ €џџџџ B €. €.P €>€Ррш№`(ˆ €џџџџ €џџџџ B˜ €B  €Bш €&0 €X €>x €RИ €@ €8P €4ˆ €.Р €8№&( P` x€ ˜  Ј Р а № n np р   L 0  €N ˆ  и р ш  ј     8 @ H €џџџџ €џџџџ B P €D X €B   €& ш €  €> 0 €> p €8 А €4 ш €. €: P  Ј И иn шn X Ш ш( 8H P ` px€ €џџџџ €џџџџ Bˆ € €.Ј €2и €,4@xˆ Ј’РX` €џџџџ Bh €p €0ˆ €2И €,№ 0H €џџџџ BP €X €0p €2  €,и0 €џџџџ €џџџџ B8 €<@ €L€ €"а ј~ˆ €џџџџ B €6˜ €*а   0*@.p  €џџџџ BЈ €NА €   0@Phˆ €џџџџ BЖџџџџџџџџџџџџџџџџџџџџџџџџx№дџџџџО‚qџџџџёTбTIдEMџџџџџџџџџџпџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџпрџџџџџџџџџџL00 €џџџџџџџџxџџџџtXџџ џџџџŒicaIƒџџџџџџџџџџ џџџџ€ft  14рџџџџџџџџџџџџџџџџРџџ џџџџŒIƒџџџџџџџџџџ џџџџ€@џџџџџџџџџџџџџџџџ џџ џџџџŒIƒџџџџџџџџџџ џџџџ€  џџџџџџџџџџџџ$€џџ џџџџŒIƒ"џџџџџџџџџџ  €џџџџIƒ$џџџџџџџџџџ Р€џџIƒ&џџџџџџџџџџ р€џџџџџџIƒ(џџџџџџџџџџ џџџџ€џџџџ 14 ,аџџџџџџџџШџџџџџHџџ џџџџŒџџџџџџIƒ"џџџџџџџџџџ h€џџџџџџIƒ$џџџџџџџџџџ ˆ€џџџџџџIƒ&џџџџџџџџџџ Ј€Љˆ/aйIƒ(џџџџџџџџџџ џџџџ€ŸШA_ќњ 14 :˜џџџџџџџџџџџџШџџ џџџџ++ŒIƒ"џџџџџџџџџџ 0€Iƒ$џџџџџџџџџџ P€@Iƒ џџџџџџџџџџ p€ Iƒ<џџџџџџџџџџ џџџџ€ntos 14 N`џџџџџџџџXџџџџЕиџџ џџџџŒниmџџџџџџџџџџ  ш€e corrIƒŽџџџџџџџџџџ џџџџ€in nor 14 ” Иџџџџџџџџ Аџџџџh Pџџ џџџџ Œhis coIƒџџџџџџџџџџ  p€1, LonIƒ>џџџџџџџџџџ  €ecimalIƒŽџџџџџџџџџџ џџџџ€ring t 14 ’ `џџџџџџџџ Xџџџџa јџџ џџџџ ŒuticalIƒџџџџџџџџџџ  €itude Iƒ>џџџџџџџџџџ  8€ pointIƒŽџџџџџџџџџџ џџџџ€Єh 14 – џџџџџџџџ џџџџ:  џџ џџџџ Œ< Iƒџџџџџџџџџџ  Р€Z "Iƒ>џџџџџџџџџџ  р€'@`IƒŽџџџџџџџџџџ џџџџ€ 14 š Аџџџџџџџџ Јџџџџ Hџџ џџџџ ŒЌ@Iƒџџџџџџџџџџ  h€$Iƒ>џџџџџџџџџџ  ˆ€@IƒŽџџџџџџџџџџ џџџџ€$0 14 œ Xџџџџџџџџ Pџџџџ №џџ џџџџ Œ'HsIƒ>џџџџџџџџџџ  €JtiIƒџџџџџџџџџџ  0€LџџIƒŽџџџџџџџџџџ џџџџ€ $ 14 žџџџџџџџџ јџџџџ ˜џџ џџџџ ŒџџxIƒ>џџџџџџџџџџ  И€0Iƒџџџџџџџџџџ  и€Ќ@VIƒŽџџџџџџџџџџ џџџџ€џџ 14  Јџџџџџџџџ џџџџ:@џџ џџџџ Œ'Iƒ>џџџџџџџџџџ `€џџАIƒџџџџџџџџџџ €€ngitudIƒŽџџџџџџџџџџ џџџџ€articu 14 ЂPџџџџџџџџHџџџџ шџџ џџџџ Œon (laIƒ>џџџџџџџџџџ €lowingIƒŽџџџџџџџџџџ (€ nIƒ˜џџџџџџџџџџ џџџџ€8 r 14 Єјџџџџџџџџ№џџџџbџџ џџџџ ŒgitudeIƒ>џџџџџџџџџџ А€ken ovIƒŽџџџџџџџџџџ а€1, LonIƒ˜џџџџџџџџџџ џџџџ€ecimal 14 І џџџџџџџџ˜џџџџ8џџ џџџџ Œ2Iƒ>џџџџџџџџџџ X€ВГ\IƒŽџџџџџџџџџџ x€ HIƒ˜џџџџџџџџџџ џџџџ€PerRet 14 ЈЈџџџџџџџџ џџџџcрџџ џџџџŒes belIƒˆџџџџџџџџџџ €Dist =IƒЊџџџџџџџџџџ  €sВЕ$IƒŠџџџџџџџџџџ @€V$PIƒЌџџџџџџџџџџ `€ HIƒЎџџџџџџџџџџ €€PerRetIƒАџџџџџџџџџџ џџџџ€ mark 14 d8џџџџџџџџџџџџhшџџ џџџџ ŒDist =Iƒџџџџџџџџџџ џџџџ€sВЗt 14ЪџџџџџџџџџџLџџџџџџџџџџџџ Ш Тџџџџџџџџџџџџџџџџџџџџxџџ џџџџŒјIƒФџџџџџџџџџџ ˜€џџџџџџIƒЦџџџџџџџџџџ И€€IƒШџџџџџџџџџџ џџџџ€џџџџџџџџ џџџџџџџџџџџџџџџџ8џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/џџџџЪўw„ €џџџџ B @ €џџџџ BH6Pˆ €џџџџ B ˜И €џџџџ BР €.Ш €.ј €H˜ €@р €"  H~X €џџџџи €џџџџ Bр €Dш €40 hˆ €џџџџ B €D˜ €.р €0@H6XЈРBШ €џџџџ B €( €.@ €,p €4 и"ј$ HX €џџџџ B` €2h €0  €0а €0 €0PNhИ €џџџџ BР €2Ш €0 €00 €0` €АNШ €џџџџ €џџџџ B €2( €0` €0 €0Р €"№Lh €џџџџ Bp €2x €0А €0р €0 €"@h,€А €џџџџ BИ €2Р €0ј €0 ( €0 X €" ˆ А, Ш ј €џџџџ B! €2! €0!@ €0!p €0!  €!аN!№"@ €џџџџ B"H €2"P €0"ˆ €0"И €0"ш €#N#8#ˆ €џџџџ B# €2#˜ €0#а €0$ €0$0 €$`N$€$а €џџџџ B$и €2$р €0% €0%H €0%x €%Ј2%Ш& €џџџџ B& €2& €0&H €0&x €0&Ј €&и"&ј' €џџџџ B'( €2'0 €0'h €0'˜ €0'Ш €'ј:((X €џџџџ B(` €J(h €:(И(ј))0*)H)x)()  8)Ш(* 8*(*` 8*h* *Ј(*А 8*и(+ 8+8+p 8+x+А+И+Р €џџџџ B+Ш €*+а, ,, ,(,0,8 €џџџџ B,@ €D,H €, €N,А €&- -(.-8-hџџџџ-x$ZЌ@ !ћTD-ъl B  Ќ@f€'ionfџџ8€   Є $$ Є 'fџџpр Ќ@ $ 'fџџ@@и( Lat1, Lon1 - lat and lon for position 1и( Lat2, Lon2 - lat and lon for position 2џџи= Returns initial bearing (degrees) of great circle route fromџџџџи position 1 to position 2и& Assumes input is North = + , East = + $ (•  " & •џџЌ' aџџЌ@f€' hџџ№aџџш " $ & ($,'*ež &$$0 "$$0 *Є<$$2  *Є<$$0 "$$2$'.aКд œ .ЄД ' ( $ $$0Є •Єh  ' hџџјhџџ№fџџши( Lat1, Lon1 - lat and lon for position 1iи( Lat2, Lon2 - lat and lon for position 2и7 Returns distance between 2 positions in nautical milesT " & $ (•РЄ',aџџ "$'4 &$'6 ( $ $'8žЄ<ЄД  4$0 6$0 4$2 6$2 8$2 $',hџџpfџџhаи< Computes latitude of a new position at a particular initialи; bearing and distance from an initial position (lat1, lon1)и following a great circle routeи north = + east = +и8 reference for formulas - std mathematical tables pg 176иL Latitude will not be correct if looped around pole in north-south directionи: nor across the equator - possibly this could be correctedи2 Lat1, Lon1 - original position in decimal degreesи- Initial bearing to new point in true degreesи( Distance to new point in nautical milesи2 Returns latitude in decimal degrees for new point  Є  ЄД  Єh•  ЄД• 4 " <Є< ':aџџ€ " <Є< ': Lhџџ`aџџXЄZ " $'> $$'@`  <Є<ЄД'  $'BџџЌ@ >  Ќ@$2 >  Ќ@$2 BЌ@$F$'DfЌ@ >  Ќ@$0 >  Ќ@$0 BЌ@$F$'Hs D H Ќ@'Jti H D Ќ@'Lџџ "Є •\Ќ@f€ $0 B$0 J$0$ Ќ@V€ ':}#aџџxЌ@f€ $0 B$0 J$0$ Ќ@V€ ':fhџџ hџџ :ЄZ •S :ЄZ ':taџџ№ :ЄZ • :ЄД ':E AhџџРhџџИfџџА˜и= Computes longitude of a new position at a particular initialADи; bearing and distance from an initial position (lat1, lon1)D:Aи following a great circle routefи north = + east = +ficи8 reference for formulas - std mathematical tables pg 176\и8 Longitude will not be correct if taken over either polebи2 Lat1, Lon1 - original position in decimal degreesи- Initial bearing to new point in true degrees92и( Distance to new point in nautical miles0и3 Returns longitude in decimal degrees for new pointD:AЄZ " $'>s: $$'@f  <Є<ЄД'ic  $'BlЌ@ >  Ќ@$2 >  Ќ@$2 BЌ@$F$'DbЌ@ >  Ќ@$0 >  Ќ@$0 BЌ@$F$'Ha D H Ќ@'Jli H D Ќ@'Lof $ JЄД  'Nfic NЄД •L NЄh 'NsaџџА NЄД • NЄh 'Nrhџџˆhџџ€fџџx`и Height in metersи( RaderReticle = Radians per reticle markџџи, Reticles = number of reticles below horizonsWoи% RetDist = distance in nautical miles*DЄЄо RЄш RЄшЄ $'Sh VЄ•4 Ќ?§ЁЪРƒo'P*DaџџX Єо$'XžЄЌ?§ЁЪРƒoЄо RЄш  X V T $0ЄоЄЄо RЄш  X V T $2Є $ 'PВГ\hџџ fџџ˜и Height in metersи) RadPerReticle = Radians per reticle markи, Reticles = number of reticles below horizon№ВД„и% RetDist = distance in nautical milesВЕ$Ќ?t[l7`П]'TЕd R T V$P'ZЕЬfџџАи Height in metersи) RadPerReticle = Radians per reticle markи, Reticles = number of reticles below horizon№ВЖЌи% RetDist = distance in nautical milesВЗtЌ?VH@сqŸ€'Tў R T V$P'\8fџџ Ши6 Converts position field from degrees.minutes secondsВИиF specified as deg.mmss (e.g., 36 degrees, 58 minutes and 34 seconds isчюи 36.5834 )to decimal degrees№цЯи `'b№ч\ž `$d b b b ЄdЌ>фјЕˆуhё Є< Єd bЄd bЄdЌ>фјЕˆуhё  Є '^КФfџџ p€и0 Converts position field from decimal degrees to|Œи# degrees.minutes seconds (deg.mmss)№ВЛd h'j№4 j'l№ВЛє j l 'nМ„ nЄ<'p nЄ< p Є<Ќ?р 'r№ч8 h$d l pЄd rЄ' 'fН fџџ XшиG Converts position field from decimal degrees to degrees.minutes tenthsР(и specified as deg.mmttч – h'j№ч8 j'l№@B j l 'n|œ nЌ?у333333'pВРр h$d l p 'tВС`fџџ pPиB Converts position field from degrees.minutes hundreds of minutesи: specified as deg.mmtt (e.g., 36 degrees, 58.77 minutes isи 36.5877 )to decimal degrees№ВУT x'z№ВУtž x$d z z z ЄdЌ>фјЕˆуhё Є< Єd zЄd zЄdЌ>фјЕˆуhё  Єp 'vŒfџџ Ии> Computes ground distance from altitude and angle from horizonВХ|и. Distance units are the same as altitude unitsч$ ~ЄZ X $$F'|fџџp@и> Computes ground distance from altitude and angle from horizonВЦфи' Altitude should be specified in metersюи) Output distance units are nautical milesЄ p'‚ ~Є<'RŒЄ R ‚ RЄ Ќ?р ‚'„ X$ „ •ВШЌЎBeyond horizon'€Щaџџ8 ‚ X$ ‚ R  X$$2 ‚$ '€№\|ФhџџшfџџрРи Height in metersи( RaderReticle = Radians per reticle markЪtи& Distance = distance in nautical milesц5 и. DistRet = number of reticles from the horizonчŒ <ЄоЌ?§ЁЪРƒo'ˆВЫ\ЄоЄо RЄш $'X№ВЫм ˆ X ЄЄ ˆ'ŠВЬ„ Š T'†ўfџџ  hи+ Triangle with sides a,b,c and angles A,B,C№ВЬЄи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SASB - returns angle B|м  > Ž$’'ЮlЄД ŽЄ Є Є Є Ž $ 'ŒЯŒfџџ@ и+ Triangle with sides a,b,c and angles A,B,C№@B€и* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SASC - returns angle Cg`  > Ž$’'ndЄД Є ŽЄ Є Є  $ '”ndfџџр Ии+ Triangle with sides a,b,c and angles A,B,C @+€и* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SASa - returns length of a@џ Є ŽЄ Є  Ž >$$2 Ќ?р'’fџџ `и+ Triangle with sides a,b,c and angles A,B,C№ц <и* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи ASAb - returns length of bчŒЄД  Ž '˜ДЛ” > $$0 ˜$$0'–чюfџџH и+ Triangle with sides a,b,c and angles A,B,CчŒи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи ASAc - returns length of cЄД  Ž '˜ > Ž$$0 ˜$$0'šfџџ Аи+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSSA - returns angle AЄД Є ŽЄ >Є Є  Ž$ 'œfџџИ Xи+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSSB - returns angle BЄД >Є ŽЄ Є Є > Ž$ 'žfџџpи+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSSC - returns angle CЄД >Є Є ŽЄ Є > $ ' fџџ(Ји+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSAC - returns angle CЄД Ž ˜$$0 >$ 'ЂfџџјPи+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSAB - returns angle BЄД ˜ > Ž ˜$Ђ 'Єfџџији+ Triangle with sides a,b,c and angles A,B,Cи* Angle A is between b and c opposite aи* Angle B is between c and a opposite bи* Angle C is between a and b opposite cи SSASB - returns side b > > Ž ˜$Є$$0 ˜$$0'Іfџџ  иC Computes the closest distance between a point (xp,yp) and the lineи3 segment defined by the points (x1,y1) and (x2,y2). Ќ Њ  Š ˆ 'В Њ ˆ В 'Д А Ў В 'Ж Ж Д  В ВЄЄ 'И Ж И В 'К Њ Ќ• К Њ  Ќ Њ $dЄ • А Њ Є Ў ˆ Є Ќ?р'Ј К Ќ  Ќ Њ $dЄ b А Ќ Є Ў Š Є Ќ?р'Јaџџ˜ А К Є Ў И Є Ќ?р'ЈhџџXaџџP И ˆ  Š ˆ $dЄ • А Њ Є Ў ˆ Є Ќ?р'Ј И Š  Š ˆ $dЄ b А Ќ Є Ў Š Є Ќ?р'Јaџџˆ А К Є Ў И Є Ќ?р'ЈhџџHhџџ@fџџ8Ји$ Sign function - if x<0 = -1, else 1 Є •Є'daџџиЄ'dhџџШfџџР8и= Converts and consolidates position in seperate deg, min, secи into one d.dddd value.иG specified as deg, m, s (e.g., 36 degrees, 58 minutes and 34 seconds isи 36, 58, 34 ) to decimal degrees Ф'Ъ Ф$d Ъ ЦЄ< ШЄ 'ТfџџџџџџˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЏЖAttribute VB_Name = "Position Func s " Public Co@nst Piœ3.14159265358979 Fl RadiaРns(x) а(.рProcData Invok e_;ƒ \n1№4" 0v* x / 18Р0# EndЁ{0rivaЧ|arxcco{D CAtn(-CSqr(+ 1)) "+k/ 2 ,si>nj,€N# <- ‡< QЁ†PBearing(La€t1, Lonшat2‚2‰™„Ѓ™ ' (€Flat a•lшfor rp…ю1 ‚„Y 2@ Returns inР†al b/ (degre€es) of @@circle „roС•from€1G toЧ AAssumeAput is North@T+ , Ea€›= +B‚If (IР€2) TxhenBAbB€R ў<@MA„Q€€сСElseЦG Я‚™ССrIfB Š ddР€Ьdist§„r-)@qТrs…˜ara Фˆ(S@’ЫИ2РЁ- Ї2*@оs(E Р/ ˆ60)@ / _J/v Š Aˆ@)7†‡*AlmPiЧ&С+ on2€FAqР< 0Ь1Ї 3ќ60€фf i*@TР+ћ!d х‹Ы-Љ-`џ*g$?gЁ?gуЂ?gelC)gDance@gtРween 2ц`_€ nautic@k`milesbFZ=љBZ A€$Ё N `[D`0‚ЉTR €1л HM1†?2‹VњRс†=FЙСЅ>Ђ РФ(С80 Or чq4џ @TOV+0/ЁXV-ћpP1Pі Бd Бoњm0ў+Ц3Р>6п#GДЄ9е vauHў9QaсЦHA1GкJPн b Т ( (ТGёсЉ CAng@(LфъAPlusB0œ2# KЂБF(a0Єb)а 2#Q(D+ F* Tan(4бŸ0uйAMiўnœСOžDŸг Ÿ” Bu (Ф - Ф+ Za4(ѕ+ џSПб$т!}ф‰ Ё^п!P^!Бa А*ŒSaѓ ђŠPi)€N9(˜/' ™Aшbs(п(пВпќ0#*АJЄ !сЇ> 905Љ З-А… [< -ЯoА Љ-(з@Ъє80O fC ‘ ”“џpѓponџpngџpГМ$onџp/л"`VqїpongѓPАСqa§qlрq0“q4ъqџqжШаq@qqГ™t q&qqtak žover eiѓPnиle0Q6’оЁXld0l'eА‚lstЇnl.Жmiles ' Returns longitude in decimalgrees for new point a = Radians(90 - Lat1*):R 1BLo n8b0Pi * Distanc€e / (60180BCAngleCBearing APlusB 2#:Atn€(Cos((a‹db)R2#+Т * Taƒ// €)*MinqŒ*Sin* Є*BХ…e(Z- A4T)›Aa„y( + ƒ‹NewPo>sЊ€~­1* €Ё~Pi…)If (‡>) ThrcФУ ’@Ÿ00Ђ0‚[ x2@ (6-УA˜2€ТЃx1пAW @ /K[\jSASB(b, pa, c‰cСхbTrZ€Д with sideп,bP,c a@‰aAЛsР A,B,CР^AЙ!AA isРєtw een bТ c @opposiРƒa]Ъ Biф gbjCеiaт bgc`Ф -A9urn`!а B S A€(Рag"‚= 180S`dФ6(cр|2@byт+ C€ >A…cK Ђ)ЁhPiџ0C§є0Cџ0cbџ03џ0`6_џ0a6џ0ч;ѕ0Cю0Cї0C€3ы0у/- у1уё0#3* bѓ0N—Р=пˆ?ч“с11dR`eяbW11 b10leng y a qB= (%]%_a\bч`\с\)Чa)-‚р<^№ASAb1^с-џŸGŸGфWŸG$ŸGcAŸGўaŸGMpMv‘GС s€b "сG.-‹€P- ђ= aТDцn„У,Siг c—y‰y№cOe qПOЏwЁwoFя^я^ O§O я^ †я^fdпoFр^С O@cODіcFMcDOOмрSSSA(v`v;vџpOOO?v/Eв+OџOO№xП]€З{Ÿ..ЧAHВ8 A bнt§НEaQuasBŽRFВ_tЅŸBŸe PBŸџŸŸŸŸŸпŒкя-Яя-UŸŸSBžаŒЮS`’ +@ АŠ@’–/S.ŸŸCџŸ’џŠ?М2МDDDDd?-?-?-e DчDѕЈrЃSSџŠ№ŠaћŸ+Р“rsš‰)ПдonА+A’c,хУQAjКSAяяяoКQ,_‰ a p--b>e#Н/DК-‹-HД' SSAC - returns angle C А= 180 * arcsin(c(SRad@ians(AЌA@)) / aPi End Function РPublic жB(a, c, v Attribute.VB_ProcData Invoke_Q = " \n14" ' Tr€Јwith sideЙ,b,cПdУs A,B4,C, n A is betw een b+c @opposi@a]ŠB‰„+‡bŠCе‰a‚+b‡c€ЇjBŽВBВBlВ-Ÿ‰€Н “žЋSbЌ|SbџЌFaVElDVS“‰Vƒ bAVSb€VўaЬЌbKJТЏ‘Е Г…Е ClosestDistance@(x1, yРx&2РРxpРp)‡ˆЖL хbComp@Ц€s the cC d„ЦБa po int (Рyp†)BŸ line@ž segme€deТfd by‚Т Bs 1,y1ƒ(y2). Slope '(y62рQ/@ax1B)рInt1Рyr1 x1A,2p + xpƒг" x0Р(р-С)Ѕ€(у ^ v2Р yСЄ@/## f (Р<>‚ @ Then€е@KIр( -@1B ignЇ< 0)ˆр­8Ё(ypЄg# *т) р0„.5Ѓ Else(Š2/>?= ($џр*у.c›рJ чуK `ДIf€ Ёc sbр,- р;3Ё'x§ф= П'П'@(Џ'# ј* S*П'(Ѓ% GПф5уП'xH П' !БЧЃ'У(*Г Ц„#ŸЩ€!#мa f$щA Pif x<b-e eРO 1A77xу 4b= -"†<Єƒr%/{plitMinSecToDeg(0, , )FConvertЁƒd consolidatyru€€ in seperP deg, min, ё[ Ko one d.d value.Kpecаifie№|sT0 (e.g., 361rees,X 58’Ra€ 3Т4Ёonds`y€ 36! 4 ) topcimalѕ`x@ P Absћс NSlаёт№1š(+qрK60Р'ƒа 3600)‹cџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ(LSџџџџSџџџџ”Sџџџџ<џџџџџџ'0{00020819-0000-0000-C000-000000000046}пџџџџ8џўџџџџџџџџ(џџџџџџџџџџ$џџџџHџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЪў €џџџџџџџџџџџџxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЂАAttribute VB_Name = "ThisWorkbooˆk" ˆBasˆ0{000208Ј19-0Cƒ$0046} zCreatablA„False ИP€redeclaDIdˆTru !E xposeTemplateDeriv#bCus`tomiz„a Жџџџџџџџџџџџџџџџџџџџџџџџџx№дрџџџџОИџџ#ˆџџš‚њдEMџџџџџџџџџџпџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ(LSџџџџSџџџџ”Sџџџџ<џџџџџџ'0{00020820-0000-0000-C000-000000000046}пџџџџ8џўџџџџџџџџ(џџџџџџџџџџ 2$џџџџHџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЪў €џџџџџџџџџџџџxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџšАAttribute VB_Name = "She et1" рBasp0{0002`0820- C$0046} zCreatab‚l„False ИPredecla‰Id‚Tru !@ExposeTemplateD0eriv#bCuРstomiz„a Ьacџ  'Ё*\H{000204EF-0000-0000-C000-000000000046}#3.0#9#Macintosh HD:Applications:Microsoft Office X:Office:Visual Basic for Applications\0#Visual Basic For ApplicationsЌ*\H{00020813-0000-0000-C000-000000000046}#1.4#0#Macintosh HD:Applications:Microsoft Office X:Office:Type Libraries:Excel 10 Type Library#Microsoft Excel 10.0 Object Library}*\H{00020430-0000-0000-C000-000000000046}#2.0#0#Macintosh HD:Users:admin:wa:geohacks:chapter1:temp:stdole2.tlb#OLE Automation џџџџџџџџA‹иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџОPosition Functions 11418bd7ed*Dџџ‚qTйџџ ThisWorkbook e418bd75e*DНџџКŠџџSheet1 f418bd75e*DПџџИ0ŠџџџџџџPџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ0џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџи7Љ’/aй‚yŸШA_ќњџџџџи7Љ”/aй‚yŸШA_ќњџџџџи7Љ–/aй‚yŸШA_ќњџџџџџџџџ0€egџ-T „џbExcel+€VBAтїWin16~СWin32MacВГ geofunc.xlsstdole`“Position Functions Žc€ џ_EvaluateйPi^ЎRadiansœїxoarccosŸAtnuQSqrе(arcsinѓЪBearings$Lat1hdLon1ВdLat2heLon2Вedd\эPosdist6ФaradBSinгќCosORlat1GЉRlat2GЊRlonDŽ NewPosLatтODistance'БaXRlon1‘ЉCAngleЏQAPlusBЯTanи-AMinusBЊBAngle˜›Aangleх NewPosLonфORetDistUеHeight‹| RadPerReticleuсReticlesuAngleA€ RetDist7x50„Ќ RetDistBEŠ‚ MinSecToDegh MinSec`‚xMinSec0тSignљ8 DegToMinSecъEDecDeg~*xDecDegNŠIdeg%ADecimю‘iminU§isecut DegToMinTenяЉ‚ўџџџ„…†‡ˆ‰ŠўџџџŒўџџџŽ‘’“ўџџџ•–—ўџџџ™š›ўџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ MinTenToDegRУMinTeneцxMinTen6F ClinoDista†Altitude€U ClinoArcDist”я EarthRadiusЈmAlphaхЭDistRetIяx1_Оx2_ПSASBа cZSideA–SASaаSASCа!ASAbGqAngleAœЛASAcGrSSSA0"SSSB0#SSSC0$SSAC-ŠSSAB-‰SSASbA3ClosestDistanceo“y1_Oy2_Pxp_нyp_nSlope#еInt1\аInt2\бx0_Нy0_N ThisWorkbookу|Sheet1шWorkbookkSplitMinSecToDeg,Degƒ*„џMinГцSecг]xDegКџџTНП џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџ џџџџџџџџџџџџџџ6СБ€0Е ˜HШ ' „geofunc.xlDs8@Е = t и‹AJ J< rs@tdole>stdol@e ‡%}*\H{000Р20430-C 0046}#2.0#0#Macintosh HD:Users:admin:wa:Тhacks:chapter1:temp:B2.tlb#OLE AutoРmation€?"‚ƒ‚О€Posi F€Šs Q 2&€#Pnsisi€n Func†s€ dirџџџџџџџџџџџџƒХPROJECTwmџџџџџџџџџџџџ‹zPROJECT џџџџРSummaryInformation(џџџџ џџџџ”ь€H‚1žйT‹‚ ,‚Bq‚!‚ +‚ ThisWorkbook"Ž2€T"h€@sW€@rhkbРoРOŠтOК"ТEp€Sheet1‚sUУ2ТS@e€rtЈ1cИJBPosition Functions Position Functions ThisWorkbookThisWorkbookSheet1Sheet1ID="{34F1F540-FFD7-11D3-A733-00805F7783F8}" Module=Position Functions Document=ThisWorkbook/&H00000000 Document=Sheet1/&H00000000 Name="geofunc.xls" HelpContextID="0" CMG="B0B2717775777577757775" DPB="8082414242424242" GC="50529112921292ED" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] Position Functions =521, 241, 969, 579, ThisWorkbook=0, 0, 0, 0, C Sheet1=0, 0, 0, 0, C ўџ р…ŸђљOhЋ‘+'Гй0МHPdx  œ ЈД' Jeff Laake  Rich GibsonMicrosoft Excel@d9%ШЛ@Ж“~ыЖЛ@€Rп МBСDocumentSummaryInformation8џџџџџџџџџџџџ˜єCompObjџџџџџџџџџџџџœXџџџџџџџџџџџџџџџџџџџџџџџџўџ еЭеœ.“—+,љЎ0Ф PXd lt|„ Œ Ÿ't1$ Sheet1  Worksheetsўџџџџџ РFMicrosoft Excel Worksheetўџџџ8FIBExcel.Sheet.8