NAME
Time::Keeper::Eclipse::Local - a solar eclipse as one place sees it
VERSION
Version 0.01
SYNOPSIS
my $l = Time::Keeper::Eclipse->next(kind => 'solar', after => $t)->local(place => $sky);
$l->type; # partial | annular | total, there
$l->maximum; # a Time::Keeper value
$l->magnitude; $l->obscuration;
for ($l->contacts) { my ($name, $when, $altitude, $azimuth) = @$_ } # c1 c2 c3 c4
$l->duration; # of totality or annularity there, or undef
$l->is_seen; # the sun up for some of it
METHODS
type
partial, annular or total at the place.
maximum
The instant the sun's and the moon's centres are nearest, seen from the place, in the place's zone.
magnitude
The fraction of the sun's diameter covered at the maximum (over 1 in a total eclipse).
obscuration
The fraction of the sun's disc covered at the maximum, by area.
contacts
The contacts, in order, as [name, value, altitude, azimuth] with the sun's apparent altitude and azimuth there: c1 and c4, the discs first and last touching; c2 and c3, totality's or annularity's beginning and end. A contact may fall with the sun below the horizon: its altitude says so.
contact
my $c2 = $l->contact('c2'); # undef in a partial eclipse
duration
The duration of totality or annularity, a Time::Keeper::Duration, or undef.
sun_at_maximum
my ($altitude, $azimuth) = $l->sun_at_maximum;
is_seen
Whether the sun is up at some time between C1 and C4.
SEE ALSO
AUTHOR
LNATION, <email at lnation.org>
LICENSE AND COPYRIGHT
This software is Copyright (c) 2026 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)