C library for Geodesics
1.38
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
planimeter.c
Go to the documentation of this file.
1
/**
2
* @file planimeter.c
3
* @brief A test program for geod_polygon_compute()
4
**********************************************************************/
5
6
#include <stdio.h>
7
#include "
geodesic.h
"
8
9
#if defined(_MSC_VER)
10
/* Squelch warnings about scanf */
11
# pragma warning (disable: 4996)
12
#endif
13
14
/**
15
* A simple program to compute the area of a geodesic polygon.
16
*
17
* This program reads in lines with lat, lon for each vertex
18
* of a polygon. At the end of input, the program prints the number of
19
* vertices, the perimeter of the polygon and its area (for the WGS84
20
* ellipsoid).
21
**********************************************************************/
22
23
int
main
() {
24
double
a
= 6378137,
f
= 1/298.257223563;
/* WGS84 */
25
double
lat, lon, A, P;
26
int
n;
27
struct
geod_geodesic
g;
28
struct
geod_polygon
p;
29
geod_init
(&g, a, f);
30
geod_polygon_init
(&p, 0);
31
32
while
(scanf(
"%lf %lf\n"
, &lat, &lon) == 2)
33
geod_polygon_addpoint
(&g, &p, lat, lon);
34
n =
geod_polygon_compute
(&g, &p, 0, 1, &A, &P);
35
printf(
"%d %.8f %.3f\n"
, n, P, A);
36
return
0;
37
}
Generated by
1.8.3.1