---
name: "Net::GPSD3::Return::TPV"
section: "3pm"
platform: "linux"
package: "libnet-gpsd3-perl"
version: "0.19-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::GPSD3::Return::TPV"
---

# Net::GPSD3::Return::TPV(3pm)

Net::GPSD3 Return TPV Object

## NAME

Net::GPSD3::Return::TPV - Net::GPSD3 Return TPV Object

## SYNOPSIS

```
  printf "Time: %s, Lat: %s, Lon: %s\n", $object->time, $object->lat, $object->lon;
```

## DESCRIPTION

Provides a Perl object interface to the Time-Velocity-Position (TVP) object returned by the GPSD daemon.

Example JSON objects:

*Protocol 3.1 Versions*

```
  {
    "class":"TPV",
    "tag":"MID2",
    "device":"/dev/ttyUSB0",
    "time":1253593085.470,
    "ept":0.005,
    "lat":38.88945123,
    "lon":-77.03522143,
    "track":171.7249,
    "speed":0.467,
    "mode":2
  }
  {
    "class":"TPV",
    "tag":"MID2",
    "device":"/dev/ttyUSB0",
    "time":1253593667.430,
    "ept":0.005,
    "lat":38.88945123,
    "lon":-77.03522143,
    "alt":146.911,
    "track":180.0000,
    "speed":0.194,
    "climb":-0.157,
    "mode":3
  }
```

*Protocol 3.4 Version*

```
  {
    "class":"TPV",
    "tag":"0x0106",
    "device":"/dev/cuaU0",
    "time":"2011-03-20T06:51:59.12Z",
    "ept":0.005,
    "lat":37.371427205,
    "lon":-122.015179890,
    "alt":25.789,
    "epx":1.926,
    "epy":1.808,
    "epv":6.497,
    "track":0.0000,
    "speed":0.000,
    "climb":0.000,
    "eps":3.85,
    "mode":3
  }
```

## METHODS PROPERTIES

### class

Returns the object class

### string

Returns the JSON string

### parent

Return the parent Net::GPSD object

### device

Name of originating device.

### tag

Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type.

### mode

NMEA mode: `%d`, 0=no mode value yet seen, 1=no fix, 2=2D, 3=3D.

### time

Seconds since the Unix epoch, UTC.  The value may have a fractional part of up to .01sec precision.

Note: In 2.96 (protocol 3.4) the TPV-\>time format changed from unix epoch to W3C, but this method hides that from the user.

### timestamp

W3C formated timestamp value either directly from the protocol \>= 3.4 or calculated \< 3.4.  The value may have a fractional part of up to .01sec precision.

Note: I expect that in protocol 3.5 the value will be passed directly as TPV-\>timestamp

### datetime

Returns a DateTime object

### lat

Latitude in degrees: +/- signifies West/East

### lon

Longitude in degrees: +/- signifies North/South.

### alt

Altitude in meters.

### speed

Speed over ground, meters per second.

### track

Course over ground, degrees from true north.

### climb

Climb (postive) or sink (negative) rate, meters per second.

### ept

Estimated timestamp error (%f, seconds, 95% confidence).

### epx

### epy

Latitude error estimate in meters, 95% confidence.

### epv

Estimated vertical error in meters, 95% confidence.

### eps

Speed error estimate in meters/sec, 95% confifdence.

### epd

Direction error estinmate in degrees, 95% confifdence.

### epc

Climb/sink error estinmate in meters/sec, 95% confifdence.

## METHODS VALUE ADDED

### point

Returns a GPS::Point Object

## BUGS

Log on RT and Send to gpsd-dev email list

## SUPPORT

DavisNetworks.com supports all Perl applications including this package.

Try gpsd-dev email list

## AUTHOR

```
  Michael R. Davis
  CPAN ID: MRDVT
  STOP, LLC
  domain=>michaelrdavis,tld=>com,account=>perl
  http://www.stopllc.com/
```

## COPYRIGHT

This program is free software licensed under the...

```
  The BSD License
```

The full text of the license can be found in the LICENSE file included with this module.

## SEE ALSO

Net::GPSD3, GPS::Point, Net::GPSD3::Return::Unknown
