The **-i** option
^^^^^^^^^^^^^^^^^

**Syntax**

**-i**\ *cols*\ [**+l**][**+d**\ *divisor*][**+s**\ *scale*\|\ **d**\|\ **k**][**+o**\ *offset*][,\ *...*][,\ **t**\ [*word*]]
    Select specific data columns for primary input, in arbitrary order.

**Description**

The **-i** option allows you to specify which input file physical data columns to use and in what order. Specify
individual columns or column ranges in the format *start*\ [:*inc*]:*stop*, where *inc* defaults to 1 if not specified,
separated by commas [Default reads all columns in order, starting with the first column (i.e., column 0)]. Columns can
be repeated. The chosen data columns will be used as given and columns not listed will be skipped. Optionally, append
one of the following modifiers to any column or column range to transform the input columns:

- **+l** - Take :math:`\log_{10}` of the input values.
- **+d** - Divide the input values by the factor *divisor* [default is 1].
- **+s** - Multiply the input values by the factor *scale* [default is 1]. Alternatively, give **d** to convert
  km to degrees or **k** to convert degrees to km using :term:`PROJ_MEAN_RADIUS`.
- **+o** - Add the given *offset* to the input values [default is 0].

**Notes**: (1) The order of these optional transformations are (1) take :math:`\log_{10}`, (2) scale or divide, and (3)
add *offset*. Do not repeat operations: -i+d9+o8+o2+s3+d4 will be treated as -i+o2+d4.
To read from a given column until the end of the record,
leave off *stop* when specifying the column range. Normally,
any trailing text will be read but when **-i** is used to specify specific input columns you must explicitly append the
"column" **t** to retain the trailing text internally. To only ingest a single word from the trailing text, append
the word number (first word is 0).  If your trailing text columns start with a valid number and you want to ensure
the content from column *col* to the end of the record will be considered trailing text, use **-f**\ *col*\ **s**.
Finally, **-in** will simply read the numerical input and skip any trailing text. (2) Using **-i** assumes
there are as many numerical columns as implied in **-i**, so if you have a mix of numerical and text columns we will forge
ahead and read those text columns (most likely returned as NaNs) and return your selection as numerical values.  The default (no **-i** provided)
will examine the record and stop conversions when the record switches to trailing text.
