Planimeter man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

PLANIMETER(1)		    GeographicLib Utilities		 PLANIMETER(1)

NAME
       Planimeter -- compute the area of geodesic polygons

SYNOPSIS
       Planimeter [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p prec ] [ -G | -E
       | -Q | -R ] [ --comment-delimiter commentdelim ] [ --version | -h |
       --help ] [ --input-file infile | --input-string instring ] [
       --line-separator linesep ] [ --output-file outfile ]

DESCRIPTION
       Measure the area of a geodesic polygon.	Reads polygon vertices from
       standard input, one per line.  Vertices may be given as latitude and
       longitude, UTM/UPS, or MGRS coordinates, interpreted in the same way as
       GeoConvert(1).  (MGRS coordinates signify the center of the
       corresponding MGRS square.)  The end of input, a blank line, or a line
       which can't be interpreted as a vertex signals the end of one polygon
       and the start of the next.  For each polygon print a summary line with
       the number of points, the perimeter (in meters), and the area (in
       meters^2).

       The edges of the polygon are given by the shortest geodesic between
       consecutive vertices.  In certain cases, there may be two or many such
       shortest geodesics, and in that case, the polygon is not uniquely
       specified by its vertices.  This only happens with very long edges (for
       the WGS84 ellipsoid, any edge shorter than 19970 km is uniquely
       specified by its end points).  In such cases, insert an additional
       vertex near the middle of the long edge to define the boundary of the
       polygon.

       By default, polygons traversed in a counter-clockwise direction return
       a positive area and those traversed in a clockwise direction return a
       negative area.  This sign convention is reversed if the -r option is
       given.

       Of course, encircling an area in the clockwise direction is equivalent
       to encircling the rest of the ellipsoid in the counter-clockwise
       direction.  The default interpretation used by Planimeter is the one
       that results in a smaller magnitude of area; i.e., the magnitude of the
       area is less than or equal to one half the total area of the ellipsoid.
       If the -s option is given, then the interpretation used is the one that
       results in a positive area; i.e., the area is positive and less than
       the total area of the ellipsoid.

       Only simple (i.e., non-self-intersecting) polygons are supported for
       the area computation.  Polygons may include one or both poles.  There
       is no need to close the polygon.

OPTIONS
       -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  specify the ellipsoid via a f; the equatorial radius is a and the
	   flattening is 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  when reading geographic coordinates, longitude precedes latitude
	   (this can be overridden by a hemisphere designator, N, S, E, W).

       -p  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
	   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
	   read input from the file infile instead of from standard input; a
	   file name of "-" stands for standard input.

       --input-string
	   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
	   set the line separator character to linesep.	 By default this is a
	   semicolon.

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

EXAMPLES
       Example (the area of the 100km MGRS square 18SWK)

	  Planimeter <<EOF
	  18n 500000 4400000
	  18n 600000 4400000
	  18n 600000 4500000
	  18n 500000 4500000
	  EOF
	  => 4 400139.53295860 10007388597.1913

       The 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' '

SEE ALSO
       GeoConvert(1), GeodSolve(1).

       An online version of this utility is availbable at
       <http://geographiclib.sourceforge.net/cgi-bin/Planimeter>.

       The algorithm for the area of geodesic polygon is given in Section 6 of
       C. F. F. Karney, Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
       DOI <https://dx.doi.org/10.1007/s00190-012-0578-z>; addenda:
       <http://geographiclib.sf.net/geod-addenda.html>.

AUTHOR
       Planimeter was written by Charles Karney.

HISTORY
       Planimeter was added to GeographicLib, <http://geographiclib.sf.net>,
       in version 1.4.

GeographicLib 1.45		  2015-09-30			 PLANIMETER(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net