Digital Line Graph (DLG) Feature Representation

In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Type Attributes), this format also adds format-specific attributes (Format Attributes).

The attribute and geometric information within DLG datasets are encoded indirectly with major, minor, and linkage codes. FME generates workspaces that can interpret all of these codes.

DLG features consist of geometry, linkages, and attribute code information. All DLG FME features contain the dlg_type attribute, which identifies the geometric type as well as several other standard attributes, which are listed in the following table.

Attribute Name

Contents

dlg_type

The DLG geometric type of this entity.

Range:

dlg_point

dlg_line

dlg_area

Default: No default

dlg_element_number

The element's internal identification number.

The numbers are unique, positive, and sequential within each element type.

Range: 1 - 32000

dlg_record_type

The character element type of the feature. Valid values include:

N = Node Element

L = Line Element

A = Area Element

dlg_num_text_characters

Number of pairs of text characters attached to the feature.

Although this field is present within the DLG format, it is not currently used.

Range: 1 - 32000

dlg_linkage{#}

A list of linkages. These values refer to the features by their dlg_element_number. These linkages have different uses depending on their context. For example, a linkage list on an area feature refers to the line features that form the boundary of the area.

Note: For area features, linkages with a value of zero are not included in this list.

Range: 1 - 32000

dlg_num_attribute_codes

Number of attribute codes attached to the feature.

Range: 1 - 32000

dlg_attribute_code{#}.major

A list of major attribute codes. This list will have a maximum of 12 entries.

Range: 0 - 999

dlg_attribute_code{#}.minor

A list of minor attribute codes. This list will have a maximum of 12 entries.

Range: 0 - 9999

dlg_attribute_code{#}.

padmajor

This list is identical to the dlg_attribute_code{#}.major list except all values in this list are padded with zeros to exactly three character places.

For example, if dlg_attribute_code{0}.major was 90, dlg_attribute_code{0}.padmajor would be 090.

Range: 000 - 999

dlg_attribute_code{#}.

padminor

This list is identical to the dlg_attribute_code{#}.minor list except all values in this list are padded with zeros to exactly four character places.

For example, if dlg_attribute_code{0}.minor was 214, dlg_attribute_code{0}.padminor would be 0214.

Range: 0000 - 9999

dlg_attribute_code{#}.

partminor1

This list contains the first character of the corresponding entry in the dlg_attribute_code{#}.padminor list.

For example, if dlg_attribute_code{0}.padminor was 0214, dlg_attribute_code{0}.partminor1 would be 0.

Range: 0 - 9

dlg_attribute_code{#}. partminor2

This list contains the second character of the corresponding entry in the dlg_attribute_code{#}.padminor list.

For example, if dlg_attribute_code{0}.padminor was 0214, dlg_attribute_code{0}.partminor2 would be 2.

Range: 0 - 9

dlg_attribute_code{#}. partminor34

This list contains the third and fourth characters of the corresponding entry in the dlg_attribute_code{#}.padminor list.

For example, if dlg_attribute_code{0}.padminor was 0214, dlg_attribute_code{0}.partminor34 would be 14.

Range: 0 - 9

dlg_code_list

A text string containing all major and minor codes assigned to this feature, in the following format:

Range: <empty string> | <code list>
<code list> = (<major code>-<minor code>
[,<major code>-<minor code>]*)

For example, if the feature had major and minor code pairs of 180/201, 180/605, and 180/210, the string value of dlg_code_list attribute would be “(180-201,180-605,180-210)”

Depending on the geometric type, the feature may contain additional feature coding attributes specific to the geometric type. These are described in subsequent sections.

Areas

dlg_type: dlg_area

DLG area features represent polygonal features in 2D. These features are actually point features with one x and one y coordinate. This coordinate location may have little utility, as the boundary of the area is specified indirectly through the use of the dlg_linkage{} list attribute. Each entry in this list refers to a dlg_line which, together, form the boundary of the area. Additional attributes assigned to this area are attached to the original dlg_area feature.

There are several attributes specific to area features.

Field Name

Description

dlg_num_islands

The number of islands or holes within this area feature.

Range: 1 - 32000

dlg_num_linkage_records

The number of entries in the dlg_linkage{#} list attribute. This list contains references to the line features that define the border of the area.

Note: Linkages with a value of zero are not included in this count.

Range: 1 - 32000

dlg_num_points_area_list

The number of coordinates associated with the linear features necessary to define the border of this area feature.

Range: 1 - 32000

Lines

dlg_type: dlg_line

DLG line features represent two-dimensional linear features.

There are several attributes specific to line features.

Field Name

Description

dlg_num_coordinates

The number of coordinates associated with this line feature.

Range: 1 - 32000

dlg_starting_node

This number refers a node feature which is located at the initial point of the line. The value refers to the feature by its dlg_element_number.

Range: 1 - 32000

dlg_ending_node

This number refers a node feature which is located at the final point of the line. The value refers to the feature by its dlg_element_number.

Range:1 - 32000

dlg_left_area

This number refers an area feature which is located to the immediate left of the line. The value refers to the feature by its dlg_element_number.

Range:1 - 32000

dlg_right_area

This number refers an area feature which is located to the immediate right of the line. The value refers to the feature by its dlg_element_number.

Range:1 - 32000

Points

dlg_type: dlg_point

DLG point features specify a single x and y coordinate. While the DLG format does allow for points to be defined as degenerate lines — lines containing two identical points — the DLG reader converts these into standard points with a single set of coordinates.

There is one attribute specific to point features.

Field Name

Description

dlg_num_linkage_records

The number of linkages associated with this feature. This number indicates the number of entries in the dlg_linkage{#} attribute list.

Range: 1 - 32000