CARIS HPD : Portrayal : Line Patterning : Line Pattern Definitions
 

Line Pattern Definitions

Lines are symbolized segment by segment, starting at the beginning of the line. A line segment is either:

a portion of a point to point line between two consecutive significant points

an entire stream line

A symbolized line segment consists of two basic parts:

the beginning of the line segment

the repeating pattern within the line segment

For the special case when a line segment is smaller than a single pattern, the line is symbolized using a special short pattern.

The line pattern definition has the following format:

begin_pattern (repeat_pattern) short_pattern

begin_pattern is used to pattern the beginning of the line

repeat_pattern is used to pattern the remainder of the line. These two parts together make up a full pattern.

short_pattern is used only when a line segment is shorter than a full pattern.

The following is an example of a line pattern.

A pattern consists of one or more line patterning commands which may include qualifiers.

For the special case when a line segment is smaller than a single full pattern (the beginning pattern plus one complete repeat pattern), the line is symbolized using a special short pattern.

Dashes and Blanks

This group of commands generates dashes and blanks along a line. There are four dash and blank commands available:

DNXm.n

Normalized dashes, each one having a length of m.n inches.

Normalized (also referred to as variable) means that the length of the dashes will be adjusted to make the pattern fit the line. How much the normalized dash can be adjusted is determined by the normalization factor (see the /NMF qualifier).

DFXm.n

Dashes of fixed length, each having a length of m.n inches.

Fixed length dashes are never adjusted to make a pattern fit the line.

BNXm.n

Normalized blanks, each having a length of m.n inches.

Normalized (sometimes referred to as variable) means that the length of the blanks will be adjusted to make the pattern fit the line. How much the normalized blank can be adjusted is determined by the normalization factor (see the /NMF qualifier).

BFXm.n

Generates blanks of fixed length, each having a length of m.n inches. Fixed length blanks are never adjusted to make a pattern fit the line.

Symbols

Several commands allows symbols to be added along a line, or to add successive symbols at a single point.

Ksymbol_id

Changes the symbol identifier of the current symbol in a pattern to the value specified by symbol_id. The corresponding symbol remains in effect until a new K command is encountered in the pattern.

The symbol identifier is found in the symbol file records which describe the symbol. If the symbol has a feature code (i.e. it has a record in the master file), then the symbol identifier is equivalent to the feature code for the symbol.

The symbol output commands are used to place symbols at specified locations on the line to be symbolized. Symbols are placed at the same angle as the line segment, unless the rotation qualifier (/ROT) is specified. The size of the symbols can be controlled using the /SIZ (size) qualifier.

The position of the symbol, relative to the location specified on the line, depends on the command used, as listed below:

SYO

The symbol is placed directly on the points in the line (opposite of SYM).

SYM

The symbol is placed midway between the previous two points on the line (opposite of SYO)

SYE

The symbol is placed midway between two points on the line and sized so that the edges of the symbol match, as in the case of scalloped lines.

SYX

The symbol is placed at the end of the line only. This is useful when, for example, literal or shifted PAS segments are output, and symbols are to be placed at significant points along the line, rather than in a pattern. An example is a power line, where tower symbols are joined by solid line segments. It enables the line to be terminated with a tower symbol.

Arcs and Circles

AG%a:z

Generate an arc from a to z.

% can be:

O - the arc is centred around a point on the line.

M - the arc is centred midway between two points on the line.

a and z are mathematical angles between 0 and 360 degrees and measured counter clockwise from the tangent to the line segment.

The radius of the arc must be specified using the /RAD qualifier. If a radius is not specified, unexpected results will occur.

You must use the colon to separate the two angular values. You cannot include blanks in the AG command. Positive or negative rotations are valid.

To draw a full circle, specify the angle range as 0:360.

Arrows

ARn

Generates an arrow between the points of a point to point line.

The arrow shaft width is controlled by the /OFF qualifier. Using blanks in the pattern command will cause the arrows to be altered in length. The arrowhead width and length are scaled relative to the shaft width.

n is a case number, which can be:

1: A straight arrow using two points.

2: A bent arrow using three points.

3: A curved arrow using three points.

Arrows are generated on point to point lines only.

Other Commands

This section describes other line patterning commands that are available.

CD1

The pattern which follows this command applies only to stream lines.

The pattern is terminated by a CD3 command or the end of the pattern record. The CD1 command is used to pattern all stream lines bearing the feature code to which it is assigned, providing the stream line type is valid for the feature.

A data type (e.g. stream line) is valid for a feature if the data type is specified in the data code (DC) field of the features corresponding master file main record. See Master File for a description of the master file and its components.

CD3

The pattern which follows the command applies only to point to point lines.

The pattern is terminated by a CD1 command or the end of the pattern record. The CD3 command is used to pattern all point to point lines bearing the feature code to which it is assigned, providing the point to point line type is valid for the feature.

The CD3 pattern will also be used to pattern stream type lines bearing the feature code to which the CD3 command is assigned, providing a CD1 pattern is absent for the feature, and the stream line feature type is valid for the feature.

A data type (e.g. point to point line) is valid for a feature if the data type is specified in the data code (DC) field of the features corresponding master file main record. See Master File for a description of the master file and its components.

DIS

Discard.

Delete the remainder of a line after one full pattern has been created. This is sometimes used in conjunction with the LEX command to force the segments of point to point lines to always end with a full pattern.

LEX:m.n

