斯潘8
斯潘4
子类型定义与数据分类相关的地理数据库模式的各个方面。换言之,不是为一组功能创建不同的功能类,子类型用作在单个地理数据库要素类中定义要素子集的方法。要素类中的属性存储定义子类型的整数值,子类型表包含对应整数值的定义。例如,名为“road”的表可能具有名为“condition”的属性字段,其值映射到包含值良好的子类型,适度的,不好。
一般来说,每个表只能有一个子类型,所有代码必须是唯一的并且是有效的整数,所有代码:描述对必须是唯一的。
应该注意的是,子类型是特定于特定功能类的。因此,它不能由地理数据库中的其他功能类以共享域的方式共享。
读取地理数据库时,FME可以选择“解析子类型”。
选中此选项时,格式属性geodb_子类型名称将填充子类型定义中包含的描述性值。
注释 如果可以的话,我们建议使用描述的地理数据库模板在这里.这通常比在FME特征类型中定义子类型更容易和更灵活。
由于子类型只能应用于单个要素类,无法创建新表并将其与现有子类型关联。像这样的,在编写地理数据库子类型时,工作流需亚搏在线求将属于以下两种情况之一:
以上场景主要由以下参数控制:
-数据类型:子类型/子类型代码
-验证要写入参数的功能:是/否
尽管有上述情况,应该注意的是,使用XML工作区文档(包含所需的子类型定义)作为地理数据库编写器上的模板,是编写地理数据库子类型的一种高效且强烈推荐的方法。有关导入带有架构的XML文档的详细信息,请看地理数据库编写器文档.
场景1:写入包含现有子类型的现有表
对于具有现有子类型的现有表,不需要执行其他工作。为了验证子类型值,甚至不需要设置writer参数“validate features to write”。具有未定义子类型值的功能将被拒绝,出现以下错误:
为了“
场景2:写入新表并创建新子类型
需要注意的是,我们通常建议您使用Arcgis创建和定义子类型,插入新功能时,使用FME输入子类型代码值。然而,使用FME可以创建子类型。过程是定义一个用作子类型的属性,将数据类型属性设置为亚型或亚型码在目标地理数据库的模式定义中。
这个亚型码数据类型允许用户定义子类型的代码编号和说明。其编辑对话框如下:
任何不符合定义值之一的属性都将导致转换失败并出现错误。
这个亚型数据类型在其编辑对话框中只有一个字段:
FME将为每个输入值创建一个唯一的代码编号。当您不知道传入数据可能包含哪些特定值时,此选项可能很有用。
局限性
在写作的时候,FME不允许您根据特定的子类型关联不同的域。例如,您将无法将范围域设置为0-50000;500万-10万;100000-250000,并将其应用于包含small值的子类型定义,培养基,大的。为了实现这一目标,您需要在Arcgis中创建域:子类型关系。
下面的示例演示 场景2:写入新表并创建新的子类型。
公园(MapInfo选项卡-Mitab)
在上图中,我们看到一个带有相应数据和属性的源parks mapinfo选项卡文件的可视化。
1。读取源数据
使用mapinfo选项卡(mitab)读卡器从源选项卡文件读取风场要素几何图形。此文件中的数据将用于计算受目标地理数据库中子类型定义约束的停车区值。
2。计算区域并将区域映射到子类型代码
面积计算器转换器用于计算源数据中包含的每个多边形的面积。将区域计算器添加到画布-区域计算器的默认参数就足够了。计算区域的值将存储在名为γ区.
attributerangemapper将用于将来自Area属性(使用AreaCalculator创建)的值映射到我们将应用于子类型定义的子类型代码。应用的代码将基于初始值是否属于指定范围。将attributeValueMapper添加到画布并打开参数对话框。选择_area作为源属性,并在“parksize”中输入输出属性。对于范围查找表,输入以下值:
从 | 到 | 产值 |
一万 | 一 | |
一万 | 一百万 | 二 |
一百万 | 三 |
完成时,attributerangemapper参数对话框应类似于下图:
三。编写功能和创建子类型
将ESRI地理数据库(文件geodb)编写器添加到工作区,从读卡器复制模式并指定将数据写入的输出地理数据库(即亚型)。一旦添加,双击作者,在“常规”选项卡下,使用下拉菜单将几何体设置为geodb_多边形。下一步,单击“用户属性”选项卡,然后,名义下,添加一个名为parksize的属性,并将类型设置为subtype_codes。
单击“编辑”按钮,将打开“子类型代码”对话框窗口。输入子类型定义的代码和相应描述。
单击“确定”,然后保存并运行工作区。
*ESRI地理数据库(文件geodb
)上述示例中使用的读写器要求用户可以使用授权版本的ArcGIS。有关所需ArcGIS许可级别的更多信息,请看FME地理数据库格式所需的ARCGIS许可证类型。
?2019安全亚搏在线软件公司|合法的