NAME
GPS::Point - Provides an object interface for a GPS point.
SYNOPSIS
use GPS::Point;
$obj=GPS::Point->new(
time => $time, #float seconds from the unix epoch
lat => $lat, #signed degrees
lon => $lon, #signed degrees
alt => $hae, #meters above the WGS-84 ellipsoid
speed => $speed, #meters/second (over ground)
heading => $heading, #degrees clockwise from North
climb => $climb, #meters/second
etime => $etime, #float seconds
ehorizontal => $ehz, #float meters
evertical => $evert, #float meters
espeed => $espeed, #meters/second
eheading => $ehead, #degrees
eclimb => $eclimb, #meters/second
mode => $mode, #GPS mode [?=>undef,None=>1,2D=>2,3D=>3]
tag => $tag, #Name of the GPS message for data
);
print $point->latlon. "\n"; #use a "." here to force latlon to a scalar
my ($x,$y,$z)=$point->ecef; #if Geo::ECEF is available
my $GeoPoint=$point->GeoPoint; #if Geo::Point is available
my @distance=$point->distance($point2); #if Geo::Inverse is available
my $distance=$point->distance($point2); #if Geo::Inverse is available
my $obj=GPS::Point->newGPSD($GPSD_O_line);#e.g. GPSD,O=....
SYNOPSIS TODO
my $obj=GPS::Point->newNMEA($NMEA_lines); #e.g. GGA+GSA+RMC
DESCRIPTION
This is a re-write of Net::GPSD::Point that is more portable.
GPS::Point - Provides an object interface for a GPS fix (e.g. Position, Velocity and Time). (Note: Please use Geo::Point, if you want 2D or projection support.See GeoPoint method)
USAGE
CONSTRUCTOR
new
my $obj = GPS::Point->new();
newGPSD
my $obj=GPS::Point->newGPSD($GPSD_O_line);#e.g. GPSD,O=....
METHODS
time
Sets or returns seconds since the Unix epoch, UTC (float, seconds)
print $obj->time, "\n";
lat
Sets or returns Latitude (float, degrees)
print $obj->lat, "\n";
lon
Sets or returns Longitude (float, degrees)
print $obj->lon, "\n";
alt
Sets or returns Altitude (float, meters)
print $obj->alt, "\n";
speed
Sets or returns speed (float, meters/sec)
print $obj->speed, "\n";
heading
Sets or returns heading (float, degrees)
print $obj->heading, "\n";
climb
Sets or returns vertical velocity (float, meters/sec)
print $obj->climb, "\n";
etime
Sets or returns estimated timestamp error (float, seconds, 95% confidence)
print $obj->etime, "\n";
ehorizontal
Sets or returns horizontal error estimate (float, meters)
print $obj->ehorizontal, "\n";
evertical
Sets or returns vertical error estimate (float, meters)
print $obj->evertical, "\n";
espeed
Sets or returns error estimate for speed (float, meters/sec, 95% confidence)
print $obj->espeed, "\n";
eheading
Sets or returns error estimate for course (float, degrees, 95% confidence)
print $obj->eheading, "\n";
eclimb
Sets or returns Estimated error for climb/sink (float, meters/sec, 95% confidence)
print $obj->eclimb, "\n";
mode
Sets or returns the NMEA mode (integer, undef=no mode value yet seen, 1=no fix, 2=2D, 3=3D)
print $obj->mode, "\n";
tag
Sets or returns a tag identifying the last sentence received. For NMEA devices this is just the NMEA sentence name; the talker-ID portion may be useful for distinguishing among results produced by different NMEA talkers in the same wire. (string)
print $obj->tag, "\n";
latlon
Returns Latitude, Longitude as an array in array context and as a space joined string in scalar context
my @latlon=$point->latlon;
my $latlon=$point->latlon;
ecef
Returns ECEF coordinates
my ($x,$y,$z) = $point->ecef;
my @xyz = $point->ecef;
my $xyz = $point->ecef; #[] if Geo::ECEF::VERSION >= 0.08
GeoPoint
Returns GeoPoint Object
my $gp = $point->GeoPoint;
distance
Returns distance
my $gp = $point->distance($pt2);
my $gp = $point->distance($lat, $lon);
BUGS
SUPPORT
Try GPSD-DEV email list
AUTHOR
Michael R. Davis
CPAN ID: MRDVT
DavisNetworks.com
account=>perl,tld=>com,domain=>michaelrdavis
http://www.davisnetworks.com/
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
Geo::Point, Net::GPSD::Point, Geo::Distance, Geo::ECEF, Geo::Functions