Skip to content

Commit a812460

Browse files
committed
Merge branch 'master' into psconvert-no-file-dup
2 parents 2ecc7c8 + c188454 commit a812460

22 files changed

+127
-120
lines changed

doc/rst/source/clip.rst

+15-11
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Synopsis
1414

1515
**gmt clip** [ *table* ] |-J|\ *parameters* |-C|\ [*n*]
1616
|SYN_OPT-Rz|
17-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
17+
[ |-A|\ [**x**\|\ **y**] ]
1818
[ |SYN_OPT-B| ]
1919
|-J|\ **z**\|\ **Z**\ *parameters* ]
2020
[ |-N| ]
@@ -89,16 +89,20 @@ Optional Arguments
8989

9090
.. _-A:
9191

92-
**-A**\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**]
93-
By default, geographic line segments are connected as great circle arcs. To connect them as
94-
straight lines, use the |-A| flag. Alternatively, add **m** to connect
95-
the line by first following a meridian, then a parallel. Or append **p**
96-
to start following a parallel, then a meridian. (This can be practical
97-
to connect lines along parallels, for example).
98-
For Cartesian data, points are simply connected, unless you append
99-
**x** or **y** to construct stair-case paths whose first move is along
100-
*x* or *y*, respectively. For polar projection, append **r** or **t** to
101-
draw stair-case curves that whose first move is along *r* or *theta*, respectively.
92+
**-A**\ [**x**\|\ **y**]
93+
By default, geographic line segments are connected as great circle arcs by resampling
94+
coarse input data along such arcs. To disable this sampling and connect them as
95+
straight lines, use the |-A| flag. For Cartesian data, points are simply connected.
96+
To adjust these behaviors, append a directive:
97+
98+
- **x** - First follow *x*, then *y* for staircase curves.
99+
- **y** - First follow *y*, then *x* for staircase curves.
100+
101+
Here, *x* and *y* have the following meanings:
102+
103+
- For Cartesian projections, *x* and *y* are the X- and Y-axis.
104+
- For gragraphic projections, *x* and *y* are parallels and meridians.
105+
- For polar projections, *x* and *y* are theta and radius.
102106

103107
.. |Add_-B| replace:: |Add_-B_links|
104108
.. include:: explain_-B.rst_

doc/rst/source/explain_line_draw.rst_

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
**-A**\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**]
1+
**-A**\ [**x**\|\ **y**]
22
By default, geographic line segments are drawn as great circle arcs by resampling
33
coarse input data along such arcs. To disable this sampling and draw them as
44
straight lines, use the |-A| flag. For Cartesian data, points are simply connected.
55
To adjust these behaviors, append a directive:
66

7-
- **m** - Draw the line by first following a meridian, then a parallel.
8-
- **p** - Start following a parallel, then a meridian. (This can be practical
9-
to draw a line along parallels, for example).
10-
- **r** - For polar projections, draw stair-case curves whose first move is along *r*.
11-
- **t** - Same, but first move is along *theta*.
12-
- **x** - For Cartesian data, draw stair-case curves that whose first move is along *x*.
13-
- **y** - Same, but first move is along *y*.
7+
- **x** - First follow *x*, then *y* for staircase curves.
8+
- **y** - First follow *y*, then *x* for staircase curves.
9+
10+
Here, *x* and *y* have the following meanings:
11+
12+
- For Cartesian projections, *x* and *y* are the X- and Y-axis.
13+
- For gragraphic projections, *x* and *y* are parallels and meridians.
14+
- For polar projections, *x* and *y* are theta and radius.
1415

1516
**Note**: In :doc:`plot3d`, the |-A| option requires constant *z*-coordinates.

doc/rst/source/plot.rst

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Synopsis
1414

