Data Set Header Record Contents

Every CCOGIF file may contain one or more datasets.1The FME’s CCOGIF writer currently supports only a single dataset. The first record of each dataset in a CCOGIF volume is called the Data Set Header Record (DSHR). It provides information particular to the dataset not only for the human user—it also directs computer applications on how to process the data.

The portions of the DSHR that relate to the processing of the data are of specific interest to the CCOGIF writer. When it writes out data within a dataset, it must remain consistent with the dataset characteristics set out in the DSHR. The following information is particularly interesting to the writing process.

  • Coordinate data type: The DSHR specifies the data type, INT, REAL or DMS, for each of the x, y, and z coordinate values within the dataset. The CCOGIF writer uses the values of the DSHR metadata feature’s ccogif_x_data_type, ccogif_y_data_type, and ccogif_z_data_type attributes to format the numerical coordinates correctly.
  • Data set content indicator: The Data Set Content Indicator (DSCI) is a subrecord of the DSHR that tells whether data is 3D, whether there is a known point in each area, and whether various topology information such as, point to line topology, line to point topology, line collocation, line to area topology, and area to line topology, is present in the entity attributes. FME’s CCOGIF writer currently does not generate any topology information, however it passes along any that has been added to geometric entity features which have been given to it.
  • Coordinate system and map projection: The correct coordinate system for the output CCOGIF dataset must be specified in a DSHR metadata feature, as this information is not yet tied in to FME’s coordinate system manager. If no coordinate system information is provided to the CCOGIF writer, it will arbitrarily choose a Universal Transverse Mercator (UTM) zone 18 projection, which is most likely not what is wanted.

The following table lists the default values for all attributes in the DSHR. These default values will be written out for any attributes not mentioned in “any” DSHR metadata feature given to the writer.

Attribute Name

Contents – Default Value

ccogif_data_set_name

FME-generated CCOGIF dataset

ccogif_ds_cre_date

Current date

ccogif_ds_loc_text

Empty string (“ ”)

ccogif_related_ds

Empty string (“ ”)

ccogif_data_three_dim

Depends on whether first entity feature written is two- or three-dimensional.

ccogif_pt_to_ln_topo

F for False

ccogif_ln_to_pt_topo

F for False

ccogif_colloc_exists

F for False

ccogif_ln_to_area_topo

F for False

ccogif_area_to_ln_topo

T for True

ccogif_known_pt_in_area

T for True

ccogif_attrs_in_entity

T for True

ccogif_feat_classes

Empty string (“ ”)

ccogif_num_data_grp

Number of data groups written to this CCOGIF dataset.

ccogif_num_ufl_recs

Computed from the amount of user data specified on the UFLR metadata records.

ccogif_num_emd_recs

Number of EMDRs to write to the dataset.

ccogif_x_data_type,
ccogif_y_data_type,
ccogif_z_data_type

REAL

ccogif_x_data_units,
ccogif_y_data_units,
ccogif_z_data_units

METRES for x and y,
METRES ASL for z

ccogif_z_min_value,
ccogif_z_max_value

If the entity data is 3D, these are the actual minimum and maximum elevations. Otherwise, they are left blank.

ccogif_proj_id

Defaults to UTM zone 18, so the projection ID will be Transverse Mercator (0200)

ccogif_geod_datum

Name of geodetic datum

ccogif_adj_name

Name of adjustment

ccogif_vert_datum

Name of vertical datum

The ccogif_num_ufl_recs attribute on the DSHR is completely dependent on the amount of user data passed to the CCOGIF writer in UFLR metadata features and is always overwritten by the writer.

The FME defaults to a map projection of UTM zone 18. The following table presents the default values for the projection-related attributes for the DSHR.

Attribute Name

Content – Default Value

ccogif_proj_id

Constant: 0200

ccogif_proj_name

Constant: TRANSVERSE MERCATOR

ccogif_proj_cent_merid

Constant: 75

ccogif_proj_zone_width

Constant: 6

ccogif_proj_sphd_name

GRS 80

ccogif_proj_semi_major

Constant: 6.378137E+06

ccogif_proj_semi_minor

Constant: 6.35675231E+06

ccogif_proj_eccent

Constant: 6.694380070E-03

ccogif_proj_scl_fact

Constant: 0.9996

ccogif_proj_false_east,

ccogif_proj_fals_north

Constant: 500000 east, 0 north

ccogif_proj_zone

Constant: 18

ccogif_proj_orig_east,
ccogif_proj_orig_north

Constant: (0,0)

ccogif_proj_num_bnd_crd

Constant: 0

ccogif_proj_bnd_crd{n}.x,
ccogif_proj_bnd_crd{n}.y

Empty string (“ ”)

It is important to note that the CCOGIF writer requires the DSHR information (especially the x,y, and z data types) before it starts to write entity data to the CCOGIF file.