Esri Geodatabase 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.
The Geodatabase modules make use of the following special attribute names.
Attribute Name |
Contents |
---|---|
<attribute-name>_alias |
When reading, if Alias Mode is set to ON_DATA_FEATURES, then a secondary attribute that contains the attribute alias will be added to each feature, for each attribute. When writing, these attributes will be respected when creating feature classes or tables. |
<attribute-name>_resolved |
When reading, if Resolve Domains is set to Yes, then the description corresponding to the domain code is stored in this attribute. When writing to a field associated with a coded value domain, specifying this attribute instead of <attribute-name> will trigger a look-up for the corresponding code. If the code is found, it will be written to <attribute-name>. |
geodb_feature_class_alias |
When reading, if Alias Mode is set to Replace Attribute Names with Aliases or Expose Aliases as Metadata Attributes, then the feature class or table alias will be added to each feature. When writing, this attribute will be respected when creating feature classes or tables. |
Indicates the feature dataset in which the feature originates. For reading, this is only present if the feature originates from a feature class that is part of a feature dataset. For writing, this can be specified on the first feature to indicate the feature dataset a newly created feature class should be created in. If the feature dataset did not previously exist, a new one will be created. A feature dataset provided in the Feature Type parameter will take precedence over this format attribute. Not all geodb_types can be part of a feature dataset. See Esri Geodatabase documentation for details. |
|
geodb_feature_is_simple (Reader only) |
Indicates whether or not the geometry is simple. Only present on spatial features and when ArcGIS 9 (or newer) is installed. |
geodb_input_data_filter (Mosaic Dataset writer only) |
When writing to a mosaic dataset, this optional attribute will provide a filter to the rasters which will be added to the dataset (for example, *Raster*, *Raster, or Raster*). Any raster that does not match the filter will not be added. |
geodb_input_data_type (Mosaic Dataset writer only) |
When writing to a mosaic dataset, this optional attribute will provide the data type of the raster input. Choices are File or Dataset. If this attribute is missing, FME will automatically detect the input data type based on the path. |
geodb_measures |
This is present for features that have measures when reading. To write measures, you simply build this list with one value for each vertex in the feature being written. This is a comma-separated list of floating values that correspond to the vertex measures. The first value is for the first vertex, second for the second, and so on. |
geodb_raster_path (Mosaic Dataset writer only) |
When writing to a mosaic dataset, this required attribute will provide the path to the raster which will be added to the dataset. Rasters, as well as raster catalogs and mosaic datasets, added to the mosaic dataset will not be managed. This means that the raster data remains at its original location and only a pointer to the data is stored in the mosaic dataset. Rasters can be added to a mosaic dataset either in bulk or as single insert. The type of insert is defined by the chosen path. For bulk insert, the choices are either selecting a geodatabase with raster datasets inside (for example, …\rastersToBeAdded.gdb) or a folder with rasters (for example, …\folderWithRasters). For single insert the choices are raster datasets, raster catalogs or other mosaic datasets in a geodatabase (for example, …\rastersToBeAdded.gdb\Raster1) or files on disk (for example, …\raster.tiff). |
geodb_raster_template (Mosaic Dataset writer only) |
When writing to a mosaic dataset, this optional attribute will provide the processing template for the raster which will be added to the dataset. This attribute will overwrite the value of the Raster Processing Template feature type parameter. |
geodb_raster_type (Mosaic Dataset writer only) |
When writing to a mosaic dataset, this optional attribute will provide the type of the raster (for example, Raster Dataset). This attribute will overwrite the value of the Raster Type feature type parameter. The raster type names are the same as they are in ArcGIS. See Esri's Mosaic documentation for details. |
geodb_subtype_name |
When reading, if Resolve Subtypes is set to Yes, then the value corresponding to the subtype code is stored in this attribute. When writing to a table with subtypes and no integer value is supplied for the subtype field, then specifying this attribute with an actual value (that is, not just quotation marks "") will trigger a look-up for the code corresponding to the value supplied in this attribute. If the code is found, it will be written to the subtype field; otherwise the feature will fail to be written. If the value specified was the empty string (that is, quotation marks "") then the default value will get used. |
geodb_type |
The type of geometric entity stored within the feature. The valid values are listed below:
|
Features read from, or written to, the Geodatabase also have an attribute for each column in the database table.
geodb_type: geodb_annotation
Feature-linked Annotation
Annotations are separate features but can be linked to other features through feature-linked annotations. Feature-linking occurs when there is a relationship between an annotation feature class and some other feature class. The attribute geodb_linked_feature_id controls which annotations are linked to which features.
If the feature to be linked to by the annotation has not yet been written, then it is possible for the Geodatabase writer to write the feature, retrieve the object ID of the new feature, and then write the annotation feature linking to it, supplying the correct value for geodb_linked_feature_id. This is accomplished by supplying attributes (Geodatabase-specific annotation attributes and user-defined attributes) from the annotation feature on the non-annotation feature; of the annotation feature attributes, only geodb_text_string must be specified. In addition, the following attributes must also be specified:
- geodb_text_feat_class_name – specifies the annotation feature class to which the annotation will be written
- geodb_text_x_coord & geodb_text_y_coord – specifies the location of the annotation
The result is that the one FME feature contains enough information to write two features: one annotation feature and one non-annotation feature.
To specify multiple feature-linked annotations, the list attribute geodb_text{i} must be used to group together each annotation's attributes. There are 4 mandatory annotation attributes that must be present for each annotation in the list:
- geodb_text{i}.geodb_text_string the text string to write
- geodb_text{i}.geodb_text_feat_class_name the name of the destination annotation feature class
- geodb_text{i}.geodb_text_x_coord the x coordinate of the annotation's location
- geodb_text{i}.geodb_text_y_coord the y coordinate of the annotation's location
Other than these 4 attributes, as many or as few annotation attributes can be used. Keep in mind that default values will be used for attributes that are not specified. A list of all available annotation attributes is given at the end of this section on annotations.
For example, to insert 3 annotation features, each belonging to a different anno feature class, for the one streets feature written, a feature like the following would be needed.
feature type: streets
fme_geometry = fme_line
fme_type = fme_line
geodb_type = geodb_polyline
user_defined_field_1 = value
user_defined_field_2 = value
user_defined_field_3 = value
...
geodb_text{0}.geodb_text_feat_class_name = street_names
geodb_text{0}.geodb_text_x_coord = 7504799.45082186
geodb_text{0}.geodb_text_y_coord = 731099.587626632
geodb_text{0}.geodb_text_angle = 10
geodb_text{0}.geodb_text_line_spacing = 0
geodb_text{0}.geodb_text_ref_scale = 100
geodb_text{0}.geodb_text_scale = true
geodb_text{0}.geodb_text_size = 8.2
geodb_text{0}.geodb_text_string = "displayed street name"
geodb_text{0}.user_field_1_for_street_names = value
geodb_text{0}.user_field_2_for_street_names = value
...
geodb_text{1}.geodb_font_bold = false
geodb_text{1}.geodb_font_charset = 0
geodb_text{1}.geodb_font_italic = false
geodb_text{1}.geodb_font_name = Arial
geodb_text{1}.geodb_font_point_size = 20
geodb_text{1}.geodb_font_strikethrough = false
geodb_text{1}.geodb_font_underline = false
geodb_text{1}.geodb_font_weight = 400
geodb_text{1}.geodb_text_feat_class_name = alternate_street_names
geodb_text{1}.geodb_text_x_coord = 7504783.11300916
geodb_text{1}.geodb_text_y_coord = 731109.158628889
geodb_text{1}.geodb_text_angle = 56.8
geodb_text{1}.geodb_text_size = 4.3
geodb_text{1}.geodb_text_string = "alternate street name"
geodb_text{1}.user_field_1_for_alternate_street_names = value
...
geodb_text{2}.geodb_text_feat_class_name = old_street_names
geodb_text{2}.geodb_text_string = "old street name"
geodb_text{2}.geodb_text_x_coord = 7504788.43294883
geodb_text{2}.geodb_text_y_coord = 731105.044247817
geodb_text{2}.user_field_1_for_old_street_names = value
...
Geometry Type: Line (2)
Number of Coordinates: 4 -Coordinate Dimension: 2 -Coordinate System: _FME_0'
(7504779.48166667,731111.522380952)
(7504797.35380952,731098.524285714)
(7504813.13690476,731104.327142857)
(7504805.59357143,731109.201190476)
Lastly, the Transaction Type parameter must be set to Edit Session or Transactions whenever writing feature-linked annotations.
Note: geodb_text_line_spacing
is equivalent to Font Leading in Geodatabase.
Note: For accurate placement of multiline text, ensure that the line endings are Windows-style line endings (“\r\n”).
The following attributes are used to store the annotation information within an FME annotation feature.
In ArcGIS 9.1, the schema of annotation feature classes changed and a considerable number of additional fields were added. These new fields contain information about the annotation such as its font, size, angle, offset, leading, etc. When writing, these fields should never be set directly; instead the attributes in the table below must be used to control the properties of the annotation. After the translation, the fields will display the desired values because the attributes below correspond to some of the fields.
FME supports “Simple Line Callout” and “Line Callout” annotation leader lines represented as format attributes. Common between both are tolerance, line width, line color, and the anchor point. Simple Line Callouts can optionally have a geometry associated with them stored in geodb_leader_line. Line Callouts in Geodatabase have no geometry associated with them and are rendered directly in ArcGIS based on their attributes. To assist in emulating the rendering, FME provides a textbox envelope that can be used along with the style, gap, margin and anchor point attributes to determine where to place the leader line and accent bar.
Leader lines attributes will only be on annotations with an actual leader line. If the annotation is split, then the leader line attributes are only placed on the first part with the textbox being the envelope of the whole annotation.
Leader line attributes will override leader line symbols if a symbol id or annotation class id is provided. If just providing an anchor point, only the anchor point will be overridden; otherwise, the whole leader line symbol will be overridden.
Attribute Name |
Contents |
geodb_allow_symbol_overrides |
If TRUE, then this indicates that an annotation may override text symbol properties when it is already referencing a symbol with a geodb_symbol_id or geodb_anno_class_id. FALSE indicates that no overrides will be written ensuring the annotation will conform to the referenced symbol. See geodb_anno_class_id for details about overriding annotation properties. Default: TRUE |
geodb_anno_class_id |
The ID of the Annotation Class to use when writing the annotation. The ID is an integer: to see what ID an Annotation Class maps to, view the Subtypes tab of the Feature Class Properties dialog in Esri ArcCatalog® for the annotation feature class. If an invalid ID or -1 was specified then the annotation will be created using an inline text symbol; otherwise the annotation will reference an existing text symbol. Referencing existing text symbols decreases table size and may improve performance.
When using an Annotation Class, certain annotation properties can be overridden and others cannot. The following attributes cannot override the properties of the Annotation Class:
The following attributes can override the properties of the Annotation Class: all non-read-only leader line attributes
Default: -1 |
The color of the text defined as an RGB string, with each value separated by a comma. Each value must be an integer between 0 and 255 (inclusive). The Geodatabase writer has an internal attribute for color (geodb_text_color) and so the default for this attribute is only used when no value is supplied for the geodb_text_color attribute. Default: 0,0,0 (black) |
|
geodb_font_bold |
Indicates whether the string should be boldface text. Allowable values are Yes and No. Default: No |
geodb_font_charset |
Indicates the character set being used to display the string. The value must be the integer value associated with a specific character set. For example, the ANSI character set is given the value 0, the default character set is given the value 1, and the symbol character set is given the value 2. Some additional character sets, and their values, are:
Default: 0 (ANSI character set) |
geodb_font_italic |
Indicates whether the string should be Italicized text. Allowable values are Yes and No. Default: No |
geodb_font_name |
The name of the font used to display the text string. Default: Arial |
geodb_font_point_size |
The size of the font, in point units, used to display the text string. Default: 10 |
geodb_font_strikethrough |
Indicates whether the string should be "strike-through" text. Allowable values are Yes and No. Default: No |
geodb_font_underline |
Indicates whether the string should be underlined text. Allowable values are Yes and No. Default: No |
geodb_font_weight |
Indicates the weight of the font being used to display the string. The value must be an integer greater than or equal to zero. Default: 400 |
geodb_h_align |
The alignment of text horizontally if the text spans multiple lines. Options: left, right, center, full Default: left |
geodb_linked_feature_id |
The ID of the feature to which the annotation is linked. Only applicable when writing feature-linked annotation and when the feature being linked to has already been written. In most cases the non-annotation feature will not yet have been written and so the feature ID will not be known. In this case, the Geodatabase writer can provide the correct value for this attribute. See the section Feature-Linked Annotation for more information. Default: -1 |
geodb_right_to_left |
If TRUE, then this indicates that the text is written from right to left. If FALSE, then this indicates that the text is written from left to right. Default: FALSE |
geodb_symbol_id |
The ID of Symbol to use when writing the annotation. The ID is an integer: to see what ID a Symbol maps to, view the Annotation or Subtypes tabs of the Feature Class Properties dialog in Esri ArcCatalog for the annotation feature class. If an invalid ID or -1 was specified then the annotation will be created using an inline text symbol; otherwise the annotation will reference an existing text symbol. If geodb_anno_class_id is also specified, geodb_symbol_id takes precedence. See geodb_anno_class_id above for details about overriding annotation properties. Default: -1 |
geodb_text_angle |
The rotation of the annotation measured from the horizontal in a counterclockwise direction. It is measured in degrees. Default: 0 Reprojectable: Yes |
geodb_text_break_char |
The ASCII value of the character that should be interpreted as the line end. Default: 10 (the line feed character) |
geodb_text_char_spacing |
The amount of character spacing, measured as a percentage of the original character’s length. A value of 0 indicates that the standard amount of character spacing, as set by Esri, will be used. A value greater than 0 increases the amount of character spacing, whereas a value less than 0 decreases the amount of character spacing. Default: 0 |
geodb_text_character_width |
The amount to expand or shrink the width of each character as a percentage of the original character width. A value of 200 doubles the width of each character, whereas a value of 50 halves the width. Default: 100 |
geodb_text_clip |
Indicates whether the text string will be clipped in order to fit into an envelope geometry. Default: No |
geodb_text_feat_class_name |
The name of the destination annotation feature class. It is only used when writing feature-linked annotations. |
geodb_text_flip_angle |
Adjusts the angle at which point rotated text is flipped in place. Default: 0 |
geodb_text_lc_accent_bar_color |
The RGB color of the accent bar of “Line Callout” type leader lines. See geodb_color for a description of how color is represented in FME. |
geodb_text_lc_accent_bar_width |
The width in ground units of the accent bar of “Line Callout” type leader lines. |
geodb_text_lc_gap |
The gap is the space in ground units between the margin and the accent bar for “Line Callout” type leader lines. |
geodb_text_lc_margin_bottom |
The bottom margin in ground units of “Line Callout” type leader lines. |
geodb_text_lc_margin_left |
The left margin in ground units of “Line Callout” type leader lines. |
geodb_text_lc_margin_right |
The right margin in ground units of “Line Callout” type leader lines. |
geodb_text_lc_margin_top |
The top margin in ground units of “Line Callout” type leader lines. |
geodb_text_lc_style |
The style of “Line Callout” type leader lines. Options: base, midpoint, threepoint, fourpoint, underline, custom, circularCW, circularCCW |
geodb_text_lc_textbox_x1 geodb_text_lc_textbox_y1 geodb_text_lc_textbox_x2 geodb_text_lc_textbox_y2 geodb_text_lc_textbox_x3 geodb_text_lc_textbox_y3 geodb_text_lc_textbox_x4 geodb_text_lc_textbox_y4 |
The four coordinates of a bounding box around the text. This bounding box may be rotated. The textbox along with the margin and gap can be used to determine the start position of the accent bar and the start position of the leader line for “Line Callout” leader lines. These are read-only attributes. |
geodb_text_leader_line |
The geometry of the leader line of type “Simple Line Callout” associated with the annotation, if present. It will be stored in OGC WKT format. |
geodb_text_leader_line_anchor_point |
The geometry of the leader line anchor point associated with the annotation, if present. It will be stored in OGC WKT format. |
geodb_text_leader_line_color |
The RGB color of the leader line. See geodb_color for a description of how color is represented in FME. |
geodb_text_leader_line_tolerance |
The leader tolerance of the leader line in ground units associated with the annotation, if present. The leader tolerance is the minimum distance the text should be from the anchor point before a leader line is drawn. |
geodb_text_leader_line_width |
The width of the leader line in ground units. |
geodb_text_line_spacing (equivalent to Font Leading in Geodatabase) |
The amount of line spacing, measured in font points. The value must be a real number. A value of 0 indicates that the standard amount of line spacing, as set by Esri, will be used. A value greater than 0 increases the amount of line spacing, whereas a value less than zero decreases the amount of line spacing. If the value is small enough, the order of lines will get reversed (that is, the first line becomes the last line, the second line becomes the second last line, and so on). Default: 0 |
geodb_text_part_count |
The part number of a feature that was split from a complex text annotation. The parts are indexed from 0. This is only available when SPLIT_COMPLEX_ANNOS is set to Yes. |
geodb_text_point_scale_factor |
The size of one font point in ground units. This can be used for conversion from point units to ground units or vice versa. It is a read-only attribute. |
geodb_text_ref_scale |
The reference scale at which the text’s size, on the screen, is the size indicated by geodb_text_size/fme_text_size. When the scale is larger in value than the reference scale, the text appears smaller than that indicated by geodb_text_size/fme_text_size, and vice versa. Default: 1 |
geodb_text_scale |
Indicates whether the text scales with the map. Default: TRUE |
geodb_text_size |
The size of the text in user units. This size gets converted to points, and the text will be displayed at this size when viewed at the reference scale. If this attribute is not supplied, then a default text size of 10 points is used and no conversion is done. Default: 10.0 points Reprojectable: Yes |
geodb_text_string |
The annotation string. It is returned as a UTF-16 encoded string by the reader. The writer converts the value supplied for this attribute into UTF-16. |
geodb_text_string_with_format_tags |
The annotation string complete with text formatting tags. It is returned as a UTF-16 encoded string by the reader. The writer converts the value supplied for this attribute into UTF-16. To set the text string of an annotation when writing, the value of this attribute is used in preference to geodb_text_string. |
geodb_text_word_spacing |
Adjusts the spacing between words. Default: 100 |
geodb_text_x_coord |
The x coordinate of the annotation's location. It is only used when writing feature-linked annotations. |
geodb_text_x_offset |
The text offset in the x direction, measured in points. Default: 0 |
geodb_text_y_coord |
The y coordinate of the annotation's location. It is only used when writing feature-linked annotations. |
geodb_text_y_offset |
The text offset in the y direction, measured in points. Default: 0 |
geodb_v_align |
The vertical alignment of text. Options: baseline, bottom, center, top Default: bottom |
geodb_type: geodb_arc
Features with this value contain either a circular arc or an elliptical arc. Arc features are like ellipse features, except two additional angles control the portion of the ellipse boundary which is drawn.
Attribute Name |
Contents |
geodb_primary_axis
|
The length of the semi-major axis in ground units. If the arc is circular, this will be the same as the geodb_secondary_axis. Reprojectable: Yes |
geodb_rotation
|
The rotation of the major axis. The rotation is measured in degrees counterclockwise up from horizontal. Reprojectable: Yes Default: 0 |
geodb_secondary_axis
|
The length of the semi-minor axis in ground units. If the arc is circular, this will be the same as the geodb_primary_axis. Reprojectable: Yes |
geodb_start_angle
|
How FME calculates start_angle and sweep_angle Default: 0 Reprojectable: Yes |
geodb_sweep_angle
|
How FME calculates start_angle and sweep_angle
Reprojectable: Yes |
geodb_type: geodb_complex_edge
This type is supported by both the reader and the writer. However, complex edge feature classes must be created in ArcCatalog prior to running the translation. The attributes present on an FME feature depend on the value for the reader parameter Split Complex Edges. If the value is No, the following attributes will be present:
Attribute Name |
Contents |
geodb_edge_element_count |
The number of edge elements associated with the feature. Present only on features being read. |
geodb_from_junction_element_id |
The junction element ID that corresponds to the from endpoint Present only on features being read. |
geodb_junction_feature_count |
The number of connected junction features. Present only on features being read. |
geodb_to_junction_element_id |
The junction element ID that corresponds to the to endpoint. Present only on features being read. |
If the value is YES, these attributes will be present:
Attribute Name |
Contents |
geodb_element_id |
The element ID of the logical edge element. Present only on features being read. |
geodb_element_index |
An attribute created and assigned by FME. It is used to order the edge elements within a complex feature. The index begins at zero, not one. Present only on features being read. |
geodb_from_junction_element_id |
The junction element ID that corresponds to the from endpoint. This is the from endpoint of the edge element, not the edge feature. Present only on features being read. |
geodb_to_junction_element_id |
The junction element ID that corresponds to the to endpoint. This is the to endpoint of the edge element, not the edge feature. Present only on features being read. |
geodb_type: geodb_complex_junction
This type is deprecated, and only supported by the Reader. Complex junction features are defined by the following attributes:
Attribute Name |
Contents |
geodb_ancillary_role |
The network ancillary role of the junction. Possible values are: none, source, and sink. |
geodb_edge_element_count |
The number of edge elements associated with the feature. |
geodb_edge_feature_count{} |
The number of edge features associated with the indexed connection point. |
geodb_junction_element_count |
The number of junctions associated with the feature. |
geodb_topological_configuration |
The configuration of the feature. Possible values are: chain, loop, star, and mesh. |
Difference features are produced when reading version differences. The features record the changes made to a table or feature class between the connection version and a baseline version.
Three types of differences are considered: inserts, updates, and deletes. Each difference feature always contain an fme_db_operation attribute that contains the type of difference and the geodb_oid that identifies the record that has changed.
Features additionally represent the current state of the row, so INSERT and UPDATE features contain the complete feature representation including geometry and attributes, whereas DELETE features only contain the fme_db_operation and geodb_oid of the deleted row.
Attribute Name | Contents |
---|---|
fme_db_operation |
INSERT – A new feature was added that did not exist in the baseline version. UPDATE – The feature with the specified Object ID has been modified since the baseline version. DELETE – The feature with the specified Object ID has been deleted since the baseline version. |
geodb_type: geodb_dimension
Dimension features are defined by the following attributes:
Attribute Name |
Contents |
geodb_dim_begin_dimension_x |
The X value for the Begin Dimension Point. |
geodb_dim_begin_dimension_y |
The Y value for the Begin Dimension Point. |
geodb_dim_begin_dimension_z |
The Z value for the Begin Dimension Point. |
geodb_dim_custom_length |
A length specified to be displayed instead of the actual length in geodb_dim_length. This value only gets used if geodb_dim_using_custom_length is set to true. Default: 0 |
geodb_dim_end_dimension_x |
The X value for the End Dimension Point. |
geodb_dim_end_dimension_y |
The Y value for the End Dimension Point. |
geodb_dim_end_dimension_z |
The Z value for the End Dimension Point. |
geodb_dim_extn_line_angle |
The angle (in degrees) between the dimension line and the extension line. Default: 90 |
geodb_dim_extn_line_display |
Specifies which dimension parts appear on the extension line. The valid values are the same as for geodb_dim_line_display. Setting this attribute overrides the value set by the dimension style. |
geodb_dim_length |
The length of the dimension. A read-only attribute. |
geodb_dim_line_display |
Specifies which dimension parts appear on the dimension line (that is, if they point inward or outward, etc.). The integer values for this parameter follow the Esri enumeration esriDimensionDisplay and the values are: 0 = Displays both dimension parts. 1 = Displays the beginning dimension part. 2 = Displays the ending dimension part. 3 = Does not display any dimension part. Setting this attribute overrides the value set by the dimension style. |
geodb_dim_line_x |
The X value for the Dimension Line Point. The Dimension Line Point determines the height of the dimension line above the baseline. To create a two-point dimension, the Dimension Line Point must be the same as the Begin Dimension Point. |
geodb_dim_line_y |
The Y value for the Dimension Line Point. The Dimension Line Point determines the height of the dimension line above the baseline. To create a two-point dimension, the Dimension Line Point must be the same as the Begin Dimension Point. |
geodb_dim_line_z |
The Z value for the Dimension Line Point. The Dimension Line Point determines the height of the dimension line above the baseline. To create a two-point dimension, the Dimension Line Point must be the same as the Begin Dimension Point. |
geodb_dim_marker_display
|
Specifies how arrows are displayed for the dimension. The values are the same as that of geodb_dim_line_display, except that they apply to markers (arrows) instead of dimension parts. Setting this attribute overrides the value set by the dimension style. |
geodb_dim_style_id |
The numeric ID describing which style this dimension uses. When writing dimensions this attribute must be supplied on the feature and be assigned an ID for an existing style, otherwise an error will occur. When translating from one Geodatabase dimension feature class to another, make sure that the destination feature class contains all the dimension styles used by the input dimension feature class. This may mean that the destination dimension feature class has to be created before the translation using ArcGIS. |
geodb_dim_text_angle |
The angle of the text displayed, in radians. From Esri’s documentation: "The TextAngle property will only affect the dimension if the dimension's style's text alignment property is True in which case the text is always parallel to the dimension line." Default: 0 |
geodb_dim_text_x |
The X value for the Text Point. If the x,y,z values for the text point are all zero then the default text position is used. Default: 0 |
geodb_dim_text_y |
The Y value for the Text Point. If the x,y,z values for the text point are all zero, then the default text position is used. Default: 0 |
geodb_dim_text_z |
The Z value for the Text Point. If the x,y,z values for the text point are all zero, then the default text position is used. Default: 0 |
geodb_dim_type |
Specifies whether the dimension is linear or aligned. Please reference Esri documentation on dimensions for specific definitions. The numbers specified follow the Esri enumeration esriDimensionType and the values are: 0 = aligned 1 = linear Default: 0 |
geodb_dim_using_custom_length |
Specifies whether or not to use the custom length specified instead of the actual length. Permitted values are true and false. Default:false |
geodb_type: geodb_ellipse
Ellipse features are point features used to represent both circles and ellipses. The point serves as the centre of the ellipse.
Attribute Name |
Content |
geodb_primary_axis |
The length of the semi-major axis in ground units. Reprojectable: Yes |
geodb_rotation |
The rotation of the major axis. The rotation is measured in degrees counterclockwise up from horizontal. Default: 0 Reprojectable: Yes |
geodb_secondary_axis
|
The length of the semi-minor axis in ground units. Default: the value of geodb_primary_axis Reprojectable: Yes |
In addition to text geometries, annotation feature classes can also contain non-text graphical elements known as graphic shapes. These shapes may be composed of polygon or line geometries or hierarchies containing them. Currently, graphic shapes are only supported on writing.
When writing line or polygon geometries or aggregates of them to an annotation feature class, they will be written out as graphic shapes. Basic symbology may be associated with the graphic by supplying the fme_color and fme_fill_color attributes. Graphic shapes are not text elements and therefore the format attributes associated with text annotation will not be written.
geodb_type: geodb_metadata
Metadata features contain metadata about the feature type. Metadata can be read and written. The metadata used is of the same form as when using Esri’s ArcCatalog to export table metadata to (plain) XML.
When reading, the following attributes are supplied on the feature, where applicable:
Attribute Name |
Contents |
fme_contains_spatial_column |
yes or no, depending on whether the feature type is a non-spatial table, attributed relationship, or a feature class |
fme_dimension |
2 or 3, depending on the dimension of the feature class |
fme_feature_identifier |
The name of the object ID field |
fme_geometry{0} |
The geometry of the feature class. This will be set to fme_no_geom for non-spatial tables and attributed relationships |
fme_num_entries (File Geodb only) |
The total number of features in the table |
geodb_metadata_string |
The geodatabase metadata in XML |
If the feature type represents a feature class, the geometry of the metadata feature returned is a polygon, representing the extents of the feature class and the coordinate system of the feature class also gets set on the feature.
When writing, the geodb_type of the feature must be geodb_metadata; however, the geodb_type of the destination feature type must not be geodb_metadata, but rather the type of the table itself.
The metadata within geodb_metadata_string will overwrite any previous metadata that exists in the table. If multiple metadata features are written to a single table, then the last metadata feature will be used. Viewing the metadata within ArcCatalog after the translation will automatically update certain fields, such as table name & record count, if they were set incorrectly in geodb_metadata_string. However, if you use FME to read back the metadata before viewing the results in ArcCatalog then the incorrect fields will not have been corrected. None of the other attributes supplied on an FME feature when reading metadata will get used when writing metadata.
Writing metadata features does not increase the number of features in a table.
geodb_type: geodb_multipatch
Features with this value consist of a 3D geometry, used to represent the outer surface of features which occupy a discrete area or volume in three-dimensional space. Geodatabases directly support 3D polygonal faces, triangle fans, triangle patches and triangle strips. By definition, the surfaces which compose a multipatch do not need to be connected. This value is used by both the reader and the writer.
Multipatches support appearances, but only one appearance per surface is supported. For two-sided surfaces, the writer will favor non-default appearances with textures, with the front side taking precedence over the back side. If this behavior is not desired, the writer can be forced to choose the front side by using the AppearanceRemover transformer in FME Workbench to remove all back appearances.
For writing, all 3D geometry types are supported. Any types of 3D geometry which are not directly supported in a geodatabase (e.g., solids) are decomposed into a set of 3D polygonal faces prior to writing.
geodb_type: geodb_multipoint
Features with this value are multi-part features consisting of points. This value is used by both the reader and the writer.
Note: If a multipoint feature is written to an existing point feature class, then the feature will be split up and each point written out as a separate feature. Each new feature will have the same attribution as the original feature; the only difference will be the geometry. If a multipoint feature is written to a point feature class that has not yet been created, then a multipoint feature class will be created instead of a point feature class.
geodb_type: geodb_point
Features with this value are point features. This value is used by both the reader and the writer.
geodb_type: geodb_polygon
Features with this value are features or multi-part features consisting of polygons and/or donut polygons.
geodb_type: geodb_polyline
Features with this value are features or multi-part features consisting of one or more linear features (that are linked together). This type of linear feature is allowed to touch or cross over itself. This value is used by both the reader and the writer.
geodb_type: geodb_pro_annotation
Features with this value represent the new annotations introduced in ArcGIS Pro.
Attributes are very similar to Annotations, with the following exceptions:
- no geodb_text_lc_textbox attribute when reading leader lines
- no leader line writing support
- no geodb_text_string_with_format_tags attribute
- no geodb_text_part_count attribute
Features with this value consist of a raster geometry, and are used to represent a two-dimensional grid of values. FME supports the writing and reading of both singleand multi-banded numeric rasters, and three-banded color rasters.
Additionally, the writer supports a single alpha band that is treated as a Nodata mask for all bands, where an alpha value of 0 at a given cell represents Nodata.
Nodata within rasters are represented as Nodata values per band for unmanaged rasters and as a single alpha band for managed rasters. The single alpha band is a combination of the Nodata bitmasks of the other bands, where a value of zero at a given cell represents Nodata and only occurs when all the bands have Nodata at the given cell. On write, Nodata per band is fully supported as Nodata values per band. If Nodata values and an alpha mask are both present on write, then only the Nodata values will be used and the alpha band is ignored.
Attribute Name |
Contents |
geodb_raster_compression_type |
The type of compression algorithm used to store data in the raster dataset. |
geodb_raster_compression_quality |
The compression quality. |
geodb_raster_pyramid_resample_type |
The resampling method used when building reduced resolution pyramids on the raster dataset. |
geodb_raster_pyramid_level |
The number of reduced resolution pyramids built. |
geodb_type: geodb_relationship and geodb_attributed_relationship
Relationship features contain information about a single relationship between an origin and destination feature. They can be both read and written using FME: attributed relationships can be inserted, updated and deleted, while non-attributed relationships can only be inserted and deleted. Relationships are not rows in a table or feature class like other features, but rather implied through the primary and foreign key values of an origin and destination feature. Attributed relationships have intermediate tables associated with them, which can be updated by providing an RID (relationship id) as a key field, much as an OBJECTID must be provided when updating a table or feature class.
Relationship classes cannot be created through FME, and must be set up through ArcCatalog prior to running the translation.
When reading, the following attributes are stored on the feature, and are required for writing relationships; they must be supplied, if the feature was not read from Geodatabase:
Attribute Name |
Contents |
geodb_rel_origin_oid |
The OBJECTID of the related origin feature. |
geodb_rel_destination_oid |
The OBJECTID of the related destination feature. |
geodb_type |
geodb_relationship (for non-attributed relationships) geodb_attributed_relationship (for attributed relationships) |
The following attributes are stored on all related origin or destination features, and are required for writing relationships; they must be supplied if a feature was not read from Geodatabase:
Attribute Name |
Contents |
geodb_feature_has_relationships |
Whether the feature participates in a relationship as an origin or destination. Values of ‘yes’, ‘y’, ‘true’, and ‘t’ (all case-insensitive) are accepted for features participating in relationships. |
geodb_oid |
The temporary OBJECTID of the feature. |
In particular, it's possible to write to origin and destination feature classes, as well as associated relationship classes, all in one pass. This is automatic when reading from one Geodatabase and writing to another, but can be achieved in other cases with additional care. This applies to attributed and non-attributed relationships. It applies to relationships that reference the OBJECTID field in the origin and destination tables, as well as relationships that reference other fields in the origin and destination tables.
When writing origin or destination features that will be referenced by relationship features written during the same pass, they must have:
geodb_oid = <temporary local object id>
geodb_feature_has_relationships = "yes"
The <temporary local object id>
does not become the ultimate OBJECTID in ArcGIS. However, it can be used to reference origin and destination features when writing relationship features in a single pass.
When writing relationship features, they must have:
geodb_rel_origin_oid
= <temporary local object id>
OR <true object id>
geodb_rel_destination_oid
= <temporary local object id>
OR <true object id>
geodb_type
= "geodb_relationship"
(for non-attributed relationships), or
"geodb_attributed_relationship"
(for attributed relationships)
If there is an overlap between true object IDs and temporary local object IDs, FME preferentially assumes the ID is a temporary local one. This allows the user to ignore the true object IDs if desired.
The writer feature type parameters for relationship classes should have
"Allowed Geometries"
= "geodb_relationship"
or "geodb_attributed_relationship"
as appropriate. (This explanation is for Workbench; mapping file authors should
set geodb_type
to one of the above on the DEF line. See Geodatabase Table
Representation for more details.)
Note: When writing relationship features with FME, you must always provide object IDs, *not* the values of the actual origin and destination key fields if they are different than OBJECTID.
geodb_type: geodb_simple_junction
This type is supported by both the reader and the writer. However, simple junction feature classes must be created in ArcCatalog prior to running the translation. Simple junction features are defined by the following attributes:
Attribute Name |
Contents |
geodb_ancillary_role |
The network ancillary role of the junction. Possible values are: none, source, and sink. |
geodb_edge_feature_count |
The number of edge features associated with the junction. Present only on features being read. |
geodb_element_id |
The logical network element ID of the junction. Present only on features being read. |
geodb_type: geodb_simple_edge
This type is supported by both the reader and the writer. However, simple edge feature classes must be created in ArcCatalog prior to running the translation. Simple edge features are defined by the following attributes:
Attribute Name |
Contents |
geodb_element_id |
The logical network element ID of the junction. Present only on features being read. |
geodb_from_junction_element_id |
The junction element ID that corresponds to the from endpoint. Present only on features being read. |
geodb_to_junction_element_id |
The junction element ID that corresponds to the to endpoint. Present only on features being read. |
geodb_type: geodb_table
Features with this value consist of no coordinates. This value is used by both the reader and the writer.