span8
span4
有关本文的最新版本以及示例,请参阅地理数据库转换教程以下内容:
读取geodatabase子类型和域只需将包含子类型和域字段的功能类型添加到您的工作空间中。例如,“water_distribution_lines”特性类有一个字段“Diameter”映射到一个名为“Diameter”的代码域:
当您将此功能类型添加到FME时,您可以在地理数据库阅读器上选择“解析子类型”和“解析域”。
域:当选中此选项时,将添加一个名为_的附加属性
子类型:这填充geodb_子类型名称具有描述性值的format属性。
1.将地理数据库阅读器添加到您的工作空间并单击“Parameters”。
2.检查“解析域”和/或“解析子类型”。
3.源模式现在包含用户定义的“Diameter”字段和“Diameter_resolve”字段。
FME有写现有表或创建新表的选项,但当一个域被添加到混合中,有许多场景:
这些场景将由一系列参数控制,即:
表存在:是/否
数据类型:coded_domain / range_domain
验证要写入的功能:是/否
1.首先,首先检查Drop表上的设置,Truncate表上的设置。
2.如果希望验证传入数据,则必须将写入器参数“validate Features to Write”设置为Yes。
1.如果需要,删除现有表。
2.接下来,需要与域关联的属性应该在模式定义中给出数据类型coded_domain或range_domain(取决于其类型):
3.点击code_domain(上图)旁边的编辑按钮,取消“创建域”框,并填写现有域的名称:
通常我们建议您使用ArcGIS来创建和定义域,并在插入新特性时简单地使用FME来关联属性或验证数据。但是,使用FME可以创建域。
此过程与使用现有域相同,直到打开编辑对话框。此时,您将选中“创建域”,输入一个新域名,并定义该域的代码和描述。
因为子类型仅适用于单个特征类,所以不可能创建新的表并将其与现有的子类型相关联。因此,情况如下:
这些场景将由一系列参数控制,即:
表存在:是/否
数据类型:子类型/子类型代码
验证要编写的功能:是/否
1.首先检查drop table的值,然后截断table first参数。
当写入具有现有子类型的表时,不需要设置“写入验证功能”的写入参数。具有未定义的子类型值的功能将被拒绝,但会出现以下错误:
错误
为了'
再次建议您使用arcgis创建和定义子类型,并在插入新功能时简单地使用fme输入子类型代码值。但是,使用fme可以创建子类型。
1.如果需要,删除现有表。
2.将包含子类型的属性设置为“子类型代码”:
3.单击上面的“编辑”按钮,输入子类型代码和说明:
当前,fme不允许您基于特定子类型关联不同的域。例如,在上面的示例中,您将无法将范围域设置为0-50000;50000-100000;1个00000-250000,并应用于中小型和大型公园子类型。您需要在arcgis中创建domain:subtype关系来实现这一点。
什么时候?“使用现有域写入现有表”域的代码必须传递给编写器,还是可以传递值?当传递值时,我很难让它正确工作,所以也许在它们进入编写器之前,我必须将它们全部映射到代码中?
在我的工作区中,我将从smallworld集合向esri sde geodatabase中的表传递值。这些值存在于写入器特征类型的域中,并且我希望它们在编写器特征类型中被存储为代码,但我不清楚如何使其工作。另外,在我的writer特性类型属性中,我没有“格式参数”选项卡,只有“参数”、“用户属性”和“格式属性”表。也许这是因为我把作者添加到我的工作区的方式。
©2019安全亚搏在线软件公司法律