1PROJECT(1)                   Generic Mapping Tools                  PROJECT(1)
2
3
4

NAME

6       project - project data along a line or great circle, generate a profile
7       track, or translate coordinates.
8

SYNOPSIS

10       project [ infile ] -Ccx/cy [ -Aazimuth ]  [  -Dd|g  ]  [  -Ebx/by  ]  [
11       -Fflags ] [ -Gdist ] [ -H[i][nrec] ] [ -L[w][l_min/l_max] ] [ -N ] [ -Q
12       ] [ -S ] [  -Tpx/py  ]  [  -V  ]  [  -Ww_min/w_max  ]  [  -:[i|o]  ]  [
13       -b[i|o][s|S|d|D[ncol]|c[var1/...]] ] [ -f[i|o]colinfo ] [ -m[i|o][flag]
14       ]
15

DESCRIPTION

17       project reads arbitrary (x, y[, z]) data from standard input [or infile
18       ]  and  writes to standard output any combination of (x, y, z, p, q, r,
19       s), where (p, q) are the coordinates in the projection, (r, s)  is  the
20       position in the (x, y) coordinate system of the point on the profile (q
21       = 0 path) closest to (x, y), and z is  all  remaining  columns  in  the
22       input  (beyond  the  required x and y columns).  Alternatively, project
23       may be used to generate (r, s, p)  triples  at  equal  increments  dist
24       along a profile.  In this case ( -G option), no input is read.  Projec‐
25       tions are defined in any (but only) one of three ways:  (Definition  1)
26       By  a  Center  -C  and  an  Azimuth -A in degrees clockwise from North.
27       (Definition 2)  By a Center -C and end point E of the  projection  path
28       -E.   (Definition  3)   By a Center -C and a roTation pole position -T.
29       To spherically project data along a great circle path, an oblique coor‐
30       dinate system is created which has its equator along that path, and the
31       zero meridian through the Center.  Then the oblique longitude (p)  cor‐
32       responds  to  the  distance from the Center along the great circle, and
33       the oblique latitude (q) corresponds to the distance  perpendicular  to
34       the  great  circle  path.  When moving in the increasing (p) direction,
35       (toward B or in the azimuth direction), the positive (q)  direction  is
36       to  your  left.   If  a  Pole has been specified, then the positive (q)
37       direction is toward the pole.
38       To specify an oblique projection, use the -T option to  set  the  Pole.
39       Then  the  equator  of  the projection is already determined and the -C
40       option is used to locate the p = 0 meridian.  The Center cx/cy will  be
41       taken  as  a  point through which the p = 0 meridian passes.  If you do
42       not care to choose a particular point, use the South pole (ox = 0, oy =
43       -90).
44       Data can be selectively windowed by using the -L and -W options.  If -W
45       is used, the projection Width is set to use only points with w_min <  q
46       < w_max.  If -L is set, then the Length is set to use only those points
47       with l_min < p < l_max.  If the -E option has been used to  define  the
48       projection,  then  -Lw may be selected to window the length of the pro‐
49       jection to exactly the span from O to B.
50       Flat Earth (Cartesian) coordinate transformations  can  also  be  made.
51       Set  -N and remember that azimuth is clockwise from North (the y axis),
52       NOT the usual cartesian theta, which is  counterclockwise  from  the  x
53       axis.  azimuth = 90 - theta.
54       No assumptions are made regarding the units for x, y, r, s, p, q, dist,
55       l_min, l_max, w_min, w_max.  If -Q is selected, map units  are  assumed
56       and  x, y, r, s must be in degrees and p, q, dist, l_min, l_max, w_min,
57       w_max will be in km.
58       Calculations of specific great-circle and  geodesic  distances  or  for
59       back-azimuths or azimuths are better done using mapproject.
60       project  is CASE SENSITIVE.  Use UPPER CASE for all one-letter designa‐
61       tors which begin optional arguments.  Use lower case  for  the  xyzpqrs
62       letters in -flags.
63
64
65       -C     cx/cy  sets  the origin of the projection, in Definition 1 or 2.
66              If Definition 3 is used (-T), then cx/cy are the coordinates  of
67              a  point  through which the oblique zero meridian (p = 0) should
68              pass.
69

