Haversine formula: Difference between revisions

m
(adding lambdatalk)
Line 1,915:
{haversine 36.12 -86.67 33.94 -118.40}
-> 2887.2599506071106
 
or, using
 
{def deg2dec
{lambda {:s :w}
{let { {:s {if {or {W.equal? :s W}
{W.equal? :s S}} then - else +}}
{:dm {S.replace ° by space in
{S.replace ' by in :w}}}
} :s{S.get 0 :dm}.{round {* {/ 100 60} {S.get 1 :dm}}}}}}
-> deg2dec
 
we can just write
 
{haversine
{deg2dec N 36°7.2'}
{deg2dec W 86°40.2'}
{deg2dec N 33°56.4'}
{deg2dec W 118°24.0'}}
-> 2887.2599506071106
 
</syntaxhighlight>
 
99

edits