1=head1 NAME
2
3ConicProj -- perform conic projections
4
5=head1 SYNOPSIS
6
7B<ConicProj> ( B<-c> | B<-a> ) I<lat1> I<lat2>
8[ B<-l> I<lon0> ] [ B<-k> I<k1> ] [ B<-r> ]
9[ B<-e> I<a> I<f> ] [ B<-w> ] [ B<-p> I<prec> ]
10[ B<--comment-delimiter> I<commentdelim> ]
11[ B<--version> | B<-h> | B<--help> ]
12[ B<--input-file> I<infile> | B<--input-string> I<instring> ]
13[ B<--line-separator> I<linesep> ]
14[ B<--output-file> I<outfile> ]
15
16=head1 DESCRIPTION
17
18Perform one of two conic projections geodesics.  Convert geodetic
19coordinates to either Lambert conformal conic or Albers equal area
20coordinates.  The standard latitudes I<lat1> and I<lat2> are specified
21by that the B<-c> option (for Lambert conformal conic) or the B<-a>
22option (for Albers equal area).  At least one of these options must be
23given (the last one given is used).  Specify I<lat1> = I<lat2>, to
24obtain the case with a single standard parallel.  The central meridian
25is given by I<lon0>.  The longitude of origin is given by the latitude
26of minimum (azimuthal) scale for Lambert conformal conic (Albers equal
27area).  The (azimuthal) scale on the standard parallels is I<k1>.
28
29Geodetic coordinates are provided on standard input as a set of lines
30containing (blank separated) I<latitude> and I<longitude> (decimal
31degrees or degrees, minutes, seconds);  for details on the allowed
32formats for latitude and longitude, see the C<GEOGRAPHIC COORDINATES>
33section of GeoConvert(1).  For each set of geodetic coordinates, the
34corresponding projected easting, I<x>, and northing, I<y>, (meters) are
35printed on standard output together with the meridian convergence
36I<gamma> (degrees) and (azimuthal) scale I<k>.  For Albers equal area,
37the radial scale is 1/I<k>.  The meridian convergence is the bearing of
38the I<y> axis measured clockwise from true north.
39
40Special cases of the Lambert conformal projection are the Mercator
41projection (the standard latitudes equal and opposite) and the polar
42stereographic projection (both standard latitudes correspond to the same
43pole).  Special cases of the Albers equal area projection are the
44cylindrical equal area projection (the standard latitudes equal and
45opposite), the Lambert azimuthal equal area projection (both standard
46latitude corresponds to the same pole), and the Lambert equal area conic
47projection (one standard parallel is at a pole).
48
49=head1 OPTIONS
50
51=over
52
53=item B<-c> I<lat1> I<lat2>
54
55use the Lambert conformal conic projection with standard parallels
56I<lat1> and I<lat2>.
57
58=item B<-a> I<lat1> I<lat2>
59
60use the Albers equal area projection with standard parallels I<lat1> and
61I<lat2>.
62
63=item B<-l> I<lon0>
64
65specify the longitude of origin I<lon0> (degrees, default 0).
66
67=item B<-k> I<k1>
68
69specify the (azimuthal) scale I<k1> on the standard parallels (default
701).
71
72=item B<-r>
73
74perform the reverse projection.  I<x> and I<y> are given on standard
75input and each line of standard output gives I<latitude>, I<longitude>,
76I<gamma>, and I<k>.
77
78=item B<-e> I<a> I<f>
79
80specify the ellipsoid via the equatorial radius, I<a> and
81the flattening, I<f>.  Setting I<f> = 0 results in a sphere.  Specify
82I<f> E<lt> 0 for a prolate ellipsoid.  A simple fraction, e.g., 1/297,
83is allowed for I<f>.  By default, the WGS84 ellipsoid is used, I<a> =
846378137 m, I<f> = 1/298.257223563.
85
86=item B<-w>
87
88toggle the longitude first flag (it starts off); if the flag is on, then
89on input and output, longitude precedes latitude (except that, on input,
90this can be overridden by a hemisphere designator, I<N>, I<S>, I<E>,
91I<W>).
92
93=item B<-p> I<prec>
94
95set the output precision to I<prec> (default 6).  I<prec> is the number
96of digits after the decimal point for lengths (in meters).  For
97latitudes and longitudes (in degrees), the number of digits after the
98decimal point is I<prec> + 5.  For the convergence (in degrees) and
99scale, the number of digits after the decimal point is I<prec> + 6.
100
101=item B<--comment-delimiter> I<commentdelim>
102
103set the comment delimiter to I<commentdelim> (e.g., "#" or "//").  If
104set, the input lines will be scanned for this delimiter and, if found,
105the delimiter and the rest of the line will be removed prior to
106processing and subsequently appended to the output line (separated by a
107space).
108
109=item B<--version>
110
111print version and exit.
112
113=item B<-h>
114
115print usage and exit.
116
117=item B<--help>
118
119print full documentation and exit.
120
121=item B<--input-file> I<infile>
122
123read input from the file I<infile> instead of from standard input; a file
124name of "-" stands for standard input.
125
126=item B<--input-string> I<instring>
127
128read input from the string I<instring> instead of from standard input.
129All occurrences of the line separator character (default is a semicolon)
130in I<instring> are converted to newlines before the reading begins.
131
132=item B<--line-separator> I<linesep>
133
134set the line separator character to I<linesep>.  By default this is a
135semicolon.
136
137=item B<--output-file> I<outfile>
138
139write output to the file I<outfile> instead of to standard output; a
140file name of "-" stands for standard output.
141
142=back
143
144=head1 EXAMPLES
145
146   echo 39.95N 75.17W | ConicProj -c 40d58 39d56 -l 77d45W
147   => 220445 -52372 1.67 1.0
148   echo 220445 -52372 | ConicProj -c 40d58 39d56 -l 77d45W -r
149   => 39.95 -75.17 1.67 1.0
150
151=head1 ERRORS
152
153An illegal line of input will print an error message to standard output
154beginning with C<ERROR:> and causes B<ConicProj> to return an exit
155code of 1.  However, an error does not cause B<ConicProj> to
156terminate; following lines will be converted.
157
158=head1 AUTHOR
159
160B<ConicProj> was written by Charles Karney.
161
162=head1 HISTORY
163
164B<ConicProj> was added to GeographicLib,
165L<https://geographiclib.sourceforge.io>, in version 1.9.
166