Geo::Constants - Package for standard Geo:: constants.


Geo-Constants documentation Contained in the Geo-Constants distribution.

Index


Code Index:

NAME

Top

Geo::Constants - Package for standard Geo:: constants.

SYNOPSIS

Top

  use Geo::Constants qw{PI DEG RAD}; #import into namespace
  print "PI:  ", PI(), "\n";
  print "d/r: ", DEG(), "\n";
  print "r/d: ", RAD(), "\n";

  use Geo::Constants;                #Perl OO
  my $obj = Geo::Constants->new();
  print "PI:  ", $obj->PI, "\n";
  print "d/r: ", $obj->DEG, "\n";
  print "r/d: ", $obj->RAD, "\n";

DESCRIPTION

Top

CONSTRUCTOR

Top

new

The new() constructor

  my $obj = Geo::Constants->new();

METHODS

Top

PI

  my $pi = $obj->PI;

  use Geo::Constants qw{PI};
  my $pi = PI();

DEG

  my $degrees_per_radian = $obj->DEG;

  use Geo::Constants qw{DEG};
  my $degrees_per_radian = DEG();

RAD

  my $radians_per_degree = $obj->RAD;

  use Geo::Constants qw{DEG};
  my $radians_per_degree = RAD();

KNOTS

1 nautical mile per hour = (1852/3600) m/s - United States Department of Commerce, National Institute of Standards and Technology, NIST Special Publication 330, 2001 Edition

Returns 1852/3600

TODO

Top

Add more constants

BUGS

Top

Please send to the geo-perl email list.

LIMITS

Top

AUTHOR

Top

Michael R. Davis qw/perl michaelrdavis com/

LICENSE

Top

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.

SEE ALSO

Top

Geo::Functions Geo::Ellipsoids


Geo-Constants documentation Contained in the Geo-Constants distribution.
require Exporter;
package Geo::Constants;

use strict;
#use vars qw($VERSION $PACKAGE @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
use vars qw($VERSION @ISA @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT_OK = (qw{PI DEG RAD KNOTS});
$VERSION = sprintf("%d.%02d", q{Revision: 0.06} =~ /(\d+)\.(\d+)/);

sub new {
  my $this = shift();
  my $class = ref($this) || $this;
  my $self = {};
  bless $self, $class;
  $self->initialize(@_);
  return $self;
}

sub initialize {
  my $self = shift();
}

sub PI {
  return 4 * atan2(1,1); #Perl should complile this as a constant
}

sub DEG {
  return 180 / PI(); #Degrees per radian
}

sub RAD {
  return PI() / 180; #Radians per degree
}

sub KNOTS {
  return 1852/3600; #1 nautical mile per hour = (1852/3600) m/s
}

1;

__END__