X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fheading.pl;h=aa7bb2f83e8bfdaa3e602958070dd0df2be6f961;hb=337f38bfac57a5e5df34c63094fb869b0e2f6bee;hp=9273243504e0a7b6c73b782f68addfae4546c004;hpb=bdfc958f3d0fa912d20a020ac1a6cd2c79a22729;p=spider.git diff --git a/cmd/show/heading.pl b/cmd/show/heading.pl index 92732435..aa7bb2f8 100644 --- a/cmd/show/heading.pl +++ b/cmd/show/heading.pl @@ -1,5 +1,5 @@ # -# show the dxcc number for each callsign or prefix entered +# show the heading and distance for each callsign or prefix entered # # $Id$ # @@ -9,17 +9,26 @@ my @list = split /\s+/, $line; # generate a list of callsigns my $l; my @out; +my $lat = $self->user->lat; +my $long = $self->user->long; +if (!$long && !$lat) { + push @out, $self->msg('heade1'); + $lat = $main::mylatitude; + $long = $main::mylongitude; +} -print "line: $line\n"; foreach $l (@list) { - my @ans = Prefix::extract($l); - print "ans:", @ans, "\n"; - next if !@ans; - my $pre = shift @ans; - my $a; - foreach $a (@ans) { - push @out, sprintf "%s DXCC: %3d ITU: %3d CQ: %3d (%s, %s)", uc $l, $a->dxcc(), $a->itu(), $a->cq(), $pre, $a->name(); - } + # prefixes ---> + my @ans = Prefix::extract($l); + next if !@ans; + my $pre = shift @ans; + my $a; + foreach $a (@ans) { + my ($b, $dx) = DXBearing::bdist($lat, $long, $a->{lat}, $a->{long}); + my ($r, $rdx) = DXBearing::bdist($a->{lat}, $a->{long}, $lat, $long); + push @out, sprintf "%-9s (%s, %s) Bearing: %.0f Recip: %.0f %.0fKm %.0fMi", uc $l, $pre, $a->name(), $b, $r, $dx, $dx * 0.62133785; + $l = ""; + } } return (1, @out);