aboutsummaryrefslogtreecommitdiff
path: root/docs/source/apps/proj.rst
blob: dee4ea892946a1fb8914ce06fe207e33ddaf095f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
.. _proj:

================================================================================
proj
================================================================================

.. only:: html

    Cartographic projection filter.

.. Index:: proj

Synopsis
********
    **proj** [ **-bceEfiIlmorsStTvVwW** ] [ args ] ] [ *+args* ] file[s]

    **invproj** [ **-bceEfiIlmorsStTwW** ] [ args ] ] [ *+args* ] file[s]


Description
***********
:program:`proj` and :program:`invproj` perform respective forward  and inverse
transformation  of cartographic data to or from cartesian data  with  a  wide
range  of selectable projection functions.

:program:`invproj` may not be available on all  platforms;  in  this  case
use :option:`proj -I` instead.

The  following  control parameters can appear in any order

.. program:: proj

.. option:: -b

    Special option for binary coordinate data input and output through standard
    input and standard output. Data is assumed to be in system type double
    floating point words. This option is to be used when proj is a son process
    and allows bypassing formatting operations.

.. option:: -i

    Selects binary input only (see :option:`-b`).

.. option:: -I

    alternate method to specify inverse projection. Redundant when used with
    invproj.

.. option:: -o

    Selects binary output only (see :option:`-b`).

.. option:: -t<a>

    *a* specifies a character employed as the first character to denote a
    control line to be passed through without  processing. This  option
    applicable to ascii input only. (# is the default value).

.. option:: -e <string>

      String is an arbitrary string to be output if an error is detected during
      data transformations. The default value is: *\t*. Note that if the
      :option:`-b`, :option:`-i` or :option:`-o` options are employed, an error
      is returned as HUGE_VAL value for both return values.

.. option:: -E

    causes the input coordinates to be copied to the output line prior to
    printing the converted values.

.. option:: -l<[=id]>

    List projection identifiers that can be selected with *+proj*. ``proj -l=id``
    gives expanded description of projection id, e.g. ``proj -l=merc``.

.. option:: -lp

    List of all projection id that can be used with the *+proj* parameter.
    Equivalent to ``proj -l``.

.. option:: -lP

    Expanded description of all projections that can be used with the *+proj*
    parameter.

.. option:: -le

    List of all ellipsoids that can be selected with the *+ellps* parameters.

.. option:: -lu

    List of all distance units that can be selected with the *+units* parameter.

.. option:: -ld

    List of datums that can be selected with the *+datum* parameter.


.. option:: -r

    This options reverses the order of the expected input from
    longitude-latitude or x-y to latitude-longitude or y-x.

.. option:: -s

    This options reverses the order of the output from x-y or longitude-latitude
    to y-x or latitude-longitude.

.. option:: -S

    Causes estimation of meridional and parallel scale factors, area scale
    factor and angular distortion, and maximum and minimum scale factors to be
    listed between <> for each input point. For conformal projections meridional
    and parallel scales factors will be equal and angular distortion zero. Equal
    area projections will have an area factor of 1.

.. option:: -m <mult>

    The cartesian data may be scaled by the mult parameter. When processing data
    in a forward projection mode the cartesian output values are multiplied by
    mult otherwise the input cartesian values are divided by mult before inverse
    projection.  If the first two characters of mult are 1/ or 1: then the
    reciprocal value of mult is employed.

.. option:: -f <format>

    Format is a printf format string to control the form of the output values.
    For inverse projections, the output will be in degrees when this option is
    employed.  The  default format is "%.2f" for forward projection and DMS for
    inverse.

.. option:: -[w|W]<n>

    N is the number of significant fractional digits to employ for seconds
    output (when the  option  is  not  specified, ``-w3`` is assumed). When ``-W``
    is employed the fields will be constant width and  with  leading zeroes.

.. option:: -v

    causes a listing of cartographic control parameters tested for and used by
    the program to be printed prior to input data. Should not be used with the
    :option:`-T` option.

.. option:: -V

    This option causes an expanded annotated listing of the characteristics of
    the projected point. :option:`-v` is implied with this option.

.. option:: -T <ulow,uhi,vlow,vhi,res[,umax,vmax]>

    This option creates a set of bivariate Chebyshev polynomial coefficients
    that approximate the selected  cartographic projection on stdout. The values
    low and hi denote the range of the input where the u or v prefixes apply to
    respective longitude-x or latitude-y depending upon whether a forward or
    inverse projection is selected. Res is an integer number specifying the
    power of 10 precision of the approximation. For example, a res of -3
    specifies an approximation with an accuracy better than .001. Umax, and vmax
    specify maximum degree of the polynomials (default: 15).



The *+args* run-line arguments are associated with cartographic parameters.
Additional projection control parameters may  be contained  in  two  auxiliary
control files: the first  is   optionally   referenced   with   the
*+init=file:id* and the second is always processed after the name of the
projection has been established from either the run-line or the contents of
+init  file.   The   environment   parameter :envvar:`PROJ_LIB` establishes the
default directory for a file reference without an absolute  path.   This is
also  used  for  supporting files like datum shift files.

.. only:: html

    Usage of *+args* varies with projection and for a complete description
    consult the :ref:`projection pages <projections>`.


One or more files (processed in  left  to  right order)  specify  the source of
data to be transformed.  A ``-`` will specify the location  of  processing standard
input.  If no files are specified, the input is assumed  to  be  from  stdin.
For ASCII input data the two data values must be in the first two white  space
separated  fields and  when  both  input  and output are ASCII all trailing
portions of the input line are appended to the output line.

Input  geographic  data (longitude and latitude) must be in DMS format and input
cartesian  data must  be  in units consistent with the ellipsoid major axis or
sphere radius units.  Output geographic  coordinates  will  be in DMS (if the
``-w`` switch is not employed) and  precise  to  0.001" with  trailing, zero-valued
minute-second fields deleted.

Example
*******
The following script

.. code-block:: console

     proj +proj=utm  +lon_0=112w  +ellps=clrk66
     -r <<EOF
     45d15'33.1"   111.5W
     45d15.551666667N   -111d30
     +45.25919444444    111d30'000w
     EOF

will perform UTM forward projection with a standard UTM  central  meridian
nearest  longitude 112W.  The geographic values of this example are equivalent
and  meant  as  examples  of  various forms  of  DMS  input.  The x-y output
data will appear as three lines of::

    460769.27     5011648.45

.. only:: man

    Other programs
    **************

    The :program:`proj` program is limited to converting between geographic and
    projected coordinates within one datum.

    The :program:`cs2cs` program operates similarly, but allows translation
    between any paor of definable coordinate reference systems, including
    support for datum translation.

    See also
    ********

    **cs2cs(1)**, **cct(1)**, **geod(1)**, **gie(1)**

    Bugs
    ****

    A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
    where new bug reports can be submitted to.

    Home page
    *********

    http://proj4.org/