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> 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 |