
GPS::SpaceTrack - Package for calculating the position of GPS satellites

use GPS::SpaceTrack;
my $obj=GPS::SpaceTrack->new(filename=>"gps.tle");
print join("\t", qw{Count PRN ELEV Azim SNR USED}), "\n";
foreach ($obj->getsatellitelist({lat=>38.870997, lon=>-77.05596})) {
print join("\t", $_->prn, $_->elev, $_->azim, $_->snr, $_->used), "\n";
}

This package can calculates the location of the GPS satellite constellation given the position of the receiver and a time which can be in the future.

Function naming convention is "format of the return" underscore "format of the parameters."

The new() constructor passes paramaters to the filename() method.
my $obj = GPS::SpaceTrack->new(filename=>$filename);

The getsatellitelist() method returns a list of Net::GPSD::Satellite objects. The getsatellitelist() method is a wrapper around getsatellitelist_rad() for data formatted in degrees instead of radians.
my $list=$obj->getsatellitelist({lat=>$lat, lon=>$lon, alt=>$hae, time=>$time}); #degrees, degrees, meters, seconds from epoch
my @list=$obj->getsatellitelist({lat=>$lat, lon=>$lon, alt=>$hae, time=>$time}); #degrees, degrees, meters, seconds from epoch
The getsatellitelist_rad() method returns a list of Net::GPSD::Satellite objects. This method is basically a wrapper around Astro::Coord::ECI::TLE.
my $list=$obj->getsatellitelist_rad({lat=>$lat, lon=>$lon, alt=>$hae, time=>$time}); #radians, radians, meters, seconds from epoch
my @list=$obj->getsatellitelist_rad({lat=>$lat, lon=>$lon, alt=>$hae, time=>$time}); #radians, radians, meters, seconds from epoch
Method to get or set the filename of the TLE data.
my $filename=$obj->filename; my $filename=$obj->filename(filename=>$filename);


Please send to the gpsd email list.


Michael R. Davis qw/perl michaelrdavis com/

Copyright (c) 2006 Michael R. Davis (mrdvt92)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Astro::Coord::ECI::TLE Geo::Functions GPS::PRN Net::GPSD::Satellite