Feature Representation

KF85 features consist of geometry and attributes. When reading KF85 files, several predefined attributes hold the data from the file. When writing KF85 files, the values in these predefined attributes are written out to the file. If the feature does not have these predefined attributes, appropriate default values will be used.

Free Attributes or User-Defined Attributes

KF85 files also support free attributes, also known as user-defined attributes. These attributes must have an integer as an attribute name. When a KF85 file is read, each of these attributes is added to the individual features it is associated with. As well, a special attribute kf85_attribute_list is attached, whose value is a comma-separated list of all the user-defined attribute names and values present.

When writing KF85 files, all attributes with integer names are interpreted as user-defined attributes and are written out—associated with the appropriate feature. As well, if any feature contains the special attribute kf85_attribute_list, this attribute is parsed, looking for attribute name and value pairs. Each of these attributes is written to the KF85 output file as user-defined attributes, associated with the appropriate feature.

Predefined Attributes

All KF85 FME features contain the kf85_type attribute to identify the geometric type. All features also have a special KF85 code contained in the kf85_code attribute. Depending on the geometric type, the feature contains additional attributes specific to the geometric type. These are described in subsequent sections.

Attribute Name

Contents

kf85_type

The KF85 geometric type of this entity.

Required:

kf85_point

kf85_line

kf85_arc

kf85_text

kf85_common_info

kf85_comment

kf85_symbol

kf85_none

Default: kf85_none

kf85_code

The feature's special code.

Required: any 9 digit integer

Default: empty string

kf85_attribute_list

An alphanumeric comma-separated list of all user-defined attribute names and values present on the feature.

Range: maximum 255 character string

Default: empty string

Points

kf85_type: kf85_point

A KF85 point feature specifies a single 2D or 3D coordinate and the mean error in both x and y. The point feature may also have text (a label) and/or a symbol associated with the point.

Attribute Name

Contents

kf85_internal_name

An alphanumeric code for the feature.

Range: maximum 9 character string

Default:empty string

kf85_mean_error_plane

The mean error in the X coordinate of the point measured in millimeters (mm).

Range: 0 … 32767

Default: 0.0

kf85_mean_error_height

The mean error in the Y coordinate of the point measured in mm.

Range: 0 … 32767

Default: 0.0

kf85_text_string

The optional text string associated with the point.

Range: maximum 20 character string

Default:empty string

kf85_rotation

The rotation of the text, measured in degrees counterclockwise from horizontal. (Note that the value actually stored in the file is converted from this into GON.)

Range: any real number

Default: 0.0

kf85_text_height

The height of the text measured in mm.

Range: any real number

Default: 1

kf85_text_width

The width of the text measured in mm.

Range: any real number

Default: 1.0

kf85_text_pos_x

The X coordinate of the point’s text.

Range: any real number

Default: 0.0

kf85_text_pos_y

The Y coordinate of the point’s text.

Range: any real number

Default: 0.0

kf85_text_position

The justification of the point’s text. Specifically, the point on the text’s bounding box where the position is given, as shown below. 0 is an unspecified position. If the value is 0, then the other values relating to the point’s text must also be 0.

Range: 0 ... 9

Default: 7

kf85_symbol_rotation

The rotation of the symbol, measured in degrees counterclockwise from horizontal. (Note that the value actually stored in the file is converted from this into GON.)

Range: any real number

Default: 0.0

kf85_symbol_height

The height of the symbol measured in mm.

Range: any real number

Default: 1.0

kf85_symbol_width

The width of the symbol measured in mm.

Range: any real number

Default: 1.0

Lines

kf85_type: kf85_line

KF85 line features contains 2D or 3D coordinates, as well as an internal name and a text string. This text also has a position, justification, rotation, width, and height.

When reading a KF85 line; its vertices can be defined in two ways. They can be defined by their x,y (and z) co-ordinates. Or they can be defined by specifying the internal_name of another point in the same file. The KF85 Reader supports both methods. The resulting line is the same regardless of which way it is defined.

Attribute Name

Contents

kf85_internal_name

An alphanumeric code for the feature.

Range: maximum 9 character string

Default:empty string

kf85_text_string

The optional text string associated with the line.

Range: maximum 20 character string

Default:empty string

kf85_rotation

The rotation of the text, measured in degrees counterclockwise from horizontal. (Note that the value actually stored in the file is converted from this into GON.)

Range: any real number

