主题定义

几何实体记录分组为主题,其中给定主题中的所有实体具有相同的几何类型(点、线或区域)和相同的属性集。每个写进CCOGIF文件的主题都是由CCOGIF定义的DEF线。的DEF行指定主题所属的组的名称,并允许指定组中主题的相对顺序。数据组(DGHR)的头记录被写入到输出文件中DEF线。

控件上可以显式指定组名和主题排序索引DEF线的CCOGIF_GROUP_NAMECCOGIF_THEME_ORDERING关键字,或者它们可能由主题标识符暗示。如果DEF线没有CCOGIF_GROUP_NAME,主题标识符或FME特性类型成为隐含的组名。在这种情况下DEFLine实际上定义了组本身的属性,而不是特定的主题,因此不能包含任何主题排序或实体类型信息。将属性分配给组而不是组内的主题的原因和含义将在下面讨论。

如果DEF行既不包含显式的组名,也不包含显式的主题顺序,而且主题标识符是这种形式的< groupName > _ <数字>,在那里<数>如果是任何整数,则组名和主题顺序隐含为< groupName >,<数>分别。

每个主题的几何实体类型必须在主题上提供DEF行,使用CCOGIF_THEME_ENTITY_TYPE关键字。然而,并不是每个人都需要DEF行以提供实体类型。如果没有指定实体类型和主题排序信息,则DEF行被认为是为数据组而不是为数据主题定义一组属性。

严格地说,将属性分配给CCOGIF数据组是没有意义的,因为属性分配给CCOGIF文件中的主题。然而,这种机制提供了在单个组中使用相同的属性集定义点、线和区域主题的能力。任何具有指定特征类型的特征都会被写入适当的主题(点、线或区域),具体取决于特征的几何类型。具有聚合几何或完全没有几何的特性将不会被写入。

主题隐含在这种机制被称为通用主题从这个观点上看,与其他主题在一组可能共存,从而能够为一个数据组定义的主题以及定义通用主题“其他东西,我们想写,但这并不适合我们的预定义的主题”。如果使用了通用主题机制,则其DEF行必须出现在映射文件中DEF该组中任何非通用主题的行。