Content deleted Content added
DoctorKubla (talk | contribs) Replacing deprecated {{wikify}} with {{underlinked}}, {{external links}} and {{lead too long}} |
GreenC bot (talk | contribs) Reformat 1 citation per Category:CS1 errors: archive-url. Wayback Medic 2.5 |
||
(23 intermediate revisions by 17 users not shown) | |||
Line 1:
{{Short description|Historical storage format for geospatial data}}
{{
{{
{{
}}
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 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.<ref name="saif3.2"/> 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 {{Not a typo|.saf}} or {{Not a typo|.zip}} extension, is compressed using the zip archive format.▼
==Schema definition==
▲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 developers. A SAIF dataset, with a .saf or .zip extension, is compressed using the zip archive format.
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.
▲SAIF defines 285 classes (including enumerations) in the Class Syntax Notation, covering the definitions of high-level features, geometric types, topological relationships, temporal coordinates and relationships, 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.
SAIF supports multiple inheritance, although common usage involved single inheritance only.<ref name="saif3.2">{{Cite web |url=http://home.gdbc.gov.bc.ca/SAIF/ |title=Spatial Archive and Interchange Format:Formal Definition Release 3.2 |access-date=2010-11-24 |archive-date=2001-05-17 |archive-url=https://web.archive.org/web/20010517101331/http://home.gdbc.gov.bc.ca/SAIF/ |website=Geographic Data BC|url-status=dead }}</ref>
==Object referencing==
▲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.
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
▲'''Inheritance'''
▲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 coastline as well as part of a 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.
== Model
The primary advantage of SAIF was that it was inherently extensible following object oriented principles. This meant that data transfers from one GIS environment to another did not need to follow the lowest common denominator between the two systems. Instead, data could be extracted from a dataset defined by the first GIS, transformed into an intermediary, i.e., the semantically rich SAIF model, and from there transformed into a model and format applicable to the second GIS.
This notion of model to model transformation was deemed to be realistic only with an [[Object-oriented programming|object oriented]] approach. It was recognized that scripts to carry out such transformations could in fact add information content. When Safe Software developed the
== History ==
The SAIF project was established as a means of addressing interoperability between different geographic information systems. Exchange formats of particular prominence at the time included
SAIF became a Canadian national standard in 1993 with the approval of the Canadian General Standards Board. The last version of SAIF, published in January 1995, is designated as
The work on the SAIF modeling paradigm and the CSN classes was carried out principally by Mark Sondheim, Henry Kucera and Peter Friesen, all with the British Columbia government at the time. Dale Lutz and Don Murray of
SAIF was brought to the attention of Michael Stonebraker and Kenn Gardels of the [[University of California, Berkeley|University of California at Berkeley]], and then to those working on the initial version of the Open Geospatial Interoperability Specification (OGIS), the first efforts of what became the [[Open Geospatial Consortium]] (OGC). A series of 18 submissions to the ISO SQL Multimedia working group also helped tie SAIF to the original ISO work on geospatial features.
Today SAIF is of historical interest only. It is significant as a precursor to the [[Geography Markup Language]] and as the formative element in the development of the widely used [[FME (software)|Feature Manipulation Engine]].<ref name="xyht1">{{cite web |title=Freeing the Data |url=https://www.xyht.com/spatial-itgis/freeing-the-data/ |website=XYHt |access-date=5 November 2022}}</ref>
==See also==
* {{ Annotated link | GeoJSON}}
* {{ Annotated link | GeoPackage}}
* {{ Annotated link | File format (GIS)}}
* {{ Annotated link | FME (software)}}
== References ==
{{Reflist}}
* Sondheim, M., K. Gardels, and K. Buehler, 1999. GIS Interoperability. pp.
* Sondheim, M., P. Friesen, D. Lutz, and D. Murray. 1997. Spatial Archive and Interchange Format (SAIF). in Spatial Database Transfer Standards 2: Characteristics for Assessing Standards and Full Descriptions of the National and International Standards in the World. edited by Moellering H. and Hogan R. Elsevier, Netherlands. {{ISBN
* Surveys and Resource Mapping Branch. Spatial Archive and Interchange Format, Release 3.2, Formal Definition. 1995. (also Release 3.1 (1994); 3.0 (1993); 2.0, (1992); 1.0 (1991); and 0.1, (1990)) Surveys and Resource Mapping Branch, British Columbia Ministry of Environment, Lands and Parks. 258p. Also published by the Canadian General Standards Board, CAN/CGSB-171.1-95
▲Surveys and Resource Mapping Branch. Spatial Archive and Interchange Format, Release 3.2, Formal Definition. 1995. (also Release 3.1 (1994); 3.0 (1993); 2.0, (1992); 1.0 (1991); and 0.1, (1990)) Surveys and Resource Mapping Branch, British Columbia Ministry of Environment, Lands and Parks. 258p. Also published by the Canadian General Standards Board, CAN/CGSB-171.1-95. Available by request from the GeoBC Service Desk, http://www.ilmb.gov.bc.ca/geobc/servicedesk.html.
==External links==
* [http://publications.gc.ca/site/eng/64080/publication.html Government of Canada Publications, CGIS-SAIF Release 3.2]
* [http://s2k-ftp.cs.berkeley.edu/sequoia/schema/html/saif/saif31spec.html SAIF Release 3.1]▼
* [http://docs.safe.com/fme/pdf/FMEReadersWriters.pdf Safe Software, 2010, FME Readers and Writers, (Spatial Archive and Interchange Format, pp. 183 - 191)]▼
▲[http://s2k-ftp.cs.berkeley.edu/sequoia/schema/html/saif/saif31spec.html SAIF Release 3.1]
▲[http://docs.safe.com/fme/pdf/FMEReadersWriters.pdf Safe Software, 2010, FME Readers and Writers, (Spatial Archive and Interchange Format, pp. 183 - 191)]
[[Category:Interoperability]]
|