OPTIONS

71       infile name of ASCII (or binary, see -bi) file(s) with 2 or  more  col‐
72              umns  holding (x,y,[z]) data values.  If no filenames are given,
73              project will read from standard input.   If  the  -G  option  is
74              selected, no input data are read.
75
76       -F     Specify your desired output using any combination of xyzpqrs, in
77              any order.  Do not space between the letters.  Use  lower  case.
78              The  output will be ASCII (or binary, see -bo) columns of values
79              corresponding to xyzpqrs [Default].  If both  input  and  output
80              are   using  ASCII  format  then  the  z  data  are  treated  as
81              textstring(s).  If the -G option is selected, the output will be
82              rsp.
83
84       -A     azimuth defines the azimuth of the projection (Definition 1).
85
86       -D     Set  the  location  of the Discontinuity in longitude (r coordi‐
87              nate).  -Dd will place the discontinuity at the Dateline,  (-180
88              <  r  <  180);  -Dg  will  place it at Greenwich, (0 < r < 360).
89              Default usually falls at dateline due to atan2 calls.
90
91       -E     bx/by defines the end point of the projection  path  (Definition
92              2).
93
94       -G     dist  Generate mode.  No input is read.  Create (r, s, p) output
95              points every dist units of p.  See -Q option.
96
97       -H     Input file(s) has header record(s).  If used, the default number
98              of  header records is N_HEADER_RECS.  Use -Hi if only input data
99              should have  header  records  [Default  will  write  out  header
100              records  if  the  input  data  have them]. Blank lines and lines
101              starting with # are always skipped.
102
103       -L     Length controls.  Project only those points whose  p  coordinate
104              is  within  l_min < p < l_max.  If -E has been set, then you may
105              use -Lw to stay within the distance from C to E.
106
107       -N     Flat Earth.  Make a Cartesian coordinate transformation  in  the
108              plane.  [Default uses spherical trigonometry.]
109
110       -Q     Map  type units, i.e., project assumes x, y, r, s are in degrees
111              while p, q, dist, l_min, l_max, w_min, w_max are in km.   If  -Q
112              is not set, then all these are assumed to be in the same units.
113
114       -S     Sort the output into increasing p order.  Useful when projecting
115              random data into a sequential profile.
116
117       -T     px/py sets the position of the roTation pole of the  projection.
118              (Definition 3).
119
120       -V     Selects verbose mode, which will send progress reports to stderr
121              [Default runs "silently"].
122
123       -W     Width controls.  Project only those points whose q coordinate is
124              within w_min < q < w_max.
125
126       -:     Toggles  between  (longitude,latitude)  and (latitude,longitude)
127              input and/or output.  [Default is (longitude,latitude)].  Append
128              i  to  select  input  only or o to select output only.  [Default
129              affects both].
130
131       -bi    Selects binary input.  Append s for single precision [Default is
132              d  (double)].   Uppercase  S  or  D  will  force  byte-swapping.
133              Optionally, append ncol, the number of columns  in  your  binary
134              input  file if it exceeds the columns needed by the program.  Or
135              append c  if  the  input  file  is  netCDF.  Optionally,  append
136              var1/var2/...  to specify the variables to be read.  [Default is
137              2 input columns].
138
139       -bo    Selects binary output.  Append s for single  precision  [Default
140              is  d  (double)].   Uppercase  S  or D will force byte-swapping.
141              Optionally, append ncol, the number of desired columns  in  your
142              binary output file.  [Default is given by -F or -G].
143
144       -f     Special  formatting of input and/or output columns (time or geo‐
145              graphical data).  Specify i or o to  make  this  apply  only  to
146              input  or  output  [Default  applies to both].  Give one or more
147              columns (or column ranges) separated by commas.  Append T (abso‐
148              lute  calendar time), t (relative time in chosen TIME_UNIT since
149              TIME_EPOCH), x (longitude), y (latitude), or f (floating  point)
150              to  each  column or column range item.  Shorthand -f[i|o]g means
151              -f[i|o]0x,1y (geographic coordinates).
152
153       -m     Multiple segment file(s).  Segments are separated by  a  special
154              record.   For  ASCII  files  the  first  character  must be flag
155              [Default is '>'].  For binary files all fields must be  NaN  and
156              -b must set the number of output columns explicitly.  By default
157              the -m setting applies to both input and output.   Use  -mi  and
158              -mo to give separate settings to input and output.
159

