plucky (1) cs2cs.1.gz

Provided by: proj-bin_9.5.1-1_amd64 bug

NAME

       cs2cs - Cartographic coordinate system filter

SYNOPSIS

          cs2cs [-eEfIlrstvwW [args]]
            [[--area <name_or_code>] | [--bbox <west_long,south_lat,east_long,north_lat>]]
            [--authority <name>] [--3d]
            [--accuracy <accuracy>] [--only-best[=yes|=no]] [--no-ballpark]
            [--s_epoch {epoch}] [--t_epoch {epoch}]
            ([+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

          • a proj-string,

          • a WKT string,

          • an        object        code        (like         "EPSG:4326",         "urn:ogc:def:crs:EPSG::4326",
            "urn:ogc:def:coordinateOperation:EPSG::1671"),

          • an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as uniqueness is not guaranteed,
            heuristics are applied to determine the appropriate best match.

          • a CRS name and a coordinate epoch, separated with '@'. For example "ITRF2014@2025.0". (added in 9.2)

          • a  OGC  URN   combining   references   for   compound   coordinate   reference   systems   (e.g   "‐
            urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" or custom abbreviated syntax "EPSG:2393+5717"),

          • a  OGC  URN  combining references for references for projected or derived CRSs e.g. for Projected 3D
            CRS         "UTM         zone         31N         /         WGS         84         (3D)":         "‐
            urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031" (added in 6.2)

          • a     OGC     URN     combining     references     for     concatenated    operations    (e.g.    "‐
            urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")

          • a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.4/projjson.schema.json (added in
            6.2)

          • a  compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (added
            in 7.1)

          New in version 6.0.0.

          NOTE:
              before 7.0.1, it was needed to add  +to  between  {source_crs}  and  {target_crs}  when  adding  a
              filename

DESCRIPTION

       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 Ballpark transformation

       --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.

   Use of remote grids
       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.

EXAMPLES

   Using PROJ strings
       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.93  5076292.58 0.00

       To  get  those  exact  values,  you  have  need to have all current grids installed (in that instance the
       NADCON5 us_noaa_nadcon5_nad27_nad83_1986_conus.tif grid) locally or use networking capabilities mentioned
       above.

       To make sure you will get the optimal result, you may add --only-best.  Assuming the above mentioned grid
       is not available,

          echo -111.5 45.25919444444 | cs2cs --only-best +proj=latlong +datum=NAD83 +to +proj=utm +zone=10 +datum=NAD27

       would return:

          Attempt to use coordinate operation axis order change (2D) + Inverse of NAD27 to NAD83 (7) + axis order change (2D) + UTM zone 10N failed. Grid us_noaa_nadcon5_nad27_nad83_1986_conus.tif is not available. Consult https://proj.org/resource_files.html for guidance.
          *   * inf

       Otherwise, if you don't have the grid available and you don't specify --only-best:

          echo -111.5 45.25919444444 | cs2cs --only-best +proj=latlong +datum=NAD83 +to +proj=utm +zone=10 +datum=NAD27

       would return:

          1402224.57  5076275.42 0.00

       which is the result when the NAD27 and NAD83 datums are dealt as identical, which is an approximation  at
       a level of several tens of metres.

   Using EPSG CRS codes
       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

   Using EPSG CRS names
       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:
          To get those exact values, you have need to have the EGM96 grid installed locally  or  use  networking
          capabilities mentioned above.

SEE ALSO

       proj(1), cct(1), geod(1), gie(1), projinfo(1), projsync(1)

BUGS

       A  list  of  known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be
       submitted to.

HOME PAGE

       https://proj.org/

AUTHOR

       Frank Warmerdam

       1983-2024, PROJ contributors