How Project (Coverage) works
Project supports coordinate transformations between any two of the projections listed in the List of supported map projections. Map projections allow areas on the surface of the earth (a spheroid) to be represented on a map (a flat surface). A projection more precisely equates locations on a map with their true locations on the earth.
However, expressing a three-dimensional surface in two dimensions involves distortion of some parameter, either shape, area, distance, or direction, and various projections cause different kinds of distortion. The individual characteristics of the projections make each useful for some applications and not useful for others.
Definitions and discussion of projection parameters required by various projections
Semi-Major Axis of Ellipsoid
This defines the size of the Earth by the radius at its widest part. The value measured by Clarke in 1866, 6,378,206 meters, is the default (see Spheroids and spheres for other axis measurements).
Semi-Minor Axis of Ellipsoid
This is the Earth's radius at its narrowest part. Clarke's value of 6,356,584 meters is the default.
Specify the ellipsoid with the Spheroid subcommand or set the axes with the Parameters subcommand.
Standard Parallel
For conic projections, the standard parallel refers to the one or two lines of latitude along which the cone contacts the earth. Legends for maps in conic projections should always include the coordinates for the standard parallels.
Central Meridian
For conic projections, the central meridian is the single line of longitude that is truly vertical on the map. It is usually in the middle of the map. Legends for maps should always include the coordinates for the central meridian.
False Easting
Many projections have an origin point. For example, the origin might be located at the intersection of the central meridian and the standard parallel or at the central meridian and the latitude of the projection's origin (see below). The origin point is particular to each projection. The false easting is the x coordinate value assigned relative to this origin. For instance, if the origin of the projection (in latitude-longitude) is in the center of the map, all areas to the west of the origin would be negative if a false easting of 0 is assigned. To make the x coordinates positive for the entire map, set the false easting to a positive number.
False Northing
This is similar to false easting, except that it is an arbitrary y-shift. Using the example above where the projection's origin was in the center of the map, everything to the south would be negative unless a positive false northing was assigned. False easting and northing must be in meters (that is, the same units as the spheroid). As an alternative, although not recommended, use the subcommands XSHIFT and YSHIFT.
Latitude of Projection's Origin
For conic projections with two standard parallels, Project will not know where to put a false easting or northing because there are two lines of latitude defining the projection. The latitude of the projection's origin identifies where to put this origin.
Scale Factor
The degree of reduction or enlargement necessary to fit a curved earth onto a flat projection surface. In the following example, because the curved surface of the earth is longer than the surface onto which it is projected, features must be reduced in scale relative to the point of true scale. The default value is 1.0.
At b, the point of tangency, the scale factor is 1 because scale is true. At a and c, the scale factor is greater than 1.
The scale factor is most commonly used with cylindrical projections to redistribute the scale error over a wider area. A scale factor of 0.9996 is common, for example, in UTM or Great Britain National Grid.
Selecting A Projection
Transforming a curved surface represented by angular units (degrees/radians) in a spherical coordinate system into a planar surface represented by linear units (feet/meters) in a Cartesian coordinate system involves distortions in area, shape, distance, and direction. Correcting one involves compromising the other three. For example, the Albers Equal Area projection offers true area at the cost of the other three properties. It is useful for thematic maps. On the other hand, the Azimuthal projection gives true direction and is useful for navigation maps.
Learn more about supported map projections
Examples of parameters for some common projections:
Creating Project Files
Project files are used to convert one projection to another. These files are a text file that describe the input and output projection parameters.
This project file would be used to project a coverage from STATEPLANE to GEOGRAPHIC:
INPUT PROJECTION STATEPLANE UNITS FEET ZONE 3326 DATUM NAD27 XSHIFT 1000000 PARAMETERS OUTPUT PROJECTION GEOGRAPHIC UNITS DS DATUM NAD27 PARAMETERS END
Subcommands
Project files use many subcommands which, in turn, support many options. Starred (*) subcommands list their options in separate tables.
DATUM* |
INPUT |
XSHIFT |
DENSIFY |
OUTPUT |
YSHIFT |
END |
PARMETERS |
ZONE* |
FIPSZONE* |
PROJECTION* |
ZUNITS |
FLIP |
QUADRANT |
UNITS |
FORMAT |
SPHEROID* |
/* (comments) |
GENERALIZE |
SWITCH |
A coordinate system is defined by a series of subcommands listed in the project file. A project file lists both the input and the output projection definitions. The table below shows the required subcommands and their proper sequence:
This section defines the input projection. |
INPUT
PROJECTION <projection_name>
UNITS <units>
Other optional subcommands for the input projection
.
.
PARAMETERS
Projection-specific parameter values
.
.
|
This section defines the output projection. |
OUTPUT
PROJECTION <projection_name>
UNITS <units>
Other optional subcommands for the output projection
.
.
PARAMETERS
Projection-specific parameter values
.
.
|
The input projection is specified first. Only one input and output projection should be specified. Use END to complete the projection definitions.
Note that the only required subcommands in a project file are INPUT, PROJECTION, UNITS, PARAMETERS, OUTPUT, END but that both the input and output projections must be defined.
Each subcommand is discussed below. A note in parentheses indicates whether the subcommand is required or optional.
INPUT
Syntax:
INPUT
The subcommands following INPUT define the input projection. INPUT is the first subcommand issued when projection parameters are entered from a text file.
PROJECTION
(Required for all projections)
Syntax:
PROJECTION <projection_name>
The name of the projection.
UNITS
(Required for all projections)
Syntax:
UNITS <unit_name> UNITS <units per meter>
Specifies the units of the coordinates.
Possible UNITS keywords for the GEOGRAPHIC option are
- RADIANS
- DMS - degrees, minutes, seconds (valid for files only)
- (e.g., 10° 30' 30" is listed as 10 30 30).
- DD - decimal degrees (e.g., 10.50833333)
- DM - decimal minutes (e.g., 630.5)
- DS - decimal seconds (e.g., 37830.0)
Possible units for all other projections are
- FEET
- METERS
<units per meter> (Real number)
PROJECT uses the U.S. Survey foot by default. To use the International foot, specify 'UNITS 3.280839895'.
DATUM
(Optional for all projections except those which support data on a sphere only.)
Syntax:
DATUM <name> {method} DATUM NONE DATUM USER_DEFINED <dx, dy, dz> {rx, ry, rz, scale}
The horizontal datum on which the coordinates are based. If the input and output datum names are defined and different, a datum conversion will occur. PROJECT cannot convert between datums which do not share a common transformation method.
Datum transformation methods and keywords:
CNT |
NADCON |
THREE |
SEVEN | |
---|---|---|---|---|
NAD27 |
X |
X |
* |
|
NAD83 |
X |
X |
* |
|
HPGN |
X |
|||
ALASKAN_ISLANDS |
X |
|||
OLD_HAWAIIAN |
X |
|||
WGS72 |
X |
X |
||
WGS84 |
X |
X |
||
AGD84, GDA94 |
X |
|||
AUA_B, AUA_C, AUA_D |
X |
*Convert data on NAD27 or NAD83 to WGS72 or WGS84 with equivalent keywords.
<name> - the name of the datum.
{method} - the datum conversion method used to convert between the specified datums. Two methods are available for WGS84 conversions. One uses three parameters and is similar to a Molodensky transformation. The other is the Bursa-Wolf seven-parameter method. Several other specialized methods are available specifically for North America. The available methods are:
- NADCON - the standard method of converting between NAD27 and NAD83 within the United States. Valid datum <names> are NAD27, NAD83, ALASKAN_ISLANDS, OLD_HAWAIIAN, and HPGN. See United States method (NADCON) for the areas covered.
- CNT - the standard method of converting between NAD27 and NAD83 within Canada. Valid datum <names> for CNT are NAD27 and NAD83.
- THREE - a three-parameter version of the Bursa-Wolf transformation that accounts for differences between the locations of the datum origins in x, y, and z. Similar to a Molodensky transformation.Caution:
This method cannot be used with the keywords NAD27 and NAD83.
- SEVEN - a seven-parameter transformation also known as a Bursa-Wolf transformation. It accounts for origin shifts, three axis rotations, and a scale difference. Currently supported for WGS72, WGS84, and several Australian datums. Caution:
This method cannot be used with the keywords NAD27 and NAD83.
- NONE - used when projecting data on a spheroid or sphere to a projection which supports data on a sphere only. In addition, the SPHEROID must be specified as SPHERE.
- USER_DEFINED - keyword indicating a set of conversion parameters will be provided. These are the parameters necessary to convert between a current datum, to or from WGS84 using the three or seven parameter transformation. Enter the parameters as if converting from the local datum to WGS84. If transforming from WGS84 to a local datum, PROJECT will modify the parameters appropriately. Specify the spheroid with either the SPHEROID subcommand or the semi-major and semi-minor axis values on the PARAMETERS line.
<dx, dy, dz> - the parameters necessary for a three-parameter transformation. These are the differences between the origin of the current or desired datum and WGS84. Units are meters.
- dx - the difference in X.
- dy - the difference in Y.
- dz - the difference in Z.
{rx, ry, rz, scale} - optional parameters for a seven-parameter (Bursa-Wolf) transformation. These represent rotations around the axes, and a change in scale. The default values are zero. The rotations are measured counter-clockwise (when looking towards the origin of the system) in decimal seconds while the scale change is in parts per million.
- rx - rotation in X.
- ry - rotation in Y.
- rz - rotation in Z.
- scale - difference in scale
The default {method} depends upon the specified <name>. If the <name> is NAD27, NAD83, HPGN, ALASKAN_ISLANDS, or OLD_HAWAIIAN, the default method is NADCON. If any other <name> is specified, the default method is the three-parameter transformation. NADCON keywords such as NAD27 cannot be used with the three or seven parameter method. However, equivalent datum keywords exist. For example, use the name NAS_C to transform between NAD27 and WGS72.
Example usages:
DATUM NAD83 CNT DATUM NAS_B THREE DATUM USER_DEFINED -127 -50 153 0.0 0.0 -0.2 1.2 DATUM USER_DEFINED 0 0 4.5
DENSIFY
(Optional for all projections with the COVER option)
Syntax:
DENSIFY <distance>
The option of densifying all arcs in a coverage by the specified distance can be applied to both input and output projections. When used on the input coverage before the projection takes place, this subcommand ensures that long linear segments will become curvilinear features during the projection process. The GENERALIZE subcommand in the output definition can generalize the arcs after the projection has taken place.
FIPSZONE
(Optional for STATEPLANE only)
Syntax:
FIPSZONE <zone_number>
The appropriate FIPS code for a State Plane zone. For valid FIPSZONE numbers, see SPCS fipszones.
FLIP
(Optional for GEOGRAPHIC in a FILE)
Syntax:
FLIP (or SWITCH) <YES | NO>
The YES option is used when data is recorded as (y,x) rather than (x,y) in a file. FLIP is used when input data is organized as latitude-longitude (y = latitude or northing, x = longitude or easting). The default is NO if FLIP is not specified.
FORMAT
(Optional for all projections with the FILE option)
Syntax:
FORMAT <fortran format>
A special format for the x,y coordinates of an input or output file. For example, the input file may contain more than the x,y values to be projected; or you may wish to create a specially formatted output file. A FORTRAN FORMAT statement can be given to read or write the x,y values for each coordinate. The format should always be enclosed in single quotes. If no format is specified, a free-format read or write is used. For example, FORMAT ‘(10X,2F10.0)’ would skip 10 spaces and then read a coordinate pair, thus ignoring any characters in columns 1 through 10. When used to format output units as DMS, values that fall between -1 to 0 will be returned as 0. Also, FORMAT can’t output integer seconds with ‘UNITS DMS’ by casting the seconds values to an integer. The closest result is to use
FORMAT ‘(i4,1x,i2,1x,f3.0,1x,i3,1x,i2,1x,f3.0)’
which gives
-152 50 50. -59 8 48.
GENERALIZE
(Optional for all projections with the COVER option)
Syntax:
GENERALIZE <distance>
The option of generalizing all arcs in a coverage by the specified distance can be applied to both input and output projections. If both DENSIFY and GENERALIZE are specified for the same input or output projection, all arcs will be densified before being generalized.
QUADRANT
(Optional for GEOGRAPHIC only. Use only if longitude or latitude values do NOT have the correct sign)
Syntax:
QUADRANT <NW | NE | SW | SE>
The quadrant in which geographic coordinates (i.e., latitude-longitude) are being input or output. QUADRANT assumes both latitude and longitude values are positive. Depending upon which quadrant is specified, QUADRANT changes the sign of the appropriate coordinate(s).QUADRANT changes the sign of the appropriate coordinate(s).
QUADRANT is often used when input coordinates do not have correct negative numbers. For example, longitudes in the U.S. are always negative, yet often are recorded as positive values. If your data has positive longitude values which are actually negative, specify QUADRANT NW.
Example:
81.000 41.500 85.300 36.000
After QUADRANT NW,
-81.000 41.500 -85.300 36.000
If the coordinate values already have the correct signs, do not use the QUADRANT subcommand. If QUADRANT NW was applied a second time to the example data shown above, the results would be
81.000 41.500 85.300 36.000
QUADRANT affects how latitude-longitude coordinates are read and interpreted from the input file, coverage, or grid. QUADRANT does not affect any latitude-longitude values entered as PARAMETERS for a particular projection – these must contain their correct signs specifying whether latitude and longitude are positive or negative.
SPHEROID
(Optional for all projections)
Syntax:
SPHEROID <spheroid_name>
The spheroid upon which the projection will be based. The default is Clarke 1866 if no other SPHEROID is specified, or if it is not inherent to the projection (such as NEWZEALAND_GRID). All supported datums have the correct spheroid hard-coded. Do not use the SPHEROID subcommand if datum is stated.
Project: DATUM WGS84 PROJECT will use WGS84 spheroid parameters
Project: SPHEROID INT1909 PROJECT will use the new spheroid parameters.
ARC/INFO does not convert between spheroids unless transforming between datums. If the input has a spheroid defined other than Clarke 1866, the output must specify the same spheroid. If the parameters of the projection request a radius of the sphere of reference, it will override the spheroid subcommand and default to a sphere. See Supported Spheroids for a list of spheroids.
XSHIFT and YSHIFT
(Optional for all projections)
Syntax:
XSHIFT <distance> YSHIFT <distance>
The constant to add to the coordinates. The use of XSHIFT or YSHIFT will cause a value (specified by <distance>) to be added to all coordinates.
XSHIFT and YSHIFT are often used to subtract a value from projected coordinates whose values are in the 3 to 6 million range (especially Y) to maintain coordinate precision during execution of various analysis programs. When data containing an XSHIFT or YSHIFT is reprojected, the negative of the shift is not used. The user may have to change the sign of the shift value using PROJECTDEFINE before reprojecting the data. The default value is zero and is expressed in coverage units.
ZONE
(Optional for UTM and STATEPLANE only)
Syntax:
ZONE <zone_number>
The zone number for UTM or State Plane Coordinate System. For valid ZONE numbers, see UTM zones or SPCS zones. You should use FIPSZONE for the State Plane Coordinate System. The codes used by ZONE were originally designed by the Bureau of Land Management for NAD27 SPCS. They haven’t been updated for new NAD83 SPCS zones like South Carolina or Montana.
ZUNITS
(Optional for all projections)
Syntax:
ZUNITS <units>
Specifies the units of the z-value. Primarily used with TINs. This is only descriptive information and will not be converted by PROJECT even if input and output ZUNITS are different.
Possible units are
- NO (Default; ZUNITS are not shown in DESCRIBE)
- FEET
- METERS
- Real number (Units per meter)
- Character String (Maximum of 40 characters with no spaces)
PARAMETERS
(Required for all projections)
Syntax:
PARAMETERS {semi-major axis} {semi-minor axis}
The PARAMETERS subcommand specifies the set of projection-specific parameters which make up the parameters package. It is the last part of each INPUT or OUTPUT section. Always specify PARAMETERS, even if no special parameters are required for the projection.
Non-default, semi-major and semi-minor axes of an ellipsoid can be specified after the keyword PARAMETERS.
The parameters entered in the PARAMETERS package depend on the projection. See the discussion of each projection to determine what parameters must be entered. Required parameters are entered one per line. Comments can be placed after the parameters. Sample parameters are included in the discussion of each projection where appropriate.
As a general rule, latitude/longitude values specified as part of PARAMETERS settings must have the appropriate signs (positive or negative) regardless of the QUADRANT specification.
OUTPUT
(Required for all projections)
Syntax:
OUTPUT
The subcommands following OUTPUT define the output projection. The subcommands discussed previously for the input projection can also be used for the output projection.
/* {comment}
(Optional for all projections)
Delineates a comment statement. Lines which begin with /* cannot be placed in the PARAMETERS section.
END
(Required for all projections)
Syntax:
END
Specifies the end of subcommand input. END must always conclude the list of subcommands.