CS2CS(1) | PROJ | CS2CS(1) |
cs2cs - Cartographic coordinate system filter
cs2cs [-eEfIlrstvwW [args]]
[[--area <name_or_code>] | [--bbox <west_long,south_lat,east_long,north_lat>]] [--authority <name>] [--no-ballpark] [--accuracy <accuracy>] [--3d] ([+opt[=arg] ...] [+to +opt[=arg] ...] | {source_crs} {target_crs}) file ...
where {source_crs} or {target_crs} is one of the possibilities accepted by proj_create(), provided it expresses a CRS
New in version 6.0.0.
NOTE:
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:
Specify the number of decimals to round to in the output.
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.
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.
Disallow any coordinate operation that is, or contains, a Ballpark transformation
Sets the minimum desired accuracy for candidate coordinate operations.
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.
"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.
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.
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 Network capabilities section.
The following script
cs2cs +proj=latlong +datum=NAD83 +to +proj=utm +zone=10 +datum=NAD27 -r <<EOF 45°15'33.1" 111.5W 45d15.551666667N -111d30 +45.25919444444 111d30'000w EOF
will transform the input NAD83 geographic coordinates into NAD27 coordinates in the UTM projection with zone 10 selected. 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:
1402285.98 5076292.42 0.00
NOTE:
Transforming from WGS 84 latitude/longitude (in that order) to UTM Zone 31N/WGS 84
cs2cs EPSG:4326 EPSG:32631 <<EOF 45N 2E EOF
outputs
421184.70 4983436.77 0.00
Transforming from WGS 84 latitude/longitude (in that order) with EGM96 height to UTM Zone 31N/WGS 84 with WGS84 ellipsoidal height
echo 45 2 0 | cs2cs "WGS 84 + EGM96 height" "WGS 84 / UTM zone 31N" --3d
outputs
421184.70 4983436.77 50.69
NOTE:
A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to.
https://proj.org/
Frank Warmerdam
1983-2022
Dec 1st, 2022 | 9.1.1 |