cs2cs performs transformation between the source and destination cartographic coordinate reference system
on a set of input points. The coordinate reference system transformation can include translation between
projected and geographic coordinates as well as the application of datum shifts.
The following control parameters can appear in any order:
-I Method to specify inverse translation, convert from +to coordinate system to the primary
coordinate system defined.
-t<a> Where 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).
-d<n> New in version 5.2.0.
Specify the number of decimals to round to in the output.
-e<string>
Where string is an arbitrary string to be output if an error is detected during data
transformations. The default value is a three character string: *\t*.
-E Causes the input coordinates to be copied to the output line prior to printing the converted
values.
-l<[=id]>
List projection identifiers that can be selected with +proj. cs2cs-l=id gives expanded
description of projection id, e.g. cs2cs-l=merc.
-lp List of all projection id that can be used with the +proj parameter. Equivalent to cs2cs-l.
-lP Expanded description of all projections that can be used with the +proj parameter.
-le List of all ellipsoids that can be selected with the +ellps parameters.
-lm List of hard-coded prime meridians that can be selected with the +pm parameter. Note that this
list is no longer updated, and some values may conflict with other sources.
-lu List of all distance units that can be selected with the +units parameter.
-r This options reverses the order of the first two expected inputs from that specified by the CRS to
the opposite order. The third coordinate, typically height, remains third.
-s This options reverses the order of the first two expected outputs from that specified by the CRS
to the opposite order. The third coordinate, typically height, remains third.
-f<format>
Where 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. If a format is specified
for inverse projection the output data will be in decimal degrees. The default format is "%.2f"
for forward projection and DMS for inverse.
-w<n> Where n is the number of significant fractional digits to employ for seconds output (when the
option is not specified, -w3 is assumed).
-W<n> Where n is the number of significant fractional digits to employ for seconds output. When -W is
employed the fields will be constant width with leading zeroes. Valid range: -W0 through -W8.
-v Causes a listing of cartographic control parameters tested for and used by the program to be
printed prior to input data.
--area<name_or_code>
New in version 8.0.0.
Specify an area of interest to restrict the results when researching coordinate operations between
2 CRS. The area of interest can be specified either as a name (e.g "Denmark - onshore") or a
AUTHORITY:CODE (EPSG:3237)
This option is mutually exclusive with --bbox.
--bbox<west_long,south_lat,east_long,north_lat>
New in version 8.0.0.
Specify an area of interest to restrict the results when researching coordinate operations between
2 CRS. The area of interest is specified as a bounding box with geographic coordinates, expressed
in degrees in a unspecified geographic CRS. west_long and east_long should be in the [-180,180]
range, and south_lat and north_lat in the [-90,90]. west_long is generally lower than east_long,
except in the case where the area of interest crosses the antimeridian.
--only-best[=yes|=no]
New in version 9.2.0.
Force cs2cs to only use the best transformation known by PROJ. cs2cs will return an error if a
grid needed for the best transformation is missing.
Best transformation should be understood as the most accurate transformation available among all
relevant for the point to transform, and if all known grids required to perform such
transformation were accessible (either locally or through network).
Note that the default value for this option can be also set with the PROJ_ONLY_BEST_DEFAULT
environment variable, or with the only_best_default setting of proj.ini (--only-best when
specified overrides such default value).
--no-ballpark
New in version 8.0.0.
Disallow any coordinate operation that is, or contains, a Ballparktransformation--accuracy<accuracy>
New in version 8.0.0.
Sets the minimum desired accuracy for candidate coordinate operations.
--authority<name>
New in version 8.0.0.
This option can be used to restrict the authority of coordinate operations looked up in the
database. When not specified, coordinate operations from any authority will be searched, with the
restrictions set in the authority_to_authority_preference database table related to the authority
of the source/target CRS themselves. If authority is set to any, then coordinate operations from
any authority will be searched If authority is a non-empty string different of any, then
coordinate operations will be searched only in that authority namespace (e.g EPSG).
This option is mutually exclusive with --bbox.
--3d New in version 9.1.
"Promote" 2D CRS(s) to their 3D version, where the vertical axis is the ellipsoidal height in
metres, using the ellipsoid of the base geodetic CRS. Depending on PROJ versions and the exact
nature of the CRS involved, especially before PROJ 9.1, a mix of 2D and 3D CRS could lead to 2D or
3D transformations. Starting with PROJ 9.1, both CRS need to be 3D for vertical transformation to
possibly happen.
--s_epoch
New in version 9.4.
Epoch of coordinates in the source CRS, as decimal year. Only applies to a dynamic CRS.
--t_epoch
New in version 9.4.
Epoch of coordinates in the target CRS, as decimal year. Only applies to a dynamic CRS.
The +opt run-line arguments are associated with cartographic parameters.
The cs2cs program requires two coordinate reference system (CRS) definitions. The first (or primary is
defined based on all projection parameters not appearing after the +to argument. All projection
parameters appearing after the +to argument are considered the definition of the second CRS. If there is
no second CRS defined, a geographic CRS based on the datum and ellipsoid of the source CRS is assumed.
Note that the source and destination CRS can both of same or different nature (geographic, projected,
compound CRS), or one of each and may have the same or different datums.
When using a WKT definition or a AUTHORITY:CODE, the axis order of the CRS will be enforced. So for
example if using EPSG:4326, the first value expected (or returned) will be a latitude.
Internally, cs2cs uses the proj_create_crs_to_crs() function to compute the appropriate coordinate
operation, so implementation details of this function directly impact the results returned by the
program.
The environment parameter PROJ_DATA establishes the directory for resource files (database, datum shift
grids, etc.)
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 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 or decimal degrees format and input
cartesian data must be in units consistent with the ellipsoid major axis or sphere radius units. Output
geographic coordinates will normally be in DMS format (use -f%.12f for decimal degrees with 12 decimal
places), while projected (cartesian) coordinates will be in linear (meter, feet) units.
Useofremotegrids
New in version 7.0.0.
If the PROJ_NETWORK environment variable is set to ON, cs2cs will attempt to use remote grids stored on
CDN (Content Delivery Network) storage, when they are not available locally.
More details are available in the Networkcapabilities section.