Feature Representation
In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Attributes), this format adds the format-specific attributes described in this section.
Each UFO element, regardless of its geometry type, shares a number of other parameters, as described in the following tables.
Attribute Name |
Contents |
ufo_type |
The UFO geometric type of this entity. Range: ufo_point | Default: No default |
The main object line:
Attribute Name |
Contents |
ufo_obj_code |
An integer that expresses the object code. Range: 32 bit integer Default: 0 |
ufo_db |
A text string which indicates the database the object connects to. Range: Max. of 80 characters Default: no_database |
ufo_key |
The unique identification in a database expressed as a whole number. 0 means that the object has not yet been assigned a unique identification. Range: 32 bit integer Default: 0 |
ufo_obj_origin |
A whole number which indicates the object origin group the object belongs to. Range: 32 bit integer Default: 0 |
The object reference:
Attribute Name |
Contents |
ufo_obj_ref{<number>}.group |
A integer that refers to an object reference type group. Note: The <number> refers to the group of object reference description. Parameters that belong to the same description should have the same number. The <number> is a positive integer which starts at 0. Range: 32 bit integer Default: 0 |
ufo_obj_ref {<number>}.database |
A text string that indicates the database being referred to. Range: max. 80 characters Default: no_database |
ufo_obj_ref {<number>}.key |
A whole number that indicates the object being referred to in the database. Range: 32 bit integer Default: 0 |
The label description:
Attribute Name |
Contents |
ufo_label {<number>}.ufo_text_type |
A character which indicates if the label has a full description or a free text description. The allowable range for the string are “L” and “F” corresponding to “full” and “free”. Note: The <number> refers to the group of label description. Directives that belong to the same description should have the same number. The <number> is a positive integer which starts at 0. Range: L or F Default: No default. |
ufo_label{<number>} .ufo_group |
A whole number that refers to a label type group. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_northing |
An integer which refers to the north-coordinate of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_easting |
An integer which refers to the east-coordinate of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_height |
An integer which refers to the height-component of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_pt_origins |
A whole number which refers to the point origin group. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_font |
A whole number code for the label text font. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_caps |
Specifies the capitalization of the label text. Range: 32 bit integer 0 = Mix of lower and uppercase letters, 1 = Only upper case letters. Default: 0 |
ufo_label{<number>} .ufo_text_size |
A whole number that refers to the height of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_color |
A whole number that refers to the color of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_justification |
A code in DSFL that indicates the justification of the label. Range: 32 bit integer 1 = TL (top left), 2 = TM (top middle), 3 = TR (top right), 4 = ML (middle left), 5 = MM (middle middle), 6 = MR (middle right), 7 = BL (bottom left), 8 = BM (bottom middle), 9 = BR (bottom right) Default: 3 |
ufo_label{<number>} .ufo_orientation |
A whole number that indicates the orientation of the label. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_spacing |
A whole number that indicates how many extra spaces are needed. Range: 32 bit integer Default: 0 |
ufo_label{<number>} .ufo_number |
A whole number used in SNOSOR to indicate the place/appellative-flag. Range: 32 bit integer 0 = appellative, 1 = place name. Default: 0 |
ufo_label{<number>} .ufo_text_string |
The actual text for the label. Range: max. 80 characters Default: no_label |
The parameters specific to each of the supported element types are described below.
ufo_type: ufo_point
A multi-point feature in UFO turns into an aggregate point feature in FME. In this case, the feature will have the attribute ufo_pt_origins{<number>} for each point with the <number> being the coordinate index.
The value of this attribute is a comma-separated value list of point origin numbers with the first one being the point origin number for the first point, and the second one being the point origin number of the second point, and so on.
Attribute Name |
Contents |
ufo_pt_origins |
This is the point origin number that refers to the meta feature ufo_meta_pt_origin’s ufo_group_id. Range: 32 bit integer Default: 0 |
ufo_type: ufo_line
A multi-line feature in UFO turns into an aggregate line feature in FME. In this case, the feature will have the attribute ufo_pt_origins{<number>} for each line with the <number> being the line index. The value of this attribute is a comma separated value of point origin numbers with the first one being the point origin number for the first point and the second one being the point origin number of the second point. Each comma-separated value list contains the point origin number for a line.
Attribute Name |
Contents |
ufo_pt_origins |
This a comma-separated string that holds the list of ufo_pt_origins as describe for Points. If all points of the line has the same value for ufo_pt_origins then this string will only hold that single value. Range: 32 bit integer Default: 0 |
ufo_type: ufo_polygon
A polygon with more than one line is turned into a donut feature in FME. There is also a multi-polygon feature in UFO that turns into an aggregate polygon feature. In both cases, the feature will have the attribute ufo_pt_origins{<number>} for each polygon, with <number> being the polygon index. The order of the polygons are important.
The value of ufo_pt_origins{<number>} is a comma separated value of point origin numbers with the first one being the point origin number for the first point and the second one being the point origin number of the second point. Each comma-separated value list contains the point origin number for a polygon.
Attribute Name |
Contents |
ufo_pt_origins |
This a comma-separated string that holds the list of ufo_pt_origins as describe for Points. If all points of the polygon has the same value for ufo_pt_origins then this string will only hold that single value. Range: 32 bit integer Default: 0 |
ufo_type: ufo_text
Text features are not native UFO features. They are created during translation from UFO to other formats, in order to convert the text information which can be part of the UFO feature label descriptions. (Here, we call this UFO feature the original feature.) The text feature is a clone of the original feature with the addition of the attributes ufo_text_size,ufo_text_string and ufo_orientation which are listed in the label description part of the Feature Representation Section, but do no contain the ufo_label{<number>} prefix. The coordinates for the text features are the first set of coordinates of the original feature if it is not available through the original feature's label description.
ufo_type: ufo_none
Note: Meta features must be created in the workspace in the exact order as they are listed here. Otherwise, the translation will return an error. In addition, all regular features must be created before the meta features in order for the UFO writer to function correctly.
Header Feature
The feature type of this feature is ufo_meta_header. The supported attributes are:
Attribute Name |
Contents |
ufo_coord_sys |
A text string which describes the coordinate system used. Range: Text string with max length of 25 Default:ufo_coord_sys |
Origin and Definitions of Precision for Points Feature
The feature type of this feature is ufo_meta_pt_origin. The supported attributes are:
Attribute Name |
Contents |
ufo_group_id |
A unique number for KMS which expresses a number for the group. Range: Integer Default: 0 |
ufo_attr{<number>} |
Text strings which contain information belonging to the group. <number> is a positive integer which expresses the line number of the text strings. Range: Consecutive integer starting from 0 Default: 0 |
Label Types Feature
The feature type of this feature is ufo_meta_label. The supported attributes are exactly the same as those supported by the Origin and Definitions of Precision for Points feature.
Object Reference Types
This is the Object Reference Types feature of the UFO file. The feature type of this feature is ufo_meta_ref. The supported attributes are exactly the same as those supported by the Origin and Definitions of Precision for Points feature.
Origin for Objects Feature
The feature type of this feature is ufo_meta_obj_origin. The supported attributes are exactly the same as those supported by the Origin and Definitions of Precision for Points feature.