Canadian Council on Geomatics Interchange Format (CCOGIF) Reader/Writer
Licensing options for this format begin with FME Desktop Professional Edition.
The Canadian Council on Geomatics Interchange Format (CCOGIF) ASCII reader provides FME with access to the contents of a CCOGIF dataset stored in ASCII format in a single disk file. The structure of this file is discussed in Canadian Council on Geomatics’ document, Standard File Exchange Format for Digital Spatial Data version #2.3, published October 1994.
The CCOGIF format, a data exchange format, provides a very general medium in which to represent a data model. FME accesses the individual records of a CCOGIF file at a very low level, involving only minimal interpretation of the contents of those records. This allows FME to handle virtually any data encoded with the CCOGIF standard, but requires a somewhat more sophisticated mapping file to make full use of the data.
Overview
The CCOGIF disk file consists of a series of logical records. Each of these records either describes metadata which is information about the data contents or structuring, or entity data which are geometric features.
The CCOGIF file describes a single data volume, that groups spatial data into datasets, data groups, and data themes. A CCOGIF volume contains one or more datasets. A single CCOGIF dataset contains one or more data groups, and a single data group contains one or more data themes.
At the highest level of grouping, the CCOGIF dataset – not to be confused with FME's concept of a dataset which is referred to as an FME dataset for the remainder of this chapter – groups the entity data by geographic region, such as a map sheet. In other words, all geographic data contained in a single CCOGIF dataset are somehow geographically related. All entity data within a CCOGIF dataset are measured in a single coordinate system.
Each data group provides some conceptual grouping of geographic entities. The criteria of this grouping are entirely data-dependent and are not constrained by the CCOGIF standard. This grouping is somewhat analogous to FME's notion of a feature type. For example, a CCOGIF dataset might contain the data groups Highway, Bridge, and Intersection.
The data within a single CCOGIF data group is divided into data themes. Each data theme represents a certain entity type: point, line, or area. The definition of a theme includes a list of data attributes. All attributes are defined on every entity record within the theme. A single data group may contain more than one theme of a given type – for example, two point themes. The themes are always ordered so that point themes come first, then line themes, and finally area themes.
Reader Overview
For the most part, the CCOGIF reader simply returns a feature to represent each record it encounters in the CCOGIF file. The reader does not have any requirement for definition statements.
The feature type of a feature returned from the CCOGIF reader depends on whether the feature represents metadata or entity data. Features that represent metadata records are returned with a feature type of CCOGIF_METADATA, whereas features that represent entity records are returned with a feature type dependent on the CCOGIF data group and theme within that data group. The feature type will have the format <GroupName>_<ThemeIndex>, where <GroupName> is the name of the group extracted from the Data Group Header Record (DGHR), and <ThemeIndex> is the position of the data theme within the group.
There are different ways to generate workspaces to read CCOGIF data. The generated workspaces run the features through a number of factories, so the actual names of the feature types used in an automatically generated workspace will depend on which method is used and may not correspond to the feature types returned from the reader itself.