added some stuff to the newprot
[spider.git] / cmd / show / sun.pl
index 1e9b9b06f84716ffc75aa0167057f414ca04dd20..07172ce05b34cafaa794bf840b9d7d6a2fc51fa0 100644 (file)
@@ -3,7 +3,7 @@
 # show sunrise and sunset times for each callsign or prefix entered
 #
 # 1999/11/9 Steve Franke K9AN
-#
+# 2000/10/27 fixed bug involving degree to radian conversion.
 
 my ($self, $line) = @_;
 my @list = split /\s+/, $line;
@@ -21,7 +21,7 @@ if (@list) {
        foreach $l (@list) {
                my $user = DXUser->get_current(uc $l);
                if ($user && $user->lat && $user->long) {
-                       push @in, [$user->qth, $user->lat * $d2r, $user->long * -$d2r, uc $l ];
+                       push @in, [$user->qth, $user->lat, -$user->long, uc $l ];
                } else {
                        # prefixes --->
                        my @ans = Prefix::extract($l);
@@ -30,24 +30,24 @@ if (@list) {
                        my $a;
                        foreach $a (@ans) {
                                $lat = $a->{lat};
-                               $lon = $a->{long};
-                               $lat *= $d2r;
-                               $lon *= -$d2r;
+                               $lon = -$a->{long};
                                push @in, [ $a->name, $lat, $lon, $pre ];
                        }
                }
        }
 } else {
        if ($self->user->lat && $self->user->long) {
-               push @in, [$self->user->qth, $self->user->lat * $d2r, $self->user->long * -$d2r, $self->call ];
+               push @in, [$self->user->qth, $self->user->lat, -$self->user->long, $self->call ];
        } else {
-               push @in, [$main::myqth, $main::mylatitude * $d2r, $main::mylogitude * -$d2r, $main::mycall ];
+               push @in, [$main::myqth, $main::mylatitude, -$main::mylongitude, $main::mycall ];
        }
 }
 
+push @out, $self->msg('sun');
 foreach $l (@in) {
-       my $string=Sun::riseset($yr,$month,$day,$l->[1],$l->[2]);
-       push @out,sprintf("%-2s   %s   %s",$l->[3],$l->[0],$string);
+       my ($rise, $set, $az, $dec )=Sun::rise_set($yr,$month,$day,$hr,$min,$l->[1],$l->[2],0);
+       $l->[3] =~ s{(-\d+|/\w+)$}{};
+       push @out,sprintf("%-6.6s %-30.30s %s %s %6.1f %6.1f ", $l->[3], $l->[0], $rise, $set, $az, $dec);
 }