Draft Spatial Data Modelling Standards


Development projects that have a spatial component have slightly different requirements for data modelling in that there is both spatial and attribute data to consider. The following document provides a draft checklist intended to guide a spatial development project through the modelling exercise. In the absence of fully documented standards, it is the Data Administration group's normal practice to work with a project team to:
  1. help the project understand and work through any difficulties, and
  2. develop reasonable, workable standards or guidelines on the fly.

When in doubt, ask us!!

The Spatial Project Checklist includes:

See Also:

Define Feature Classes

A feature class is defined to classify and describe a geographic feature. A "feature" differs from a "feature class" in that the feature is an instance of the feature class. For example, "Lake" is a feature class while "Nitinat Lake", "Christina Lake" and "Lake Okanagan" are features. Other examples of feature classes are: Opening, Forest Cover, Range Unit, Recreation Trail, Resource Management Zone, Biogeoclimatic Zone, Forest District, etc.

The business staff should know what feature classes are necessary and within the scope of the development project. There is usually some discussion as to whether a feature should be "attributed" or stored as separate spatial entities.

For example, there could be one feature class called "Ski Trail" and all ski trails could be stored spatially as one entity with information stored in the attribute database to say whether a trail is "planned", "active" or "deactivated". On the other hand, this could be managed with three separate feature classes, "Ski Trail-planned", "Ski Trail-active" and "Ski Trail-deactivated", with each of these stored as separate spatial entities. The latter method could potentially mean duplicating the spatial information but there may be valid business or technical reasons for doing so. In any case, this is the kind of discussion that must go on to decide what feature classes are appropriate.

We encourage attributed design as much as possible to avoid duplicating work.

Minimal Requirements in defining Feature Classes

The following information is the minimal requirement for defining a new feature class.

  • Feature Class Name - a unique name given to identify the feature class. Existing examples are: Christmas Tree Permit, Cave, Grazing Licence, Heritage Trails, etc.
     
  • Description - a brief explanation of what the feature class is.
     
  • Spatial Data Type - identifies the type of spatial data the feature is stored as. These are fully defined in the document, Standard Positional Spatial Data Types and their representation in IGDS Format. The standard spatial data types are:
    • Point -- normal, polygon inside point, DEM;
    • Text
    • Linear Feature;
    • Polygon -- overlapping or non-overlapping
       
  • Positional Capture Standards- the symbology used to digitize and store the positional data. This includes information such as level, line weight, line code, colour, text weight, justification, etc. Note that the positional capture symbology differs from the symbology used to represent spatial information on a map - only the positional symbology is required for the feature class definition.

Once the business staff has identified and defined the required feature classes (ideally with the assistance of the Data Custodian), these should be documented. The feature class definitions should be forwarded to the Data Administration group in ISB.

The Data Administration group is responsible for assigning the MoF Feature Code Number and CCSM Feature Code (which uniquely identify a polygon, for example, as a "Forest Cover Polygon" or a "Lake") to the new feature class definition and will enter it into the Integrated Spatial Data Dictionary (ISDD). Ministry staff should first use ISDD to see if an existing feature class can be used rather than creating a new and possibly duplicate one (Data Administration staff can assist with that investigation).

As a reminder (just as in other systems development projects), the Data Custodian must be involved when defining Feature Classes (the exception is for corporate data which is extended). Data Custodians (defined as a branch director) may delegate the day-to-day decisions to data standards managers within their line accountability. Contact Data Administration staff for assistance in determining who the proper Data Custodian (or delegate) is.

The Spatial Data Model (draft version) is also available and is our definition of what technical information must be collected to develop spatial systems, prior to analysing business information needs.

All other "modelling" can be done using normal relational standards, such as Entity-Relation Diagrams (see Guide S7).

Classify Features using Feature Codes

Geographic features are classified using a feature class name (e.g. lake, road, trail, etc.) and are "encoded" using a Feature Code Number and a Feature Code. Feature Code Number and Feature Code both serve the same purpose - they are used to uniquely identify the "type" of feature and are more useful than a name which is more likely to change.

Feature classes and feature codes are useful in that they can be used to manage and reference groups of features in order to perform certain operations. They enable GIS users to associate other descriptive information with a feature such as whether it's a point, line or polygon, a description for it, what symbology is used (e.g. level, colour, line weight, etc.) and so on.

The Feature Code Number is stored as a numeric value (e.g. 16025 might be the Feature Code Number for the "Resource Management Zone" feature class). The Feature Code is an 10-character alphanumeric value, starting with 2 letters, followed by 8 digits (e.g. AR24400000 might be the Feature Code for "Resource Management Zone").

The Feature Code is used government-wide and is generated in compliance with the Canada Council on Surveys and Mapping (CCSM) 1984 Draft Report on the classification of topographic features. A Government Feature Codes Database has been set up by the Ministry of Environment where users can query for feature codes maintained by the province.

The Ministry of Forests currently uses the Microstation platform for spatial data capture and the Microstation platform cannot use a feature code which has an alphanumeric value. For this reason, the Ministry decided to create the Feature Code Number - it has the same business use as Feature Code but is stored as a numeric value. The Feature Code Number exists only within the Ministry of Forests.

