geodist.c File Reference

#include <math.h>
#include <grass/gis.h>
#include "pi.h"

Include dependency graph for geodist.c:

Go to the source code of this file.

Functions

int G_begin_geodesic_distance (double a, double e2)
 begin geodesic distance
int G_set_geodesic_distance_lat1 (double lat1)
 set geodesic distance lat1
int G_set_geodesic_distance_lat2 (double lat2)
 set geodesic distance lat2
double G_geodesic_distance_lon_to_lon (double lon1, double lon2)
 geodesic distance
double G_geodesic_distance (double lon1, double lat1, double lon2, double lat2)
 geodesic distance


Function Documentation

int G_begin_geodesic_distance ( double  a,
double  e2 
)

begin geodesic distance

Initializes the distance calculations for the ellipsoid with semi-major axis a (in meters) and ellipsoid eccentricity squared e2. It is used only for the latitude-longitude projection.

Parameters:
a 
e2 
Returns:
int

Definition at line 37 of file geodist.c.

References sqrt().

Referenced by G_begin_distance_calculations().

double G_geodesic_distance ( double  lon1,
double  lat1,
double  lon2,
double  lat2 
)

geodesic distance

Calculates the geodesic distance from lon1,lat1 to lon2,lat2 in meters. The calculation of the geodesic distance is fairly costly. These next three routines provide a mechanism for calculating distance with two fixed latitudes and varying longitude separation.

Parameters:
lon1 
lat1 
lon2 
lat2 
Returns:
double

Definition at line 202 of file geodist.c.

References G_geodesic_distance_lon_to_lon(), G_set_geodesic_distance_lat1(), and G_set_geodesic_distance_lat2().

Referenced by G_distance().

double G_geodesic_distance_lon_to_lon ( double  lon1,
double  lon2 
)

geodesic distance

Calculates the geodesic distance from lon1,lat1 to lon2,lat2 in meters, where lat1 was the latitude passed to G_set_geodesic_distance_latl and lat2 was the latitude passed to G_set_geodesic_distance_lat2.

Parameters:
lon1 
lon2 
Returns:
double

Definition at line 119 of file geodist.c.

References PI, Radians, sin(), and sqrt().

Referenced by G_geodesic_distance().

int G_set_geodesic_distance_lat1 ( double  lat1  ) 

set geodesic distance lat1

Set the first latitude.

Parameters:
lat1 
Returns:
int

Definition at line 60 of file geodist.c.

References atan(), Radians, and tan().

Referenced by G_geodesic_distance().

int G_set_geodesic_distance_lat2 ( double  lat2  ) 

set geodesic distance lat2

Set the second latitude.

Parameters:
lat2 
Returns:
int

Definition at line 77 of file geodist.c.

References atan(), cos(), Radians, sin(), and tan().

Referenced by G_geodesic_distance().


Generated on Sun Apr 6 17:32:19 2008 for GRASS by  doxygen 1.5.5