1515
**gmt plot** [ *table* ] |-J|\ *parameters*
1616
|SYN_OPT-Rz|
17-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
17+
[ |-A|\ [**x**\|\ **y**] ]
1818
[ |SYN_OPT-B| ]
1919
[ |-C|\ *cpt* ]
2020
[ |-D|\ *dx*\ [/*dy*] ]
@@ -249,13 +249,13 @@ Optional Arguments
249249
as column 2 (i.e., third) in any number of files having three columns. Each file may
250250
contain any number of segments per file.
251251
- **s** - Same but the two curves are given via separate pairs of tables [Default].
252-
252+
253253
Several modifiers are at your disposal:
254254

255255
- **+g** - We use the *fill* set via |-G| to fill the areas where :math:`y_0(x)` exceeds
256-
:math:`y_1(x)`. For the opposite case, append another *fill* here.
256+
:math:`y_1(x)`. For the opposite case, append another *fill* here.
257257
- **+l** - For the primary curve :math:`y_0(x)`, a legend label can be set via option
258-
|SYN_OPT-l|. For a secondary label use this modifier to append the label.
258+
|SYN_OPT-l|. For a secondary label use this modifier to append the label.
259259
- **+p** - Specify a separate pen for drawing curve :math:`y_1(x)` [Default is same pen
260260
as :math:`y_0(x)`]. See |-W| for specifying the pen for curve :math:`y_0(x)`.
261261
- **+r** - Specify a pen to simply draw a line instead of a filled box in the legend, but
@@ -309,7 +309,7 @@ Optional Arguments
309309
*width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the
310310
appearance of the line:
311311

312-
- **+c** - Determine how the color from the cpt file lookup is applied to symbol
312+
- **+c** - Determine how the color from the cpt file lookup is applied to symbol
313313
and|or fill. Append **l** to have the color of the line to be taken from the CPT (see
314314
|-C|). If instead **f** is appended then the color from the cpt file is applied
315315
to symbol fill. If no argument is given the we use the color for both pen and fill.

doc/rst/source/plot3d.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Synopsis
1515
**gmt plot3d** [ *table* ] |-J|\ *parameters*
1616
|-Jz|\ \|\ **Z**\ *parameters*
1717
|SYN_OPT-Rz|
18-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
18+
[ |-A|\ [**x**\|\ **y**] ]
1919
[ |SYN_OPT-B| ]
2020
[ |-C|\ *cpt* ]
2121
[ |-D|\ *dx*/*dy*\ [/*dz*] ]
@@ -211,7 +211,7 @@ Optional Arguments
211211
*width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the
212212
appearance of the line:
213213

214-
- **+c** - Determine how the color from the cpt file lookup is applied to symbol
214+
- **+c** - Determine how the color from the cpt file lookup is applied to symbol
215215
and|or fill. Append **l** to have the color of the line to be taken from the CPT (see
216216
|-C|). If instead **f** is appended then the color from the cpt file is applied
217217
to symbol fill. If no argument is given the we use the color for both pen and fill.

doc/rst/source/psclip.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Synopsis
1414

1515
**gmt psclip** [ *table* ] |-J|\ *parameters* |-C|\ [*n*]
1616
|SYN_OPT-Rz|
17-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
17+
[ |-A|\ [**x**\|\ **y**] ]
1818
[ |SYN_OPT-B| ]
1919
[ |-K| ] [ |-N| ] [ |-O| ]
2020
[ |-P| ] [ |-T| ]

doc/rst/source/psxy.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Synopsis
1414

1515
**gmt psxy** [ *table* ] |-J|\ *parameters*
1616
|SYN_OPT-Rz|
17-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
17+
[ |-A|\ [**x**\|\ **y**] ]
1818
[ |SYN_OPT-B| ]
1919
[ |-C|\ *cpt* ]
2020
[ |-D|\ *dx*/*dy* ]

doc/rst/source/psxyz.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Synopsis
1515
**gmt psxyz** [ *table* ] |-J|\ *parameters*
1616
|-J|\ **z**\|\ **Z**\ *parameters*
1717
|SYN_OPT-Rz|
18-
[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ]
18+
[ |-A|\ [**x**\|\ **y**] ]
1919
[ |SYN_OPT-B| ]
2020
[ |-C|\ *cpt* ]
2121
[ |-D|\ *dx*/*dy*\ [/*dz*] ]

src/gmt_io.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -10136,7 +10136,7 @@ unsigned int gmtlib_is_time (struct GMT_CTRL *GMT, char *text) {
1013610136
gmt_strrepc (string, p[k], ' '); /* Replace date separators with space */
1013710137
if (n_colon)
1013810138
gmt_strrepc (string, ':', ' '); /* Replace time separators with space */
10139-
if ((n_dash >= 1 && n_slash == 0) || (n_dash == 0 && n_slash >= 1)) {
10139+
if (((n_dash >= 1 && n_slash == 0) || (n_dash == 0 && n_slash >= 1)) || (n_dash == 0 && n_slash == 0 && string[L] == 'T')) {
1014010140
/* Apart from random junk SHIT 5 6 7:X:Hello!, Possibilities are:
1014110141
* 1. yyyy mm dd[T][hh.xxx|:mm.xx|:ss.xx] Full date and possibly time
1014210142
* 2. yyyy jjj[T][hh.xxx|:mm.xx|:ss.xx] Julian day and possibly time

src/gmt_map.c

+20-14
Original file line numberDiff line numberDiff line change
@@ -6915,6 +6915,9 @@ void gmt_auto_frame_interval (struct GMT_CTRL *GMT, unsigned int axis, unsigned
69156915
}
69166916
f *= GMT->session.u2u[GMT_INCH][GMT_PT]; /* Change to points */
69176917

6918+
if (is_time && GMT->current.setting.time_system.scale != 1.0) /* Because gmtmap_auto_time_increment always expects the time in seconds */
6919+
d *= GMT->current.setting.time_system.scale;
6920+
69186921
#ifndef NO_THEMES
69196922
if (GMT->current.setting.run_mode == GMT_MODERN && gmt_M_axis_is_geo (GMT, axis)) { /* Need more space for degree symbol and WESN letters not considered in the algorithm */
69206923
if (strchr (GMT->current.setting.format_geo_map, 'F')) /* Need more space for degree symbol and letter */
@@ -9271,32 +9274,35 @@ void gmt_ECEF_forward (struct GMT_CTRL *GMT, double in[], double out[]) {
92719274
}
92729275

92739276
/*! . */
9274-
void gmt_ECEF_inverse (struct GMT_CTRL *GMT, double in[], double out[]) {
9277+
void gmt_ECEF_inverse(struct GMT_CTRL *GMT, double in[], double out[]) {
92759278
/* Convert ECEF coordinates to geodetic lon, lat, height given the datum parameters.
92769279
* GMT->current.proj.datum.from is always the ellipsoid to use */
92779280

92789281
unsigned int i;
9279-
double in_p[3], sin_lat, cos_lat, N, p, theta, sin_theta, cos_theta;
9282+
double in_p[3], sin_lat, cos_lat, N, p, r, theta, sin_theta, cos_theta, slam, clam, sphi, cphi;
92809283

92819284
/* First remove the xyz shifts, us in_p to avoid changing in */
92829285
for (i = 0; i < 3; i++) in_p[i] = in[i] - GMT->current.proj.datum.from.xyz[i];
92839286

92849287
p = hypot (in_p[GMT_X], in_p[GMT_Y]);
9285-
if (p > 0.0) { /* Not the S|N pole so we can invert */
9286-
theta = atan (in_p[GMT_Z] * GMT->current.proj.datum.from.a / (p * GMT->current.proj.datum.from.b));
9287-
sincos (theta, &sin_theta, &cos_theta);
9288-
out[GMT_X] = d_atan2d (in_p[GMT_Y], in_p[GMT_X]);
9289-
out[GMT_Y] = atand ((in_p[GMT_Z] + GMT->current.proj.datum.from.ep_squared * GMT->current.proj.datum.from.b * pow (sin_theta, 3.0)) / (p - GMT->current.proj.datum.from.e_squared * GMT->current.proj.datum.from.a * pow (cos_theta, 3.0)));
9290-
if (in_p[GMT_Z] > 0.0 && out[GMT_Y] < 0.0) out[GMT_Y] = -out[GMT_Y];
9291-
if (in_p[GMT_Z] < 0.0 && out[GMT_Y] > 0.0) out[GMT_Y] = -out[GMT_Y];
9288+
slam = p != 0 ? in_p[GMT_Y] / p : 0;
9289+
clam = p != 0 ? in_p[GMT_X] / p : 1;
9290+
theta = atan(in_p[GMT_Z] * GMT->current.proj.datum.from.a / (p * GMT->current.proj.datum.from.b));
9291+
sincos(theta, &sin_theta, &cos_theta);
9292+
sphi = in_p[GMT_Z] + GMT->current.proj.datum.from.ep_squared * GMT->current.proj.datum.from.b * pow(sin_theta, 3.0);
9293+
cphi = p - GMT->current.proj.datum.from.e_squared * GMT->current.proj.datum.from.a * pow(cos_theta, 3.0);
9294+
out[GMT_X] = d_atan2d(slam, clam);
9295+
out[GMT_Y] = d_atan2d(sphi, cphi);
9296+
if (in_p[GMT_Z] > 0.0 && out[GMT_Y] < 0.0) out[GMT_Y] = -out[GMT_Y];
9297+
if (in_p[GMT_Z] < 0.0 && out[GMT_Y] > 0.0) out[GMT_Y] = -out[GMT_Y];
9298+
if (fabs(out[GMT_Y]) < 89.999) {
92929299
sincosd (out[GMT_Y], &sin_lat, &cos_lat);
9293-
N = GMT->current.proj.datum.from.a / sqrt (1.0 - GMT->current.proj.datum.from.e_squared * sin_lat * sin_lat);
9300+
N = GMT->current.proj.datum.from.a / sqrt(1.0 - GMT->current.proj.datum.from.e_squared * sin_lat * sin_lat);
92949301
out[GMT_Z] = (p / cos_lat) - N;
92959302
}
9296-
else { /* S or N pole, use sign of in_p[GMT_Z] to set latitude and height */
9297-
out[GMT_X] = 0.0; /* Might as well pick0 since any longitude will work */
9298-
out[GMT_Y] = (in_p[GMT_Z] > 0.0) ? 90.0 : -90.0; /* EIther at north or south pole, check via Z coordinate */
9299-
out[GMT_Z] = in_p[GMT_Z] - copysign (GMT->current.proj.datum.from.b, in_p[GMT_Z]);
9303+
else { /* very close to the poles */
9304+
r = hypot(p, in_p[GMT_Z]);
9305+
out[GMT_Z] = r - hypot(GMT->current.proj.datum.from.b, p);
93009306
}
93019307
}
93029308

src/longopt/psclip_inc.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = {
2525
short_directives, long_directives,
2626
short_modifiers, long_modifiers,
2727
transproc_mask */
28-
{ 0, 'A', "straightlines|steps",
29-
"m,p,x,y,r,t", "meridian,parallel,x,y,r,theta",
28+
{ 0, 'A', "steps|stairs|straight_lines",
29+
"x,y", "x,y",
3030
"", "",
3131
GMT_TP_STANDARD },
3232
{ 0, 'C', "endclip", "", "", "", "", GMT_TP_STANDARD },

src/longopt/psxy_inc.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { /* Local options for this m
2525
short_directives, long_directives,
2626
short_modifiers, long_modifiers,
2727
transproc_mask */
28-
{ 0, 'A', "straightlines",
29-
"m,p,x,y,r,t", "mpfollow,pmfollow,xyalong,yxalong,rtalong,tralong",
28+
{ 0, 'A', "steps|stairs|straight_lines",
29+
"x,y", "x,y",
3030
"", "",
3131
GMT_TP_STANDARD },
3232
GMT_C_CPT_KW,

src/longopt/psxyz_inc.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = {
2525
short_directives, long_directives,
2626
short_modifiers, long_modifiers,
2727
transproc_mask */
28-
{ 0, 'A', "straightlines|straight_lines|straight_line",
29-
"m,p,x,y,r,t", "mpfollow,pmfollow,xyalong,yxalong,rtalong,tralong",
28+
{ 0, 'A', "steps|stairs|straight_lines",
29+
"x,y", "x,y",
3030
"", "",
3131
GMT_TP_STANDARD },
3232
GMT_C_CPT_KW,

src/psclip.c

+10-10
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
#define THIS_MODULE_OPTIONS "-:>BJKOPRUVXYbdefghipqtxy" GMT_OPT("EZMmc")
3838

3939
struct PSCLIP_CTRL {
40-
struct PSCLIP_A { /* -A[m|y|p|x|r|t<step>] */
40+
struct PSCLIP_A { /* -A[x|y] */
4141
bool active;
4242
unsigned int mode;
4343
double step;
@@ -79,7 +79,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
7979
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
8080
GMT_Usage (API, 0, "usage: %s -C[a|<n>] [-K] [-O]\n", name);
8181
GMT_Usage (API, 1, "or\n");
82-
GMT_Usage (API, 0, "usage: %s [<table>] %s %s [-A[m|p|r|t|x|y]] [%s] %s[-N] %s%s[-T] "
82+
GMT_Usage (API, 0, "usage: %s [<table>] %s %s [-A[x|y]] [%s] %s[-N] %s%s[-T] "
8383
"[%s] [%s] [-W[<pen>]] [%s] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n",
8484
name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, API->K_OPT, API->O_OPT, API->P_OPT, GMT_U_OPT, GMT_V_OPT,
8585
GMT_X_OPT, GMT_Y_OPT, GMT_bi_OPT, API->c_OPT, GMT_di_OPT, GMT_e_OPT, GMT_f_OPT, GMT_g_OPT, GMT_h_OPT,
@@ -94,15 +94,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
9494
"Terminates all clipping; optionally append how many clip levels to restore [all].");
9595
GMT_Option (API, "J-Z,R");
9696
GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n");
97-
GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]");
97+
GMT_Usage (API, 1, "\n-A[x|y]");
9898
GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw "
99-
"straight lines instead. Six optional directives instead convert paths to staircase curves:");
100-
GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points.");
101-
GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point.");
102-
GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection.");
103-
GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection.");
104-
GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections.");
105-
GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections.");
99+
"straight lines instead. Two optional directives instead convert paths to staircase curves:");
100+
GMT_Usage (API, 3, "x: First follow x, then y for staircase curves.");
101+
GMT_Usage (API, 3, "y: First follow y, then x for staircase curves.");
102+
GMT_Usage (API, -2, "Here, x and y have the following meanings: "
103+
"For Cartesian projections, x and y are the X- and Y-axis; "
104+
"For gragraphic projections, x and y are parallels and meridians; "
105+
"For polar projections, x and y are theta and radius.");
106106
GMT_Option (API, "B-,K");
107107
GMT_Usage (API, 1, "\n-N Use the outside of the polygons and the map boundary as clip paths.");
108108
GMT_Option (API, "O,P");

src/psxy.c

+11-10
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
struct PSXY_CTRL {
4545
bool no_RJ_needed; /* Special case of -T and no -B when -R -J is not required */
46-
struct PSXY_A { /* -A[m|y|p|x|r|t<step>] */
46+
struct PSXY_A { /* -A[x|y]] */
4747
bool active;
4848
unsigned int mode;
4949
double step;
@@ -529,7 +529,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
529529
const char *mod_name = &name[4]; /* To skip the leading gmt for usage messages */
530530
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
531531

532-
GMT_Usage (API, 0, "usage: %s [<table>] %s %s [-A[m|p|r|t|x|y]] [%s] [-C<cpt>] [-D<dx>/<dy>] [%s] [-F%s] [-G<fill>|+z] "
532+
GMT_Usage (API, 0, "usage: %s [<table>] %s %s [-A[x|y]] [%s] [-C<cpt>] [-D<dx>/<dy>] [%s] [-F%s] [-G<fill>|+z] "
533533
"[-H[<scale>]] [-I[<intens>]] %s[%s] [-M[c|s][+g<fill>][+l<seclabel>][+p<pen>][+r[<pen>]][+y[<level>]]] [-N[c|r]] %s%s [-S[<symbol>][<size>]] [%s] [%s] [-W[<pen>][<attr>]] [%s] [%s] "
534534
"[-Z<value>|<file>[+t|T]] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n",
535535
name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, PSXY_E_OPT, GMT_SEGMENTIZE3, API->K_OPT, PLOT_L_OPT, API->O_OPT, API->P_OPT,
@@ -542,15 +542,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
542542
GMT_Message (API, GMT_TIME_NONE, " REQUIRED ARGUMENTS:\n");
543543
GMT_Option (API, "<,J-Z,R");
544544
GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n");
545-
GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]");
545+
GMT_Usage (API, 1, "\n-A[x|y]");
546546
GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw "
547-
"straight lines instead. Six optional directives instead convert paths to staircase curves:");
548-
GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points.");
549-
GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point.");
550-
GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection.");
551-
GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection.");
552-
GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections.");
553-
GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections.");
547+
"straight lines instead. Two optional directives instead convert paths to staircase curves:");
548+
GMT_Usage (API, 3, "x: First follow x, then y for staircase curves.");
549+
GMT_Usage (API, 3, "y: First follow y, then x for staircase curves.");
550+
GMT_Usage (API, -2, "Here, x and y have the following meanings: "
551+
"For Cartesian projections, x and y are the X- and Y-axis; "
552+
"For gragraphic projections, x and y are parallels and meridians; "
553+
"For polar projections, x and y are theta and radius.");
554554
GMT_Option (API, "B-");
555555
GMT_Usage (API, 1, "\n-C<cpt>|<color1>,<color2>[,<color3>,...]");
556556
GMT_Usage (API, -2, "Assign symbol colors based on z-value in 3rd column. "
@@ -837,6 +837,7 @@ static int parse (struct GMT_CTRL *GMT, struct PSXY_CTRL *Ctrl, struct GMT_OPTIO
837837

838838
case 'A': /* Turn off draw_arc mode */
839839
n_errors += gmt_M_repeated_module_option (API, Ctrl->A.active);
840+
/* There are 6 optional directives but only x|y are documented since 6.6.0 */
840841
switch (opt->arg[0]) {
841842
case 'm': case 'y': case 'r': Ctrl->A.mode = GMT_STAIRS_Y; break;
842843
case 'p': case 'x': case 't': Ctrl->A.mode = GMT_STAIRS_X; break;

0 commit comments

Comments
 (0)