span8
span4
span8
span4
对于本文的最新版本,请查看以下文章地理数据库转型教程:
Working with Geodatabase Domains: Creating A Coded Domain
Working with Geodatabase Subtypes: Creating A Subtype
Reading geodatabase subtypes and domains simply involves adding the feature type that contains the subtype and domain fields to your workspace. For example, the "water_distribution_lines" feature class has a field "Diameter" mapped to a code domain called "Diameter":
什么时候you add this feature type to FME you have the option to "Resolve Subtypes" and "Resolve Domains" on the geodatabase reader.
域名:什么时候this option is checked an additional attribute will be added called _
Subtypes:这居住A.geodb_subtype_name.format attribute with the descriptive value.
1. Add a Geodatabase Reader to your workspace and click on "Parameters".
2. Check "Resolve Domains" and/or "Resolve Subtypes".
3.源模式现在包含用户定义的“直径”字段和“Diamete_Resolved”字段。
FME has options to write to an existing table or to create a new table, but when a domain is added to the mix there are a number of scenarios:
这些方案将由一系列参数控制,即:
Table Exists:是/否
数据类型:Coded_domain / Range_Domain
验证要写的功能:是/否
1.首先,首先检查删除表上的设置,首先截断表。
2.如果要验证传入数据,则必须将Writer参数“验证功能设置为”写入“。
1. Drop the existing table if necessary.
2. Next, the attribute that needs to be associated with the domain should be given the data type coded_domain or range_domain (depending on its type) in the schema definition:
3. Click on the Edit button next to code_domain (above), uncheck the "Create Domain" box and fill in the name of the existing domain:
通常,我们建议您使用ArcGIS创建和定义域,并只需使用FME在插入新功能时关联属性或验证数据。但是,使用FME可以创建域。
The process is the same as for using an existing domain, up to opening the edit dialogue. At the point you would check "Create Domain", enter a new domain name, and define the codes and descriptions for that domain.
因为子类型仅适用于单个要素类,所以无法创建一个新表并将其与现有子类型相关联。因此,方案是:
这些方案将由一系列参数控制,即:
Table Exists:是/否
数据类型:subtype / subtype_codes.
验证要写的功能:是/否
1. Check the values of the Drop Table First and Truncate Table First parameters.
用现有子类型写入表格时,您无需设置Writer参数“验证功能以写入”。无论如何,将拒绝具有未定义子类型值的功能,以下错误:
ERROR
For the '
再次建议您使用ArcGIS创建和定义子类型,只需使用FME在插入新功能时输入子类型代码值。但是,使用FME可以创建子类型。
1. Drop the existing table if necessary.
2.设置包含要键入“subtype_codes”的子类型的属性:
3.单击“编辑”按钮(上图),然后输入子类型代码和描述:
目前FME不允许您根据特定的子类型将不同的域关联。例如,在上面的示例中,您将无法设置0-50,000的范围域;50,000-100,000;100,000-250,000并将其应用于小型,中型和大型公园亚型。您需要创建域名:ArcGIS中的子类型关系以实现此目标。
什么时候"Writing to an existing table using an existing domain"must the code for the domain be passed to the writer, or can the value be passed? I'm having difficulty getting it to work correctly when passing the value, so perhaps I have to map them all to the codes before they enter the writer?
In my workspace, I am passing values from Smallworld collection to a table in a ESRI SDE geodatabase. These values exist in the domain on the writer feature type and I want them to get stored as codes in the writer feature type, but I'm not clear how to get this to work. Also, in my Writer Feature Type properties, I don't have the "Format Parameters" tab - only the tables "Parameters", "User Attributes" and "Format Attributes". Maybe that's due to the way I added the writer to my workspace.
Hello@Angela.,
写入现有域时,您必须编写代码而不是描述性值。如果写入编码域(而不是范围域),则可以将Writer Feature Type属性保留为整数。这应该允许FME写出正确的代码。有一些选项可以做到的是从该值获取所需的代码。
An AttributeValueMapper could be done, as shown in the above article. Other alternatives could be a DatabaseJoiner or a SchemaMapper.
I hope this helps!
© 2020 Safe Software Inc |Legal