指定元数据记录

CCOGIF文件中的元数据记录包含必须正确定义的许多信息,以便准确定义。这些信息的大部分是为了实现最终产品的人类用户,可能不仅可以从站点到现场而变化,而且可能从一个数据集到另一个数据集。此信息无法编码为FME本身,因此必须提供给映射文件。

CCogif Writer期望将此信息传递在CCogif Reader创建的相同元数据功能中。如果Writer接收具有功能类型的功能ccogif_metadata.,它会看看ccogif_record_code.属性查看哪个元数据特征,描述元数据特征,特征表示。它从这个功能中提取了什么ccogif_xxx.属性适用于该特定类型的元数据功能,最终将信息写入输出Ccogif文件中的元数据记录。

传入元数据特征的顺序很大,因为它们以与收到的类似顺序写出。任何特定于卷的元数据必须出现在数据集头记录(DSHR)之前。在DSHR之后接收到的元数据特性作为数据集的一部分出现在输出CCOGIF文件中。

此外,在呈现任何实体功能之前,必须将所有元数据功能呈现给Writer。CCogif Writer需要从DSHR提供信息,以便编写实体数据,因此如果没有给出,它会创建默认的DSHR。生成默认DSHR之后的任何元数据都可能将放置到DSHR中的默认值违反,从而导致无效的输出CCOGIF文件。

以下几种生成CCOGIF编写器元数据功能的方法如下所述:

  • 使用Multi-Reader作为输入阅读器,并使用模板CCOGIF文件作为源ccogif_metadata.特征。换句话说,可以从该读取器中选择特定的元数据特征,然后重定向到写入器以提供输出中的相应元数据记录的属性值。
  • 存储模板ccogif_metadata.功能存储中的功能并使用TregineFactory将它们注入要素流。如果选择此方法,则选择播放模式非常重要回放代替Playback_at_End.
  • 使用CreationFactory创建具有所有必需属性的元数据特性。

一旦产生了功能,它们必须用特征类型交给作者ccogif_metadata.。这可以通过在输出文件中的任何组中创建错误主题来实现,例如:

ccogif_def ccogif_metadata \
ccogif_group_name“功能”

使用此定义到位,您可以将元数据功能与...相关联ccogif_metadata.功能类型的输出格式。这种相关性必须等于所有ccogif_xxx.所有元数据都关联的源和目标边的属性。例如:

CCOGIF CCOGIF_METADATA \ ccogif_adj_name%ccogif_adj_name \ ccogif_area_to_ln_topo%ccogif_area_to_ln_topo \ ccogif_attrs_in_entity%ccogif_attrs_in_entity \ ccogif_bytes_prev_rec%ccogif_bytes_prev_rec \ ccogif_colloc_exists%ccogif_colloc_exists \ ... ccogif_z_min_value%ccogif_z_min_value SHAPE CCOGIF_METADATA \ ccogif_adj_name%ccogif_adj_name \ ccogif_area_to_ln_topo%ccogif_area_to_ln_topo \ ccogif_attrs_in_entity%ccogif_attrs_in_entity \ ccogif_bytes_prev_rec%ccogif_bytes_prev_rec \ ccogif_colloc_exists%ccogif_colloc_exists \ ... ccogif_z_min_value%ccogif_z_min_value

以下部分描述了CCOGIF编写器专门对待某些类型的元数据特征的方法。这种特殊的处理只是确保记录存在并具有一些合法的,如果没有意义,默认值ccogif_xxx.属性。