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
To install GPS::SpaceTrack, copy and paste the appropriate command in to your terminal.
cpanm
cpanm GPS::SpaceTrack
CPAN shell
perl -MCPAN -e shell install GPS::SpaceTrack
For more information on module installation, please visit the detailed CPAN module installation guide.