Line Extend

Extend the segments of a point to point line so that each segment ends in a full line pattern. Each segment of the line will be internally extended by a length of m.n inches (for symbolization purposes only) to ensure that the minimum segment length is available.

Some features do not have a true line pattern, since they do not repeat (i.e. only one pattern is created). Such features include tide and current arrows, traffic separation direction arrows, and calling in points. The length of these features may be subject to standards. The LEX command allows you to make sure there is enough line available to generate the feature.

LSD:n

Literal Segment Draw.

A literal segment is a segment of a point to point line which has not been symbolized. A segment is defined as the portion of a line between two consecutive points.

This command leaves the nth segment unsymbolized (i.e. with no line patterning). If no value is specified, then segment 1 is assumed.

For example, if a line has three literal segments, and its corresponding line pattern definition includes the command :2, then the second segment in the line will be drawn without any patterning.

This command may appear anywhere in the pattern command and may contain up to 20 integers separated by colons. The segment number must be a positive integer. No warning is given if the line does not contain the specified segment(s).

LSS:n

Literal Segment Skip

This command does not leave the specified line segment(s) unsymbolized, it changes them to blank space. If no value is specified, then segment 1 is assumed.

This command may appear anywhere in the pattern command and may contain up to 20 integers separated by colons. The segment must be specified as a positive integer. No warning is given if the line does not contain the specified segment(s).

NCS

Do not constant size a line pattern.

If the OPCS option is set, line patterns will be kept at a constant size, regardless of scale. If you create a pattern that you do not want to be kept at constant size, place the NCS command before any commands that include a size or line weight.

NCS indicates that, even if OPCS is being used, the line pattern is to be drawn based on the scale of the file.

To override the effect of the line weight in the main record in such a line pattern, each pattern command that would use a line weight should be explicitly given one. For example:

NCSALTR      0 ID12 Track         BK N DD 03 10     13

NCSALTR     L0 NCS,DNx.055/lwt.01,(BNx.02/

NCSALTR     L1 lwt.01,DNx.055/lwt.01),

NCSALTR     L2 DNx.01/lwt.01

PAn

Parallel lines.

Generate one or two lines, parallel to the original, for both point to point and stream lines.

The /OFF qualifier defines the distance between the original line and the newly generated line; the /LWT qualifier determines the line weight of the new line. (The lineweight of the original line is determined by the master file entry.) The PAS command must be used if the original line is to be retained.

PA1: One line to the right of the original line.

PA2: Two parallel lines, one on each side of the original line.

PA3: One line to the right of the original line and perpendiculars from the start and end of the new line to the original line.

PA4: Two parallel lines, one on each side of the original line, and perpendiculars from the start and end points of the new lines.

It may be easier to decide which side of a line is the right if you imagine you are standing on the line and facing in the direction of digitization.

PAS

Pass the Input Line.

Passes both the unsymbolized and the symbolized feature.You can use the /OFF qualifier to shorten the line segments before they are output. This is useful for providing space for symbols at significant points on a line.

PTE

Pattern to End

The PTE command causes a pattern to continue to the end of the line, with no normalization. If the line ends in the middle of the pattern, the pattern will be truncated.

As an example, take a pattern like the one illustrated. This has a begin pattern consisting of a dash and a repeat pattern consisting of spaces, a symbol, and a dash.

With no PTE command, the pattern would look like this:

The dashes and spaces are normalized to fit one begin pattern and two repeat patterns into the length of the line

With a PTE command the dashes and spaces are drawn at the defined size (not normalized), and the final dash is truncated to fit. This fits one begin pattern, one complete repeat pattern and part of a second repeat pattern into the length of the line.,

[n;]

Sub-pattern.

Patterns enclosed in square brackets are called sub-patterns and can be repeated n times. The semicolon is mandatory.

Any pattern command may appear in the sub-pattern. You may specify several sub-patterns in a line pattern definition.

TOL m.n

Line Angle Tolerance.

This command allows you to alter the criteria by which a point is considered to be significant. A significant point is one which causes a line to deviate enough from its present course to warrant the start of a new line pattern.

The default value for /TOL is 0.05 inches.This command is useful when you want to begin each point in a line with a new pattern, even if many of the points fall on a straight line.Setting TOL to 0.0 results in no half dashes or blanks being output at any turning points on the line.

NMF

Normalization factor.

The NMF command allows you to control how much the adjustable length blanks (see the BN command) and dashes (see the DN command) in a pattern may be reduced to make the pattern fit a line segment. The default value is:

0.5.seg_length <= total_Fix + total_var*NMF

seg_length is the length of the line segment

total_fix is the total length covered by fixed pattern items

total_var is the total length covered by variable pattern items

NMF is the normalization factor

For example, given:

the pattern BFX1.0 (DN2.0,BFX1.0) DNX1

a line 2.5 inches long to pattern

an NMF value of 0.5

1.0+1.0+(2.0)*0.5=3.0 is greater than the length of the line, so the short pattern would be used. If NMF was 0.25, the full pattern would be used since 1.0+1.0+(2.0)*0.25=2.5

When the default NMF value of 0.5 is used, the total lengths specified in the variable dash (DNx) and variable blank (BNx) commands is factored by 0.5, meaning that the length of dashes and blanks can be varied by up to 50%. When NMF is 0.25, the dashes and blanks can be varied by up to 75%. If you wish to eliminate variable segments, set NMF to 0.0.