PLANIMETER(1) | GeographicLib Utilities | PLANIMETER(1) |

**-r**- toggle whether counter-clockwise traversal of the polygon returns a positive (the default) or negative result.

**-s**- toggle whether to return a signed result (the default) or not.

**-l**- toggle whether the vertices represent a polygon (the default) or a polyline. For a polyline, the number of points and the length of the path joining them is returned; the path is not closed and the area is not reported.

**-e***a**f*- specify the ellipsoid via the equatorial radius,
*a*and the flattening,*f*. Setting*f*= 0 results in a sphere. Specify*f*< 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for*f*. By default, the WGS84 ellipsoid is used,*a*= 6378137 m,*f*= 1/298.257223563. If entering vertices as UTM/UPS or MGRS coordinates, use the default ellipsoid, since the conversion of these coordinates to latitude and longitude always uses the WGS84 parameters.

**-w**- toggle the longitude first flag (it starts off); if the
flag is on, then when reading geographic coordinates, longitude precedes
latitude (this can be overridden by a hemisphere designator,
*N*,*S*,*E*,*W*).

**-p***prec*- set the output precision to
*prec*(default 6); the perimeter is given (in meters) with*prec*digits after the decimal point; the area is given (in meters^2) with (*prec*- 5) digits after the decimal point.

**-G**- use the series formulation for the geodesics. This is the
default option and is recommended for terrestrial applications. This
option,
**-G**, and the following three options,**-E**,**-Q**, and**-R**, are mutually exclusive.

**-E**- use "exact" algorithms (based on elliptic
integrals) for the geodesic calculations. These are more accurate than the
(default) series expansions for |
*f*| > 0.02. (But note that the implementation of areas in GeodesicExact uses a high order series and this is only accurate for modest flattenings.)

**-Q**- perform the calculation on the authalic sphere. The area
calculation is accurate even if the flattening is large,
*provided*the edges are sufficiently short. The perimeter calculation is not accurate.

**-R**- The lines joining the vertices are rhumb lines instead of geodesics.

**--comment-delimiter***commentdelim*- set the comment delimiter to
*commentdelim*(e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing. For a given polygon, the last such string found will be appended to the output line (separated by a space).

**--version**- print version and exit.

**-h**- print usage and exit.

**--help**- print full documentation and exit.

**--input-file***infile*- read input from the file
*infile*instead of from standard input; a file name of "-" stands for standard input.

**--input-string***instring*- read input from the string
*instring*instead of from standard input. All occurrences of the line separator character (default is a semicolon) in*instring*are converted to newlines before the reading begins.

**--line-separator***linesep*- set the line separator character to
*linesep*. By default this is a semicolon.

**--output-file***outfile*- write output to the file
*outfile*instead of to standard output; a file name of "-" stands for standard output.

Planimeter <<EOF 18n 500000 4400000 18n 600000 4400000 18n 600000 4500000 18n 500000 4500000 EOF => 4 400139.53295860 10007388597.1913The following code takes the output from gdalinfo and reports the area covered by the data (assuming the edges of the image are geodesics).

#! /bin/sh egrep '^((Upper|Lower) (Left|Right)|Center) ' | sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{ if ($1 $2 == "UpperLeft") ul = $6 " " $5; else if ($1 $2 == "LowerLeft") ll = $6 " " $5; else if ($1 $2 == "UpperRight") ur = $6 " " $5; else if ($1 $2 == "LowerRight") lr = $6 " " $5; else if ($1 == "Center") { printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur; ul = ll = ur = lr = ""; } } ' | Planimeter | cut -f3 -d' '

2017-10-05 | GeographicLib 1.49 |