Keys →
Functions ↓
function toDms ( $a,$ll ) {#-k geo# $a - signed direction;# $ll -1 - unknown - sign only; will return a value if we can figure it out# 0 - longitude - EW# 1 - latitude - NS $dir['N'] = $dir['E'] = '+'; $dir['S'] = $dir['W'] = '-'; $let = $sgn = '+'; if (is_alpha($a[0])) { $let = $a[0]; $a = substr($a,1); $sgn = $dir[$let]; } elseif ($a < 0) { $sgn = '-'; $a = abs($a); } if ($ll and ($sgn == '-')) $let = 'S'; elseif ($ll) $let = 'N'; elseif ($sgn == '-') $let = 'W'; else $let = 'E'; $dd = $a; $d = floor($a); $m = floor(($a - $d)*60); $s = round(($a - $d - $m/60)*3600,2);# correct for round/truncation if (abs(60-$s) < 0.01) { $s = 0; $m++; } if ($m > 60) { $m -= 60; $d++; } if (abs(60-$m) < 0.01) { $m = 0; $d++; } if (strlen($m) < 2) $m = '0' . $m; if (strlen(floor($s) < 2)) $s = '0' . $s; $ar['AD'] = $let . $dd; $ar['SD'] = $sgn . $dd; $ar['DMS' ] = $sgn . $d . ':' . $m . ':' . $s; $ar['fancy'] = $d . '°' . $m . '’' . $s . '”' . $let; if ($ll==1) $ar['ISO6709'] = $sgn . sprintf('%02d',$d) . sprintf('%02d',$m) . sprintf('%02d',round($s)); elseif ($ll==0) $ar['ISO6709'] = $sgn . sprintf('%03d',$d) . sprintf('%02d',$m) . sprintf('%02d',round($s)); return $ar; }?>