Version 0.2 of 1997-08-26
Author: Tony J Ibbs (tony@lsl.co.uk)
This document still needs a lot of work. Any comments are very welcome.
ISO 8211 is more precisely referred to as:
ISO/IEC 8211:1994, Information technology - Specification for a data descriptive file for information interchange.
It comes under the ISO/IEC committee ISO/IEC JTC1 SC21 (and ISO have a brief reference for the standard at ISO/IEC 8211:1994).
There was a previous version dated 1985 (ISO 8211:1985), which this new version cancels and replaces.
Although it is technically incorrect to refer to the standard as "ISO 8211" instead of "ISO/IEC 8211", this document mostly does so (this is because the previous document, which I helped revise, was correctly so called, and I got used to it).
ISO have given permission to quote the Introduction and Scope to the standard, which serve as good formal introductions to it.
This description was produced for a colleague, and will hopefully be tidied up and improved at some time in the future. Another colleague recommends the introduction to ISO 8211:1985 in the SDTS documentation.
ISO 8211 is a standard designed for the transfer of files of data, which might consist of just about anything. One initial usage (long ago) for such a thing was to move around big array of physics or physical chemistry data.
An ISO 8211 file (called a "DDF" - data definition file) consists of [logical] records (more modern standards would call these blocks).
These records then contain data fields, made up (normally) of subfields (again, a more modern standard would call these records and fields respectively - that is, we would have:
ISO 8211 modern standard -------- --------------- record block field record subfield field- the ISO 8211 usages are consistent with its origins, but are perhaps surprising to programmers used to modern conventions).
Anyway. Each record is made up of three parts:
The directory in each record contains entries of the form:
So if we had fields called "COORD" and "ATTR", we might have a directory that (in some sense) looked like:
So one can use the directory to get at the data for each field. (In some ways, ISO 8211 can be regarded as a `tagged' format like TIFF, if that means anything to you.)
The first record in the file is special. It is called the DDR (data definition record - the other records are DRs, data records). The best way to think of it is as a dictionary, defining what data can be held in each field. There's a special language defined in Annex B of ISO 8211 which can be used to represent this dictionary in a human readable form.
Anyway, the definition for a tag (field name) is kept in the data area for that tag in record 1 (the DDR). The definition of a field is in (more or less) four parts:
The subfield labels allow one to define the structure of the field - it can be a single subfield, a vector of subfields, a multi-dimensional array, and so on. It can also be a `table' - that is, an array where the number of rows is not defined - this is obviously useful for things like coordinate arrays.
The format definitions are very like Fortran format statements (but with more parentheses - this is acknowledged as being a mistake in the first version of the standard, but we can't change it now). They work pretty much like Fortran format statements, except that one can also produce binary data (S-57 uses this in its binary form to store binary values - INTEGER*4, essentially, if you remember that far back! - as a bid for compactness).
Back to FAQ Contents
This description was produced for a colleague, and may be tidied up and improved at some time in the future.Basically, ISO/IEC 8211:1994 adds:
This is used by S-57, for instance. The most important thing it allows is to transmit integers and floats as binary integers and floats - so one can send a 32 bit signed integer as the relevent bit pattern. Obviously this can save space for large numbers (which is why IHO requested this change).
This allows the "size" information for record size and field size to be in a binary form, which allows for very big records and fields. I don't know who wanted this.
Since ISO/IEC 10646 UCS-2 is (essentially) UNICODE (although I think of it the other way round!), I guess you can see why this was wanted by various people. It explicitly allows the use of UCS-2 and UCS-4 in various places (instead of having to do it via ISO 2022 escapes), including A-type subfields (i.e., character data).
FTAM is an OSI standard, allowing remote access to files (it's kind of the OSI equivalent of the lower levels of FTP). It allows an FTAM client to access the records and fields of an ISO 8211 file over a network, without necessarily transmitting the whole file.
This allows a field to be (for instance)array THEN vector THEN array THEN tablewhereas before this would have had to be four separate fields. It allows better field definitions in some of the places ISO 8211 is now used.
I don't know who wanted this, and don't propose to describe it here.
This was requested by me (oh - sorry - by the UK). It is the "DFD", the little language that allows one to describe the data dictionary in an ISO 8211 file in something that makes sense.So instead of the horrible little diagrams one tends to get in SDTS, DIGEST and S-57 (at least the older versions), like
[m,*2] *FRED!JIM!BOB ((A(2),I(4))(which may or may not be a valid example), one can instead say:
FIELD 'NICE' 'A nice little example field' FOR BY -- i.e., a table 'FRED' A(2) -- the FRED measure of this field 'JIM' I(4) -- the JIMness of this field 'BOB' A(2) -- our BOB value END FIELD(which is correct, and does what the first example was probably meant to).
DFD text is both suitable for humans to read and create (it is particularly intended for use in the design-phase of creating an ISO 8211 file), and machine-readable to produced a DDR.
The second edition is backwards compatible with the first edition.
This is very slightly untrue, but not in any way that would affect 99.999% of ISO 8211 users (well, actually, probably all users, I suspect).
Back to FAQ Contents
Because you want some of the facilities available in the new standard.
Because referring to an old version of a standard is awkward (does ISO even sell out of date standards?). Users may not be able to get the old standard. Users will assume the new version, and be surprised by being wrong.
Because it doesn't cause huge problems to upgrade:
When you do want to upgrade, it will be easier if the users are already familiar with the new standard.
The new standard has been rewritten, and should be a lot easier to use.
There have already been defect reports made on the new standard, to clarify use of extended character sets (and some minor typos). This work will not be retrofitted to the old standard, but many of the same ambiguities probably (I can't be bothered to check too hard, but it looks so) apply there as well.
Technically, the new standard does say that it cancels and replaces the old.
Back to FAQ Contents
I am aware of the following standards that use ISO 8211:
I believe DIGEST still uses the previous version of ISO 8211.
The following list, from 1991, comes from Dr A. A. Brooks:
The following is a list of standards applications using ISO 8211 as a vehicle:
- US/FIPS 123 - Federal Information Processing Standard.
- SDTS - Spatial Data Transfer Specification
- US Federal Information Processing Std - 15 Agencies.
- DX90 - International Hydrographics Organization Transfer Format
- Multinational (80 countries), multi-use standard.
- DIGEST - Digital Geographic Information Exchange Standard
- Multinational (approx 8 countries), multi-use standard.
- NTF - UK National Transfer Format
- SAIF - Spatial Archive and Interchange Format
- Canadian/British Columbia Ministry of Crown Lands.
- JICST - Japanese Information Center for Science and Technology
- Developing a Physical Properties Data Base; will be a prototype for other JICST standards.
- SSS - Multi-national Side-scan Sonar Distribution
Organizational Applications:
- UK
- Ordnance Survey, Military Survey, Hydrographics Office: NTF, DIGEST, IHO/DX90.
- US Bureau of the CENSUS
- Moved 90,000 files throughout a nationally, distributed system will be used for public distribution next year, for ten years.
- US USGS/DMA/Census SDTS Product Profiles
- US NOAA National Charting Division
- Nautical Chart Archives.
- US Defense Mapping Agency
- ADRG - ARC Digitized Raster Graphics - 40,000 CD-ROM files.
World Vector Shoreline - CD-ROM.
Digital Chart of the World - Random access.- US Dept of the Navy NAVFAC DataBase Management Project.
- INTERGRAPH Corp.
- MARINER System & allied products; OEM Product Listing.
- CONTEL Corp.
- Large CD-ROM based (ADRG) Direct Access System.
- Excerpta Medica
- Medical Abstracts - Netherlands.
In addition, software in Several Countries: Belgium, Canada, Denmark, France, Finland, Greece, Italy, Japan, Netherlands, Norway, South Africa, Spain, Sweden, United Kingdom, United States, West Germany.
Any more information (and corrections) would be welcomed!
Back to FAQ Contents
Some countries `repackage' ISO standards under their own standard schemes. I know of the following:
Any more information would be welcomed!
Back to FAQ Contents
I am aware of the following:
Details of availability?
Contact: I believe that Dr Brooks has now delegated support for this software to someone else. However, until I have details, his email address is brooks@icx.net.
It is free, written in C, and has a very strange idea of what good commenting practice is. I have no opinion of whether it is any use or not (I have no personal interest in it as it does not support the current version of the standard).
The software is available via the SDTS Home Page
(I have since learned that this was originally only intended as software for use internally to USGS, and that a new version of the software may be released at some time in the future, although I don't have confirmation of that.)
I would be very interested to be told of any other ISO 8211 libraries.
Back to FAQ Contents
Note that whilst any vendor selling software to read or write a standard using ISO 8211 must have addressed the business of reading/writing at least some aspects of ISO 8211 (see below), this need not mean that they have anything that can be sold as a separate `ISO 8211' library or module. I am, however, aware of the following:
Although I have not been directly involved in writing this software (due to scheduling considerations, and the need to ensure other people within Laser-Scan have some knowledge of ISO 8211!), I believe the software to be of good quality.
Necessary disclaimer: I am employed by Laser-Scan, and have worked on Gothic and its Translate module for some years.
Hugh Phillips emailed me with the following information. This is not intended to indicate any endorsement by himself or the UK Hydrographic Office, nor is it a guarantee that any of the companies named have actually implemented relevent software.
From: "HPI, UK Hydrographic Office" <hpi.hydro.gov.uk@post.interalpha.net> To: "'Tony Ibbs'" <tibbs> Subject: ISO/IEC 8211 support Date: Thu, 7 Nov 1996 15:33:24 -0000 There are a number of other companies who will be dealing with S57 data and therefore, with ISO 8211. These include all the major marine electronics companies who are building ECDIS. Below are some names and addresses of companies we know of: Hugh Astle Universal Systems Ltd 270 Rookwood Avenue PO box 3391 Station B Fredericton New Brunswick E3A 5H2 CANADA Fax: 506 459 3849 email: astle@universal.ca Gert Buttgenbach 7Cs Ruhrstrasse 90 D22761 Hamburg Germany Fax: 49 40 851 54 40 Simon Wild Hydrographic Sciences Australia PO box 6185 North Sydney NSW Australia Fax: 612 959 3594 email: simon@hsa.com.au Andrey Sabajdash Morintech Ltd 6 Prospect Kima 199155 St Petersburg Russia Fax: 7 812 350 4055 David Croft Transas Marine (UK) Commodore House Mountbatten Business Centre 16/18 Millbrook Road East Southampton SO15 1HY Fax: 01703 233439 Hannu Peiponen Aspo Systems Oy Marine Electronics Olarinluoma 19 PO box 11 FIN 02201 Espoo Finland Fax: 358 (9)0422908
I would be very interested in more information on any of the vendors mentioned above, as well as information on other vendors supporting the use of ISO 8211 within their products.
Back to FAQ Contents
Step 1: You will need to understand ISO/IEC 2022, and possibly other ISO standards. If you need to use ISO/IEC 10646, then you will need to understand that, as well.
Yes, I know that gets in the way of just doing it, but unfortunately experience proves it to be the case. Clause 7 (which is the relevant part of ISO 8211) just doesn't make sense unless one has read the relevant supporting documents. Worse, it can appear to make sense, but lead to wrong conclusions (for instance, if one doesn't understand ISO/IEC 2022 terminology properly).
I will write more on this later - for the moment, try also reading the proposed new clause 7, which may help.
Back to FAQ Contents
Technically, with the new version of 8211, one can do interactive interrogation over FTAM. Unfortunately, I have the impression that FTAM is not too widespread.
Regardless, it is possible to "interrogate" an ISO 8211 file interactively - that's the whole point of the directory at the start of each record, to allow one to find things in the record quickly. And it doesn't take much effort to produce an index for a file, which can be used to do this.
In practice, of course, one would oftem be better off reading the thing in to one's own system, because (a) that's optimised to do one's own sort of work, and (b) disk access is slow (especially if it's CD-ROM or tape!), and one can assume one's own system does caching into memory, etc., to speed things up.
Back to FAQ Contents
Currently, a set of Defect Reports is going through the appropriate procedure in ISO. The main highlights are:
Two other possible changes have been identified, too late for this set of DRs. Both are fairly minor. The proposed solutions to both are acceptable to both myself and Dr A. A. Brooks (i.e., the members of the current Defects Committee).
Problem: B.2.1.4 states that two strings separated only by whitespace and a newline, or whitespace and a comment, will be concatenated.
A FOR construct, B.2.5 3), may involve a series of strings (labels), which by B.2.1.1 may span several lines.
The intent of a statement like:
FOR 'aaa' 'bbb' 'ccc'
is not to mean:
FOR 'aaa' 'bbbccc'
but that is what these rules appear to say.
Proposed solution: Change B.2.1.4 so that strings are concatenated by the use of a `+' between them. Thus the example within that clause would become:
'This is a string which is' + - this comment does not affect anything 'continued on another line'
Although this is an incompatible change, it should not affect many DFDs, since the need for such continuation should be rare.
Problem:
Briefly put, ISO 2022 multi-byte user delimiters are:
Proposed solution:
Deprecate the use of ISO 2022 multi-byte user delimiters.
Back to FAQ Contents
Last modified: Tue Aug 26 17:03:11 BST 1997