C library for Geodesics: inverse.c Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6 #include <stdio.h>
8
9 #if defined(_MSC_VER)
10
11 # pragma warning (disable: 4996)
12 #endif
13
14
15
16
17
18
19
20
22 double a = 6378137, f = 1/298.257223563;
23 double lat1, lon1, azi1, lat2, lon2, azi2, s12;
25
27 while (scanf("%lf %lf %lf %lf", &lat1, &lon1, &lat2, &lon2) == 4) {
28 geod_inverse(&g, lat1, lon1, lat2, lon2, &s12, &azi1, &azi2);
29 printf("%.15f %.15f %.10f\n", azi1, azi2, s12);
30 }
31 return 0;
32 }
API for the geodesic routines in C.
void GEOD_DLL geod_init(struct geod_geodesic *g, double a, double f)
void GEOD_DLL geod_inverse(const struct geod_geodesic *g, double lat1, double lon1, double lat2, double lon2, double *ps12, double *pazi1, double *pazi2)