介绍
别名是为数据集中的字段提供的替代名称,通常比实际的字段名称更具描述性。大多数使用地理数据库的FME用户都希望能够在其数据集中创建或修改字段别名。将文件地理数据库添加到工作空间时,可以在“Schema Attribute” >“Alias Mode”下找到别名参数。
- None(无):忽略别名。
- Replace Attribute Names with Aliases(用别名替换属性名称):要素的属性将基于其别名而不是属性字段名称来命名。每个要素都将包含geodb_feature_class_alias属性。当目标格式应使用别名作为属性名称定义要素时,需要设置为该选项。
- Expose Aliases as Metadata Attributes(将别名暴露为元数据属性):对于每个读取到的属性,将添加一个<name> _alias属性,该属性存储相关属性的别名。每个要素上还将包括geodb_feature_class_alias图层别名属性。当写出目标格式为Geodatabase且需要创建生成要素类和图层时应保留别名,需要设置为该选项。
源数据
社区中心(ESRI文件地理数据库要素类)
在上图中,我们看到了社区中心要素的图形及其属性,其中包含位于温哥华市的各种社区中心的名称、地址和网站URL的值。通过查看这些要素的属性,可以发现数据中是存在字段别名的。
工作区说明
1.读取源数据-(ESRI地理数据库-File Geodb)
使用ESRI地理数据库(File Geodb)读模块从地理数据库要素类源文件中读取Community Center图层的几何和属性,从而为目标地理数据库要素类提供要素、属性和别名定义。添加源要素类数据时,单击读模块参数按钮,从“Table List”参数中选择“Community Center”表,并将“Alias Mode”设置为“Expose Aliases as Metadata Attributes(<name>_alias)”选项。
通过将别名作为元数据暴露出来,将<name> _alias属性添加到读取到的数据中。此属性将用于存储相应属性的别名值。
2.更改别名值
AttributeManager转换器用于访问在步骤1中暴露的<name> _alias属性,并为数据属性别名分配新值。
在AttributeManager转换器的属性中,只需在“Output Attribute”下输入要更改的<name> _alias属性,然后将“Attribute Value”设置为包含要写入目标别名定义的更改后的新值。
该步骤也可以用AttributeCreator代替完成。
要素类别名:您也可以设置要素类别名。将格式属性 geodb_feature_class_alias设置为别名。
3.将别名值写入目标地理数据库
添加ESRI地理数据库(文件Geodb)写模块,并将数据写入到指定的输出地理数据库(即VancouverCity)。添加后,将AttributeManager的输出连接到地理数据库写模块。如果希望将社区中心数据写入要素数据集,请双击地理数据库写模块,然后在“Table Creation Parameter”下的“Feature Dataset”区域中输入“Community”。保存并运行工作区。
完成的工作区
ArcMap中的结果
*上例中使用的ESRI地理数据库(文件Geodb)读模块/写模块要求用户可以使用ArcGIS的许可版本。有关所需的ArcGIS许可级别的详细信息,请参阅FME地理数据库格式的必需的ArcGIS许可类型。
更多
FME能够为读入工作空间的没有别名的要素创建属性别名。如果存在与原始属性同名的附加属性,并且后缀“ _alias”,那么该属性的值将用作表创建时的字段别名。
例如:有一个名为CentreAddress的属性,还有另一个名为CentreAddress_alias的属性,其值为Address。CentreAddresss_alias的值将被认为是CentreAddress的别名(别名:Address)。仅需要在第一个要素上进行创建。