ASCII FORMAT PRECISION

161       The ASCII output formats of numerical data are controlled by parameters
162       in your .gmtdefaults4  file.   Longitude  and  latitude  are  formatted
163       according  to  OUTPUT_DEGREE_FORMAT, whereas other values are formatted
164       according to D_FORMAT.  Be aware that the format in effect can lead  to
165       loss  of  precision  in  the output, which can lead to various problems
166       downstream.  If you find the output is not written with  enough  preci‐
167       sion, consider switching to binary output (-bo if available) or specify
168       more decimals using the D_FORMAT setting.
169

EXAMPLES

171       To generate points every 10km along a  great  circle  from  10N,50W  to
172       30N,10W:
173
174       project -C-50/10 -E-10/30 -G10 -Q > great_circle_points.xyp
175
176       (Note  that great_circle_points.xyp could now be used as input for grd‐
177       track, etc. ).
178
179       To  project  the  shiptrack  gravity,  magnetics,  and  bathymetry   in
180       c2610.xygmb  along  a  great  circle through an origin at 30S, 30W, the
181       great circle having an azimuth of N20W at the origin, keeping only  the
182       data from NE of the profile and within +/- 500 km of the origin, run:
183
184       project  c2610.xygmb  -C-30/-30  -A-20  -W-10000/0 -L-500/500 -Fpz -Q >
185       c2610_projected.pgmb
186
187       (Note in this example that -W-10000/0 is used to admit any value with a
188       large  negative q coordinate.  This will take those points which are on
189       our right as we walk along the great circle path, or to the NE in  this
190       example.)
191
192       To  make a Cartesian coordinate transformation of mydata.xy so that the
193       new origin is at 5,3 and the new x  axis  (p)  makes  an  angle  of  20
194       degrees with the old x axis, use:
195
196       project mydata.xy -C5/3 -A70 -Fpq > mydata.pq
197
198       To  take  data in the file pacific.lonlat and transform it into oblique
199       coordinates using a pole from the hotspot reference frame  and  placing
200       the oblique zero meridian (p = 0 line) through Tahiti, run:
201
202       project pacific.lonlat -T-75/68 -C-149:26/-17:37 -Fpq > pacific.pq
203
204       Suppose  that  pacific_topo.grd  is  a grid file of bathymetry, and you
205       want to make a file of flowlines in the hotspot  reference  frame.   If
206       you run:
207
208       grd2xyz  pacific_topo.grd  |  project  -T-75/68 -C0/-90 -Fxyq | xyz2grd
209       -Retc -Ietc -Cflow.grd
210
211       then flow.grd is a file in the same area as pacific_topo.grd, but  flow
212       contains  the  latitudes about the pole of the projection.  You now can
213       use grdcontour on flow.grd to draw lines of constant oblique  latitude,
214       which are flow lines in the hotspot frame.
215
216       If  you  have  an arbitrarily rotation pole px/py and you would like to
217       draw an oblique small circle on a map, you will first need  to  make  a
218       file  with  the  oblique  coordinates for the small circle (i.e., lon =
219       0-360, lat is constant), then create a file with two records: the north
220       pole  (0/90)  and the origin (0/0), and find what their oblique coordi‐
221       nates are using your rotation pole.  Now, use the projected North  pole
222       and  origin  coordinates as the rotation pole and center, respectively,
223       and project your file as in the  pacific  example  above.   This  gives
224       coordinates for an oblique small circle.
225

SEE ALSO

227       fitcircle(1), GMT(1), mapproject(1), grdproject(1)
228
229
230
231GMT 4.5.6                         10 Mar 2011                       PROJECT(1)
Impressum