Posted to tcl by jnc at Wed Jul 27 16:25:01 GMT 2011view raw
- et ::RADIAN_CONV 57.2957795131
- proc distance { lat1 lon1 lat2 lon2 } {
- set lat1 [expr {$lat1 / $::RADIAN_CONV}]
- set lat2 [expr {$lat2 / $::RADIAN_CONV}]
- set dlon [expr {($lon2 - $lon1) / $::RADIAN_CONV}]
- return [expr {acos(sin($lat1) * sin($lat2) + \
- cos($lat1) * cos($lat2) * cos($dlon)) * \
- 6371.0}]
- }
- puts [time {distance 41.0 -81.0 42.0 -82.0} 100000]