Storing Feature Code Number in IGDS Files

The technical information for storing the Feature Code Number in IGDS Files is provided by the INCOSADA document, Standard Positional Spatial Data Types and their representation in IGDS Format.

Storing Feature Code Number in Attribute Databases

The Feature Code Number is stored as an unsigned 32-bit integer (e.g. with values ranging from 0 to greater than 4 billion). The Feature Code is stored as a 10-character alphanumeric string in the format, AANNNNNNNN (where 'A' = alphabetic, 'N' = numeric). Storing the feature code number and/or feature code in the attribute database is optional and will depend on how the business decides to model its data (unlike the Feature ID which is mandatory and described in the following section).

The following standard names and datatypes should be used to represent the two feature code values:

  • Feature_Code_Num - 32-bit unsigned integer
  • Feature_Code - 10-character alphanumeric text string

Link Spatial and Attribute Data using Feature ID

In order to uniquely identify features stored by the Ministry it is important that each feature have a unique key. Historically, spatial and attribute data have co-existed in separate worlds - attribute data is typically stored in relational databases and spatial data is captured and stored on CAD or GIS platforms. The only way of linking the two together was by storing unique identifiers as labels in the spatial data, generating a map and then manually associating the labels with unique identifiers stored in the attribute database.

One of the initial goals of the INCOSADA project was to provide a physical link between the spatial and attribute databases and to accomplish this, a unique key, known as the Feature ID (FID), was created.

To ensure the province-wide uniqueness of the FID, a universally unique identifier (UUID) will be used. The UUID is a computer generated number that is designed to never be generated the same twice.

The UUID will be encoded into a single column as a 32-byte hex string. In MS-Access, this will be represented as TEXT(32), in Oracle this will be represented as VARCHAR2(32) and in SQL/DS this will be represented as CHAR(32). The HEX characters ('A' - 'F') will be stored in upper case.

Storing Feature ID in the Spatial Data (in IGDS files)

The technical information for storing the Feature ID in IGDS Files is provided by the INCOSADA document, Standard Positional Spatial Data Types and their representation in IGDS Format.

Storing Feature ID in Attribute Databases

Wherever there is a one-to-one relationship between a table in the attribute database and a spatial feature class, a FID will be used to link the spatial and attribute data together. A FEATURE_LINK table will be created for the feature class, storing both the FID as well as the business key from the attribute database.

For example, spatially, Opening is recorded as a polygonal feature class. Attribute data is also stored for each opening in a Silviculture Database table named Opening (currently, the ISIS application records attribute information for Opening). The business key for the Opening table is: Opening_Number + Admin_District_No. To link the spatial and attribute opening data together, a table called FEATURE_LINK_OPENING will be created, storing the FID (automatically generated when the polygon is digitized) and the business key. When the Opening polygon is digitized, the user will be prompted to enter the business key so that it can be stored along with the FID in the FEATURE_LINK_OPENING table.

Spatial DBA Review

The last step in validating a data model for a spatial development project is to have it reviewed by the Spatial DataBase Administrator. The Spatial DBA will review the design looking for things like:

  • does the design make it feasible to do unreasonable things with the spatial data (e.g. can a forest cover polygon with standing timber be drawn over a lake)
  • are appropriate data structures used for technical effectiveness (e.g. is a polygon defined as continuous when it should be non-continuous)
  • how the Feature Class or Feature Code can be implemented technically on the core GIS toolsets currently available, and whether they will fit future technical needs.
  • are the positional capture standards (level, line weight, line code, colour, text weight, justification) reasonable and not in conflict with others.

Related Issues

Discussion continues on the following issues and decisions made will have future impact on the spatial data modelling process:

  • Spatial Metadata: Part of the business analysis step is identifying what is the "business metadata", (i.e., information about who collected certain data, how it was collected, etc). It does not make sense to have common standards per se for modelling business metadata -- it depends on the particular business needs of the area in question. This is therefore a project-specific analysis activity, not a "should already be included in the data modelling standards" activity. A brainstorming session was recently held at an INCOSADA meeting at Mesachie Lake, producing the following list of spatial metadata possibilities (this list is by no means complete):
     
    • identity of the person who captured the data
    • identify of the person who entered the data
    • method used and accuracy
    • before and after feature creation
    • date/time of collection, capture
    • data source (e.g. air photo)
    • version of data source
    • data photo scale
    • RIC standards
    • equipment used (e.g. GPS)
       
  • Spatio-Temporal Information: adding time (or history, or versioning) to the model is another example of a business-specific requirement (i.e. there is no one data modelling standard for adding time). Currently, this is resolved through project-specific analysis.
     
  • Topology: the current spatial model does attempt to support topology by including a table where "rules" could be stored to say, for example, that a road cannot intersect a lake (notwithstanding a bridge or flooding) or perhaps that two forest district boundaries must be adjacent. The idea, however, is to provide structures which could be used to build topology and provide a check for spatial data integrity.

For more information, contact Jeremey Janzen in the Data Administration group, or Bill Unwin, the Spatial Database Administrator..