144 lines
4.4 KiB
Plaintext
144 lines
4.4 KiB
Plaintext
=head1 NAME
|
|
|
|
GeodesicProj -- perform projections based on geodesics
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
B<GeodesicProj> ( B<-z> | B<-c> | B<-g> ) I<lat0> I<lon0> [ B<-r> ]
|
|
[ B<-e> I<a> I<f> ]
|
|
[ B<--comment-delimiter> I<commentdelim> ]
|
|
[ B<--version> | B<-h> | B<--help> ]
|
|
[ B<--input-file> I<infile> | B<--input-string> I<instring> ]
|
|
[ B<--line-separator> I<linesep> ]
|
|
[ B<--output-file> I<outfile> ]
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
Perform projections based on geodesics. Convert geodetic coordinates to
|
|
either azimuthal equidistant, Cassini-Soldner, or gnomonic coordinates.
|
|
The center of the projection (I<lat0>, I<lon0>) is specified by either the B<-c>
|
|
option (for Cassini-Soldner), the B<-z> option (for azimuthal equidistant),
|
|
or the B<-g> option (for gnomonic). At least one of these options must be
|
|
given (the last one given is used).
|
|
|
|
Geodetic coordinates are provided on standard input as a set of lines
|
|
containing (blank separated) I<latitude> and I<longitude> (decimal
|
|
degrees or degrees, minutes, seconds). For each set of geodetic
|
|
coordinates, the corresponding projected coordinates I<x>, I<y> (meters)
|
|
are printed on standard output together with the azimuth I<azi>
|
|
(degrees) and reciprocal scale I<rk>. For Cassini-Soldner, I<azi> is
|
|
the bearing of the easting direction and the scale in the easting
|
|
direction is 1 and the scale in the northing direction is 1/I<rk>. For
|
|
azimuthal equidistant and gnomonic, I<azi> is the bearing of the radial
|
|
direction and the scale in the azimuthal direction is 1/I<rk>. For
|
|
azimuthal equidistant and gnomonic, the scales in the radial direction
|
|
are 1 and 1/I<rk>^2, respectively.
|
|
|
|
=head1 OPTIONS
|
|
|
|
=over
|
|
|
|
=item B<-z>
|
|
|
|
use the azimuthal equidistant projection centered at latitude = I<lat0>,
|
|
longitude = I<lon0>.
|
|
|
|
=item B<-c>
|
|
|
|
use the Cassini-Soldner projection centered at latitude = I<lat0>,
|
|
longitude = I<lon0>.
|
|
|
|
=item B<-g>
|
|
|
|
use the ellipsoidal gnomonic projection centered at latitude = I<lat0>,
|
|
longitude = I<lon0>.
|
|
|
|
=item B<-r>
|
|
|
|
perform the reverse projection. I<x> and I<y> are given on standard
|
|
input and each line of standard output gives I<latitude>, I<longitude>,
|
|
I<azi>, and I<rk>.
|
|
|
|
=item B<-e>
|
|
|
|
specify the ellipsoid via I<a> I<f>; the equatorial radius is I<a> and
|
|
the flattening is I<f>. Setting I<f> = 0 results in a sphere. Specify
|
|
I<f> E<lt> 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
|
|
is allowed for I<f>. (Also, if I<f> E<gt> 1, the flattening is set to
|
|
1/I<f>.) By default, the WGS84 ellipsoid is used, I<a> = 6378137 m,
|
|
I<f> = 1/298.257223563.
|
|
|
|
=item B<--comment-delimiter>
|
|
|
|
set the comment delimiter to I<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 and subsequently appended to the output line (separated by a
|
|
space).
|
|
|
|
=item B<--version>
|
|
|
|
print version and exit.
|
|
|
|
=item B<-h>
|
|
|
|
print usage and exit.
|
|
|
|
=item B<--help>
|
|
|
|
print full documentation and exit.
|
|
|
|
=item B<--input-file>
|
|
|
|
read input from the file I<infile> instead of from standard input; a file
|
|
name of "-" stands for standard input.
|
|
|
|
=item B<--input-string>
|
|
|
|
read input from the string I<instring> instead of from standard input.
|
|
All occurrences of the line separator character (default is a semicolon)
|
|
in I<instring> are converted to newlines before the reading begins.
|
|
|
|
=item B<--line-separator>
|
|
|
|
set the line separator character to I<linesep>. By default this is a
|
|
semicolon.
|
|
|
|
=item B<--output-file>
|
|
|
|
write output to the file I<outfile> instead of to standard output; a
|
|
file name of "-" stands for standard output.
|
|
|
|
=back
|
|
|
|
=head1 EXAMPLES
|
|
|
|
echo 48.648 -2.007 | GeodesicProj -c 48.836 2.337
|
|
=> -319919 -11791 86.7 0.999
|
|
echo -319919 -11791 | GeodesicProj -c 48.836 2.337 -r
|
|
=> 48.648 -2.007 86.7 0.999
|
|
|
|
=head1 ERRORS
|
|
|
|
An illegal line of input will print an error message to standard output
|
|
beginning with C<ERROR:> and causes B<GeodesicProj> to return an exit
|
|
code of 1. However, an error does not cause B<GeodesicProj> to
|
|
terminate; following lines will be converted.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
The ellipsoidal gnomonic projection is derived in Section 8 of
|
|
C. F. F. Karney, I<Algorithms for geodesics>, J. Geodesy 87, 43-55 (2013); DOI
|
|
L<http://dx.doi.org/10.1007/s00190-012-0578-z>;
|
|
addenda: L<http://geographiclib.sf.net/geod-addenda.html>.
|
|
|
|
=head1 AUTHOR
|
|
|
|
B<GeodesicProj> was written by Charles Karney.
|
|
|
|
=head1 HISTORY
|
|
|
|
B<GeodesicProj> was added to GeographicLib,
|
|
L<http://geographiclib.sf.net>, in 2009-08. Prior to version 1.9 it was
|
|
called EquidistantTest.
|