---
name: "Geo::Inverse"
section: "3pm"
platform: "linux"
package: "libgeo-inverse-perl"
version: "0.09-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Geo::Inverse"
---

# Geo::Inverse(3pm)

Calculate geographic distance from a latitude and longitude pair

## NAME

Geo::Inverse - Calculate geographic distance from a latitude and longitude pair

## SYNOPSIS

```
  use Geo::Inverse;
  my $obj                         = Geo::Inverse->new();                       #default "WGS84"
  my ($lat1, $lon1, $lat2, $lon2) = (38.87, -77.05, 38.95, -77.23);
  my ($faz, $baz, $dist)          = $obj->inverse($lat1, $lon1, $lat2, $lon2); #array context
  my $dist                        = $obj->inverse($lat1, $lon1, $lat2, $lon2); #scalar context
  print "Input Lat: $lat1 Lon: $lon1\n";
  print "Input Lat: $lat2 Lon: $lon2\n";
  print "Output Distance: $dist\n";
  print "Output Forward Azimuth: $faz\n";
  print "Output Back Azimuth: $baz\n";
```

## DESCRIPTION

This module is a pure Perl port of the NGS program in the public domain "inverse" by Robert (Sid) Safford and Stephen J. Frakes.

## CONSTRUCTOR

### new

The **new()** constructor may be called with any parameter that is appropriate to the ellipsoid method which establishes the ellipsoid.

```
  my $obj = Geo::Inverse->new(); # default "WGS84"
```

## METHODS

### initialize

### ellipsoid

Method to set or retrieve the current ellipsoid object.  The ellipsoid is a Geo::Ellipsoids object.

```
  my $ellipsoid = $obj->ellipsoid;  #Default is WGS84
  $obj->ellipsoid('Clarke 1866'); #Built in ellipsoids from Geo::Ellipsoids
  $obj->ellipsoid({a=>1});        #Custom Sphere 1 unit radius
```

### inverse

This method is the user frontend to the mathematics. This interface will not change in future versions.

```
  my ($faz, $baz, $dist) = $obj->inverse($lat1,$lon1,$lat2,$lon2);
```

## LIMITATIONS

No guarantees that Perl handles all of the double precision calculations in the same manner as Fortran.

## LICENSE

Copyright (c) 2025 Michael R. Davis Copyright (c) 2005-2006 Jim Gibson, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

Geo::Ellipsoid, GIS::Distance::GeoEllipsoid, Geo::Calc
