SEDRIS Data Dictionary ------------------------------------------------------------------------------- Class Name: Absolute Time Interval Definition: An interval of time defined by an absolute (GMT) start time and an absolute stop time. Primary Page in DRM Diagram: 20 Example: 1. The time period for which a SEDRIS transmittal should be considered to be valid. The stop time can be considered to be an "expiration date". FAQS: Q. What is the purpose of this class? A. This class provides a means to specify a time interval in terms of absolute GMT times. The time interval is used to specify FGDC-compatible metadata that describes the time period within which a high-level SEDRIS object (e.g. , , , etc.) and as a general-purpose mechanism for describing time intervals. allows potential users of a SEDRIS transmittal to evaluate the time period covered by the transmittal or object, without necessarily having to actually obtain or examine the transmittal or object directly. Q. How do I specify the time interval? A. An contains an that indicates the start of the time interval and the class fields indicate the length of the interval. Superclass: Time Interval Constraints: Legal Time Ranges Time Dependency Time Interval Calculation Composed of (one-way): one Absolute Time Point Component of (one-way)(inherited): optionally, some Base Time Constraints Data optionally, some Environment Roots optionally, a Transmittal Root optionally, some Months optionally, some Seasons optionally, some Sound Instances optionally, some Sources Inherited Field Elements: SE_TIME_SIGNIFICANCE_ENUM time_significance; /* * Used to indicate the significance of the time information */ Field Elements: SE_INT32 delta_days; SE_UINT8 delta_hours; /* * Must be between 0 and 23 */ SE_UINT8 delta_minutes; /* * Must be between 0 and 59 */ SE_FLOAT64 delta_seconds; /* * fractions provide higher accuracy if needed, e.g. milliseconds * Must be between 0.0 and 59.0 */ Used for Field Elements: /* * ENUM: SE_TIME_SIGNIFICANCE_ENUM * * Used to specify the meaning of the time represented by a time object. */ typedef enum { SE_CONTEXT_DETERMINED, /* * The significance of the time information is determined by the object * of which the time object is a component. */ SE_PUBLICATION_DATE, /* * Date that the data was published. */ SE_CREATION_DATE, /* * Creation Date of data set. */ SE_PERIOD_OF_CONTENT, /* * The time period spanned by the data. Could also be thought of as the * period of validity. */ SE_CERTIFICATION_DATE, /* * Date data set was certified. */ SE_MODIFICATION_DATE, /* * Date data was modified. */ SE_REVISION_DATE, SE_TIME_OF_OCCURRENCE /* * The date and time that the associated event occurs. */ } SE_TIME_SIGNIFICANCE_ENUM; ------------------------------------------------------------------------------- Class Name: Absolute Time Point Definition: Used to specify GMT time (i.e. not relative to another date and time). Primary Page in DRM Diagram: 20 Example: 1. The date and time when a SEDRIS transmittal was created. 2. The date and time of observations. FAQS: Q. What is the purpose of this class? A. This class provides 1) the means to specify an absolute time (GMT) for the FGDC-compatible metadata and 2) provides a general-purpose mechanism for describing points in absolute (GMT) time. In the first case, the metadata describes the point in time when a high-level SEDRIS object (e.g. , , , etc.) was created. It allows potential users of a SEDRIS transmittal to evaluate the age of a transmittal, without necessarily having to obtain or examine the transmittal itself. Q. How can I indicate that the time information in an is not dependent on the year? A. Setting year = -1 indicates any year. Please note that this means that an actual date of 1 BCE (before common era) cannot be used. This should not be a problem, as it is anticipated that the only time a BCE date will be used will be for astronomical Julian dates. Q. How can I indicate that the time information in an is not dependent on the month? A. Setting month = SE_ANY_MONTH indicates any month. Q. How can I indicate that the time information in an is not dependent on the day? A. Setting day = -1 indicates any day. Q. How do I indicate that the time fields hour, minutes, seconds are not applicable, i.e. that I'm specifying only the date? A. Setting hour = -1, minutes = -1, and/or seconds = -1, indicate that they are not applicable and can be ignored. Superclass: Time Point Constraints: Legal Time Ranges Component of (one-way)(inherited): optionally, some Base Time Constraints Data optionally, some Environment Roots optionally, a Transmittal Root optionally, some Citations optionally, some Process Component of (one-way): optionally, some Absolute Time Intervals optionally, some Relative Time Intervals optionally, some Relative Time Points Inherited Field Elements: SE_TIME_SIGNIFICANCE_ENUM time_significance; /* * Used to indicate the significance of the time information */ Field Elements: SE_INT16 year; SE_MONTH_ENUM month; SE_INT16 day; SE_INT8 hour; /* * Use 24 hour clock for hour. The value must be between * -1 and 23, where a value of -1 indicates not * applicable. */ SE_INT8 minutes; /* * The value must be between -1 and 59, where a value of * -1 indicates not applicable. */ SE_FLOAT64 seconds; /* * fractions provide higher accuracy if needed, e.g. milliseconds * -1 indicates not applicable. This is the only valid negative value. */ Used for Field Elements: /* * ENUM: SE_TIME_SIGNIFICANCE_ENUM * * Used to specify the meaning of the time represented by a time object. */ typedef enum { SE_CONTEXT_DETERMINED, /* * The significance of the time information is determined by the object * of which the time object is a component. */ SE_PUBLICATION_DATE, /* * Date that the data was published. */ SE_CREATION_DATE, /* * Creation Date of data set. */ SE_PERIOD_OF_CONTENT, /* * The time period spanned by the data. Could also be thought of as the * period of validity. */ SE_CERTIFICATION_DATE, /* * Date data set was certified. */ SE_MODIFICATION_DATE, /* * Date data was modified. */ SE_REVISION_DATE, SE_TIME_OF_OCCURRENCE /* * The date and time that the associated event occurs. */ } SE_TIME_SIGNIFICANCE_ENUM; /* * ENUM: SE_MONTH_ENUM * * Used by . */ typedef enum { SE_USE_DAY_OF_YEAR = -2, SE_ANY_MONTH = -1, SE_JANUARY = 1, SE_FEBRUARY, SE_MARCH, SE_APRIL, SE_MAY, SE_JUNE, SE_JULY, SE_AUGUST, SE_SEPTEMBER, SE_OCTOBER, SE_NOVEMBER, SE_DECEMBER } SE_MONTH_ENUM; ------------------------------------------------------------------------------- Class Name: Access Definition: The security classification and any access and/or usage constraints for its containing SEDRIS object. Primary Page in DRM Diagram: 1 Secondary Pages in DRM Diagram: 2 3 6 8 10 14 19 21 22 Example: 1. Given a that has restricted access (no access by non-U.S. citizens) and is for official use only, its information might be access_constraints = "NOFORN"; use_constraints = "FOUO"; security.system = "United States Department of Defense"; security.classification = "SECRET"; security.handling = "Downgrade on 31 Dec 1999"; FAQS: Q. What is the purpose of this class? A. This class provides the FGDC-compatible metadata describing the security classification and/or any access or usage constraints that apply to its containing SEDRIS object. It supports the creation of SEDRIS transmittals that contain classified or sensitive data. Q. How is the security classification of a SEDRIS object related to the security classifications of its component objects, or to the security classification of its containing object? A. In general, the rules for security classification metadata for the SEDRIS objects within a transmittal are the same as the rules for security classification markings of the paragraphs and sections within a hierarchically structured classified document. The security classification of an object must be at least as high as the highest of the security classifications of its components, and may be higher if the aggregation of the components allows additional information to be inferred. Therefore, the security classification of an object must be no higher than the security classification of its containing object. Unclassified objects need not have an component, unless they are unclassified components of a classified containing object. Superclass: SEDRIS Abstract Base Constraints: Mandatory Metadata Component of (one-way): optionally, some Attribute Sets optionally, some Attribute Set Tables optionally, some Attribute Set Table Groups optionally, some Environment Roots optionally, some Color Tables optionally, some Color Table Groups optionally, some Data Tables optionally, some Features optionally, some Feature Models optionally, some Geometry Hierarchies optionally, some Geometry Models optionally, some Images optionally, some Libraries optionally, some Models optionally, some Sounds optionally, some Symbols optionally, a Transmittal Root Field Elements: SE_STRING access_constraints; /* * restrictions on access to a data object (Optional) */ SE_STRING use_constraints; /* * restrictions on use of a object (Optional) */ SE_SECURITY_INFO security; /* * security classification for a data object (Mandatory) */ Used for Field Elements: /* * STRUCT: SE_STRING * * Information needed to represent a string, i.e., its contents and length */ typedef struct { SE_UINT16 string_length; char *string_value; } SE_STRING; /* * STRUCT: SE_SECURITY_INFO * * Security classification information for a data object. */ typedef struct { SE_STRING system; /* * Name of security classification system (Optional) * * Note: use "United States Department of Defense" */ SE_STRING classification; /* * Security classification level (Mandatory) * * Note: use "Unclassified", "Confidential", * "Secret", "Top Secret", etc. */ SE_STRING handling; /* * Additional handling restriction information (Optional) * * Note: use for downgrading date or any other * type of security information */ } SE_SECURITY_INFO; ------------------------------------------------------------------------------- Abstract Class Name: Aggregate Feature Definition: A collection of and/or , possibly including . In most cases each of the individual components is explicitly labeled by a link data object. The various subclasses provide different mechanisms for organizing , which include: ALTERNATE_HIERARCHY: Each of the components is a collection of with a different value, representing different ways of organizing the same collection of . CLASSIFICATION: Each of the components is a collection of with a different value, representing different thematic layers, or different classifications of (e.g., roads, railroads) within a single thematic layer. LEVEL_OF_DETAIL: Each of the components is a collection of with a different, possibly overlapping, value, representing alternatives that should be used at different viewing ranges or map scales. OCT_TREE: Each of the components is a collection of that are located within a different cell of an octree, as identified by its value. PERIMETER: Each of the components is a collection of that are located within a different cell of an irregular spatial index, as defined by its value. QUADTREE: Each of the components is a collection of that are located within a different cell of a quadtree, as identified by its value. SPATIAL_INDEX: Each of the components is a collection of that are located within a different cell of a regularly spaced spatial index grid. STATE: Each of the components is a collection of with a different value, representing alternatives that should be used when the is in different states. TIME: Each of the components is a collection of with a different, possibly overlapping, value, representing alternatives that should be used during different time periods. UNION: Each of the components is a or collection of . The reason for organizing them into separate components is not specified. Primary Page in DRM Diagram: 8 Secondary Pages in DRM Diagram: 11 Example: 1. An airport could be represented as a that includes for the runways; a for the control tower; and for the terminal and parking lots. 2. A forested area could be represented at two levels of detail using a object, with two component having different scale ranges, each containing a single . The to be used at smaller scales would be simpler than the to be used at larger scales. 3. In the previous example, a third component could be added to be used at even larger scales, where the single is replaced by a large number of representing individual trees. 4. A lake that varies in size significantly with the seasons could be represented as a