Spatial Archive and Interchange Format: Difference between revisions

Content deleted Content added
m General fixes, replaced: 1990s → 1990s (2)
top: bolt title, bold alt article name per MOS, markup
Line 2:
{{external links|date=October 2012}}
{{Orphan|date=January 2017}}}}
The '''Spatial Archive and Interchange Format''' ('''SAIF''', pronounced ''safe'') was defined in the early 1990s as a self-describing, extensible format designed to support interoperability and storage of [[Geographic data and information|geospatial data]].
 
'''SAIF Dataset'''
 
'''==SAIF Dataset'''==
SAIF has two major components that together define SAIFtalk. The first is the Class Syntax Notation (CSN), a [[data definition language]] used to define a dataset's schema. The second is the Object Syntax Notation (OSN), a data language used to represent the object data adhering to the schema. The CSN and OSN are contained in the same physical file, along with a directory at the beginning of the file. The use of ASCII text and a straightforward syntax for both CSN and OSN ensure that they can be parsed easily and understood directly by users and [[Developer (software)|developers]]. A SAIF dataset, with a .saf or .zip extension, is compressed using the zip archive format.
 
'''==Schema Definition'''==
 
SAIF defines 285 classes (including enumerations) in the Class Syntax Notation, covering the definitions of high-level features, [[Geometry|geometric]] types, [[Topology|topological]] relationships, [[Time|temporal]] coordinates and relationships, [[Geodetic datum|geodetic]] coordinate system components and [[metadata]]. These can be considered as forming a base schema. Using CSN, a user defines a new schema to describe the features in a given dataset. The classes belonging to the new schema are defined in CSN as subclasses of existing SAIF classes or as new enumerations.
 
A ''ForestStand::MySchema'' for example could be defined with attributes including age, species, etc. and with ''ForestStand::MySchema'' specified as a subclass of ''GeographicObject'', a feature defined in the SAIF standard. All user defined classes must belong to a schema, one defined by the user or previously existing. Different schemas can exist in the same dataset and objects defined under one schema can reference those specified in another.
 
'''==Inheritance'''==
 
SAIF supports multiple inheritance, although common usage involved single inheritance only.
 
'''==Object Referencing'''==
 
Object referencing can be used as a means of breaking up large monolithic structures. More significantly, it can allow objects to be defined only once and then referenced any number of times. A section of the geometry of the land-water interface could define part of a [[coast]]line as well as part of a [[Municipality|municipal]] boundary and part of a [[marine park]] boundary. This geometric feature can be defined and given an object reference, which is then used when the geometry of the coastline, municipality and marine park are specified.
 
'''==Multimedia'''==
 
Multimedia objects can also be objects in a SAIF dataset and referenced accordingly. For example, image and sound files associated with a given ___location could be included.