Default: 0.0

kf85_text_height

The height of the text measured in mm.

Range: any real number

Default: 1.0

kf85_text_width

The width of the text measured in mm.

Range: any real number

Default: 1.0

kf85_text_pos_x

The X coordinate of the line’s text, relative to the midpoint of the line.

Range: any real number

Default: 0.0

kf85_text_pos_y

The Y coordinate of the line’s text, relative to the midpoint of the line.

Range: any real number

Default: 0.0

kf85_text_position

The justification of the line’s text. Specifically, the point on the text’s bounding box where the position is given, as shown below. 0 is an unspecified position. If the value is 0, then the other values relating to the line’s text must also be 0.

Range: 0 ... 9

Default: 7

Arcs

kf85_type: kf85_arc

Arc features are partial ellipse boundaries with two additional angles that control the portion of the ellipse boundary that is drawn.

Tip: The ArcStroker transformer can be used to convert an arc to a linestring. This is useful for storing arcs in systems that do not support them directly.

Attribute Name

Contents

kf85_primary_axis

The length of the semi-major axis in ground units.

Range: Any real number > 0

Default: No default

kf85_secondary_axis

The length of the semi-minor axis in ground units.

Range: Any real number > 0

Default: No default

kf85_rotation

The rotation of the major axis. The rotation is measured in degrees counterclockwise up from horizontal.

Range: -360.0..360.0

Default: 0

kf85_start_angle

How FME calculates start_angle and sweep_angle

Range: 0.0..360.0

Default: No default

kf85_sweep_angle

How FME calculates start_angle and sweep_angle

Range: Any real number > 0

Default: No default

kf85_orientation

The orientation of the arc. As the sweep angle is always returned as positive, this field can be used to determine the original orientation of the arc.

Range: clockwise | counterclockwise

Default: none

Text

kf85_type: kf85_text

KF85 text features contain 2D coordinates and a text string, along with the justification, rotation, height, width, font, and distance between lines of the text.

Attribute Name

Contents

kf85_internal_name

An alphanumeric code for the feature.

Range: maximum 9 character string

Default: empty string

kf85_text_string

The text string.

Range: maximum 62 character string

Default: empty string

kf85_rotation

The rotation of the text, measured in degrees counterclockwise from horizontal. (Note that the value actually stored in the file is converted from this into GON.)

Range: any real number

Default: 0.0

kf85_text_height

The height of the text measured in mm.

Range: any real number

Default: 1.0

kf85_text_width

The width of the text measured in mm.

Range: any real number

Default: 1.0

kf85_text_position

This is the justification of the line’s text. Specifically, the point on the text’s bounding box where the position is given, as shown below. 0 is an unspecified position. If the value is 0, then the other values relating to the line’s text must also be 0.

Range: 0 ... 9

Default: 7

kf85_text_spacing

The spacing between the text lines.

Range: any real number

Default: 1.0

kf85_font

The font type for the text. There is no documented standard for this field and, therefore, it must be interpreted by the user.

Range: maximum 2 character string

Default: empty string

Common Info

kf85_type: kf85_common_info

KF85 common info features result from common info records that can occur anywhere within a KF85 file. These features contain no geometry. They are used to store an ID code and string information not associated with any geographic location within the KF85 file.

Attribute Name

Contents

kf85_common_code

The ID code present on the common info.

Range: maximum 3 digit integer

Default: 0

kf85_common_string

The text string present on the common info.

Range: maximum 62 character string

Default: empty string

Comment

kf85_type: kf85_comment

KF85 comment features result from comment records that can occur anywhere within a KF85 file. These features contain no geometry. They are used to store string information not associated with any geographic location within the KF85 file.

Attribute Name

Contents

kf85_comment_string

The text string present on the comment.

Range: maximum 62 character string

Default: empty string

Symbol

kf85_type: kf85_symbol

KF85 symbol features contain 2D coordinates to indicate the location of a symbol. The symbol’s height, width, and rotation are also indicated.

Attribute Name

Contents

kf85_rotation

The rotation of the symbol, measured in degrees counterclockwise from horizontal. (Note that the value actually stored in the file is converted from this into GON.)

Range: any real number

Default: 0.0

kf85_symbol_height

The height of the symbol measured in mm.

Range: any real number

Default: 1.0

kf85_symbol_width

The width of the symbol measured in mm.

Range: any real number

Default: 1.0