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, |
REAL |
ccogif_x_data_units, |
METRES for x and y, |
ccogif_z_min_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, |
Constant: (0,0) |
ccogif_proj_num_bnd_crd |
Constant: 0 |
ccogif_proj_bnd_crd{n}.x, |
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.