Skip to content

Instantly share code, notes, and snippets.

@waltman
Created August 3, 2012 03:06
Show Gist options
  • Save waltman/3243963 to your computer and use it in GitHub Desktop.
Save waltman/3243963 to your computer and use it in GitHub Desktop.
sub decimal2dms {
my ($decimal) = @_;
my $sign = $decimal <=> 0;
my $degrees = int($decimal);
# convert decimal part to minutes
my $dec_min = abs($decimal - $degrees) * 60;
my $minutes = int($dec_min);
my $seconds = ($dec_min - $minutes) * 60;
return ($degrees, $minutes, $seconds, $sign);
}
sub dms2decimal {
my ($degrees, $minutes, $seconds) = @_;
my $decimal;
if ($degrees >= 0) {
$decimal = $degrees + $minutes/60 + $seconds/3600;
} else {
$decimal = $degrees - $minutes/60 - $seconds/3600;
}
return $decimal;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment