Astro-App-Satpass2
view release on metacpan or search on metacpan
lib/Astro/App/Satpass2.pm view on Meta::CPAN
545556575859606162636465666768697071727374use
File::Spec;
use
File::Temp;
use
Getopt::Long 2.33;
use
IO::File 1.14;
use
IO::Handle;
use
Text::Abbrev;
BEGIN {
eval
{
load_package(
'Time::y2038'
)
and Time::y2038->
import
();
1;
}
or
do
{
lib/Astro/App/Satpass2.pm view on Meta::CPAN
101102103104105106107108109110111112113114115116117118119120121my
$have_time_hires
;
$have_time_hires
=
sub
{
my
$value
= load_package(
'Time::HiRes'
);
$have_time_hires
=
sub
{
return
$value
};
return
$value
;
};
my
$have_astro_spacetrack
;
$have_astro_spacetrack
=
sub
{
my
$value
= load_package( {
lib
=>
undef
},
'Astro::SpaceTrack'
) &&
eval
{
Astro::SpaceTrack->VERSION( ASTRO_SPACETRACK_VERSION );
1;
};
$have_astro_spacetrack
=
sub
{
$value
};
return
$value
;
};
my
$default_geocoder
;
$default_geocoder
=
sub
{
my
$value
=
_can_use_geocoder(
'Astro::App::Satpass2::Geocode::OSM'
lib/Astro/App/Satpass2.pm view on Meta::CPAN
28512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873}
sub
_set_spacetrack {
my
(
$self
,
$name
,
$val
) =
@_
;
if
(
defined
$val
) {
instance(
$val
,
'Astro::SpaceTrack'
)
or
$self
->wail(
"$name must be an Astro::SpaceTrack instance"
);
my
$version
=
$val
->VERSION();
$version
=~ s/ _ //smxg;
$version
>= ASTRO_SPACETRACK_VERSION
or
$self
->wail(
"$name must be Astro::SpaceTrack version "
,
ASTRO_SPACETRACK_VERSION,
' or greater'
);
}
return
(
$self
->{
$name
} =
$val
);
}
sub
_set_stdout {
my
(
$self
,
$name
,
$val
) =
@_
;
$self
->{frame}
and
$self
->{frame}[-1]{
$name
} =
$val
;
return
(
$self
->{
$name
} =
$val
);
}
lib/Astro/App/Satpass2.pm view on Meta::CPAN
490349044905490649074908490949104911491249134914491549164917491849194920492149224923# $self->_load_module ($module_name)
# Loads the module if it has not yet been loaded. Dies if it
# can not be loaded.
{
# Begin local symbol block
my
%version
;
BEGIN {
%version
= (
'Astro::SpaceTrack'
=> ASTRO_SPACETRACK_VERSION,
);
}
sub
_load_module {
my
(
$self
,
@module
) =
@_
;
ARRAY_REF eq
ref
$module
[0]
and
@module
= @{
$module
[0]};
@module
or
$self
->weep(
'No module specified'
);
my
@probs
;
foreach
my
$module
(
@module
) {
t/format_template.t view on Meta::CPAN
363738394041424344454647484950515253545556my
$app
= Astro::App::Satpass2->new();
my
$sta
= Astro::Coord::ECI->new()->geodetic(
deg2rad( 38.898748 ),
deg2rad( -77.037684 ),
16.68 / 1000,
)->set(
name
=>
'1600 Pennsylvania Ave NW Washington DC 20502'
);
my
$sun
= Astro::Coord::ECI::Sun->new();
my
$moon
= Astro::Coord::ECI::Moon->new();
# The following TLE is from
# SPACETRACK REPORT NO. 3
# Models for Propagation of NORAD Element Sets
# Felix R. Hoots and Ronald L. Roehrich
# December 1980
# Compiled by TS Kelso
# 31 December 1988
# Obtained from celestrak.com
# NASA line added by T. R. Wyant
my
(
$sat
) = Astro::Coord::ECI::TLE->parse( <<
'EOD'
);
None
1 88888U 80275.98708465 .00073094 13844-3 66816-4 0 8
( run in 0.452 second using v1.01-cache-2.11-cpan-55f5a4728d2 )