Notes on common projection factors
and their specification in versions of proj

Both this web page and various parts of the software described
are under construction.

Introduction

The following is a description of many of the common options involved
in using programs such as proj, proj4, lproj and other versions using
libraries based upon the proj library released in 1990.
The quickest way to recognize this data entry style are options like "proj=tmerc,"
"ellps=WGS84" ... .

Please note: that in many descriptions a '+' is prepended to the option (+proj=tmerc) but
this is only used to signal that the option was a projection option
when it is specified on the runline of a program and not a file name.

Commonly, the options are case sensitive and must be entered with letters
in exactly the same case as given in the documention.
In applications using the project library the options and
arguments are case insensitive so that "proj=tmerc" is identical
to "Proj=TMerc".

The last major factor affecting all options is that the order the options
are entered has no effect on the application.
However, if an option identifier (name in front of the = sign) is entered
twice, only the first entry's argument is employed.
Options that are not recognized by the application are normally ignored.

Data Entry Formats

The general format of an option entry is:

option_id[=argument]

The case where the argument is missing usually indicates that the application is
only looking for the presence of the option_id to select a course of action.
A missing argument may also be the equvalent of arg=t of a
boolean option.

The argument may also have the form of either:

integer or floating point numeric value

angular value in the form of DMS

alphabetic string without white spece

In the first form the value can also be angular in the form of simple degrees./p>

DMS format is also used in data input as well as for option values.
For older programs there is only the following general format for angular input:

[<empty>|+|-]xxDxx'xx.xx"[<empty>|N|S|E|W]

Use of prefix or postfix sign is, of course, mutually exclusive, any of the
letters may be upper or lower case and there must not be any imbedded white space.
The use of the letter 'D' (or 'd') rather than a degree symbol available in more modern computer
alphabets is in deference to the limitations of the ASCII set.

Any one, but not all, of the DMS subfields may be missing and
only the last subfield may have decimal point.
Lasty, for radian input, the DMS specification reduces to:

[<empty>|+|-]xx.xxxxR[<empty>|N|S|E|W]

The following are legitimate DMS values:

25d22'30"N

-33"

7'30

.555rn

Note that in the next to the last example, the seconds symbol is not
required as its location was obvious.

In the later version of libproj4 and in libproject the colon punctuated form of DMS
is avialable:

[<empty>|+|-]xx:xx:xx.xx[<empty>|N|S|E|W]

This similar to the first form except that both colons must be present.