WPC' 2B?X Z1|H67cpiLine Printer 16.67cpiTmsRmn 12pt (AD)TmsRmn 12pt Italic (AD)HP LaserJet Series II (Additional)HLSEIIAD.PRSH H@;,t0u'm@2:'J 1|HLine Printer 16.67cpiTmsRmn 12pt (AD)SILC89.PRSH H@;hhhh[@ R20 8X.j.CourierTimes RomanTimes Roman ItalicTimes Roman Boldtk+HHH,ũH H@;@3 7tC4,BXt\  PZQXP45pC4,'Xp*f9 x#QXX37tC4,?Xt4  pBQX"m,^4@@d0LLd0@0ddddddddddd88dĘ|HXxlĘ@d@dd0dlXld@`l84h8llllLL@l\XXXdddddddd00000xxxdldddddИXddddH8H8H8H8lllllllllXdlllXlxldddXXXXldddd``````llHHH8HXh888xx8llllllLLLlLlLlLlL@@@llllllĈXXXXl8lLlL@XXlllNxdxxd@ddddxdHHdxxxxxxxxdxdxmxxxdxxxxxxxxxxxxxxxx@xxxddddxnnѐ~nyRzczXzcyhCBnndhcnnonvyXzXshn~XyBBnss~|y~~~~~~~~~~~~~~~~~~~XXXXXXXyyyyyyyyyyyyyyyyyyyyBBBBBBBBBBBBnnnnnnnsssssssssssszCCn"m,^4Robert Lazar Y89U.S. Geological Survey 8;526 National Center  X [89Reston, Virginia 22092 ă  X 48@ ABSTRACT ă The Spatial Data Transfer Standard (SDTS) was approved as Federal Information Processing Standard (FIPS) 173, effective February 1993. Federal agencies and geographic information system vendors currently are developing SDTS encoding and decoding capabilities. A program is being developed to test encoders and decoders for conformance to the requirements of SDTS profiles. A series of test points will specify SDTS requirements that can be tested by software or by nonautomated methods. By certifying SDTS products, the conformance testing program will benefit both vendors and users of the SDTS.  X 8> INTRODUCTION ă Implementation of the Spatial Data Transfer Standard (SDTS) is underway. The SDTS was approved as Federal Information Processing Standard (FIPS) Publication 173 with an effective date of February 15, 1993 and is being implemented through profiles, which are limited subsets of the SDTS. Federal agencies and geographic information system vendors have been developing SDTS encoding and decoding capabilities for the first SDTS profile, the Topological Vector Profile (TVP). SDTS encoders and decoders will be developed for other profiles as the profiles are developed. To verify that SDTS data sets, encoders, and decoders conform to the requirements of SDTS profiles, a testing program is being developed. Testing will benefit data producers, data users, and system vendors.  X" C8; CONFORMANCE TESTING ă Conformance testing verifies the degree to which a product complies with a standard. The National Institute of Standards and Technology (NIST) sponsors conformance testing for many FIPS's. The Validated Products List, published quarterly by NIST, lists products that are found to be in conformance to FIPS's. Federal Government contracts for spatial computer systems may require that products comply with the SDTS and that they be on the Validated Products List.(0*0*0*ԌThe components of a conformance test, collectively called a test suite, consist of software, procedures, data sets, and documentation. The specific requirements of a standard to be tested are called test points or test cases (ISO/IEC 1992). The method to be used for the SDTS is called falsification testing. This method tests as many requirements of the standard as are feasible. The testing attempts to find errors that indicate nonconformance to the standard. If no errors are found, the product is considered conforming. Falsification testing cannot ensure complete conformance unless every requirement of the standard is tested. Conformance testing is performed by a testing laboratory. Testing laboratories for various standards include the NIST, as well as other Federal agencies, universities, and commercial laboratories accredited by NIST (Tom 1991).  X % 88 SDTS CONFORMANCE TESTING ă SDTS conformance testing will test conformance to a specific SDTS profile. Profiles are limited subsets of the SDTS, implementing only those SDTS options that are used for a particular type of data. Initial conformance testing will be for the first profile, the TVP. The TVP supports the transfer of vector data with geometry and topology. It significantly reduces the options in the SDTS to a level that is practical for the development of translators as well as for a conformance test. The procedure also will test some general SDTS requirements but will emphasize profile requirements. Three types of products can be tested in an SDTS conformance test: SDTS transfers, SDTS encoders, and SDTS decoders. SDTS Transfers SDTS transfers are the data sets used to exchange data between different spatial computer systems. SDTS transfers consist of a series of modules (the SDTS's logical grouping of related data) encoded into files using the International Organization for Standardization (ISO) 8211 standard, "Specification for a Data Descriptive File for Information Interchange" (ANSI 1986). Conformance testing of SDTS transfers will be implemented first because most testing of this sort can be done through automated techniques; the testing of SDTS encoders and decoders will require primarily manual techniques. Software will be developed to automatically validate the transfer against test points taken from SDTS and profile requirements. Software can perform numerous tests on the modules in an SDTS transfer. The SDTS defines 34 module types and is very flexible as to which modules are included in a transfer, what they are named, and what the ISO 8211 files are named. The TVP and other profiles restrict the use of module types; some module types are mandatory, some are optional, and some are not allowed. The profiles standardize the naming of modules and files. All of this can be tested(0*0*0* with software. Transfers that do not include required modules, do include prohibited modules, and do not follow the naming standards can be detected and declared nonconforming. Records in modules consist of fields and subfields. Subfields contain data such as numeric values or character strings. As with modules, the SDTS and its profiles place requirements as to whether specific fields and subfields are mandatory, optional, or not allowed. The SDTS and its profiles restrict the formats and values of particular subfields. In a few cases, specific values are required in subfields for all transfers. For example, the Standard Identification subfield must always contain "SPATIAL DATA TRANSFER STANDARD." More often, there is a restriction on the domain of values, either through an enumeration of specific values that are allowed or by a range of allowable values. For example, the Reference System Name subfield must contain codes for one of six coordinate systems specified by the SDTS; the choices are further limited to four by the TVP. Software can confirm that data values are correct and encoded using permitted ISO 8211 formats. Spatial objects are the digital representation of real world entities. The SDTS defines standard spatial object types. The selection of allowable spatial object types is restricted by profiles. For example, the TVP allows only vector spatial objects that contain geometry and topology; the Raster Profile allows only raster spatial objects. Some spatial objects are mandatory in a transfer, others are optional. Software can check to verify that required spatial objects exist and prohibited spatial objects do not. Records in different modules can be linked through foreign identifiers, pointers from a record in one module to a record in another module. For example, foreign identifiers are used to link spatial objects with attribute records and to encode topological pointers between different spatial objects. Software can verify that modules and records referenced by foreign identifiers exist. The topology encoded in topological pointers between spatial objects can be verified. Some SDTS and profile requirements cannot be verified automatically by software. The TVP requires a README file with a narrative containing specific information. The required data quality report is similar in that it often consists of a narrative that contains information specified by the SDTS and a profile. Verification of these requirements will require laboratory personnel to read the narratives and use documented test procedures to determine whether the narratives meet the requirements. SDTS Encoders An SDTS encoder translates data from a particular user data format and system into an SDTS transfer. Part of the validation of encoders is to validate the SDTS transfers produced by the encoder. A completely conforming SDTS transfer does not, however, necessarily mean that an encoder correctly translated(0*0*0* from the input format. It is possible for information to be lost or corrupted during the translation. For example, an encoder might not translate all spatial objects or it might change coordinates in such a way as to produce a correct SDTS transfer but not correctly represent the information in the input format. Other than the validation of the output transfer, validation of an SDTS encoder cannot be automated. Writing software capable of reading any input format and comparing it to the output SDTS transfer is not practical. Validation of an encoder requires an understanding of both the input data format and the output SDTS transfer and how data pass from one to the other. The conversion of spatial objects, attributes, and metadata from the input data format to the SDTS must be examined to confirm that information is correctly transferred to the appropriate SDTS location. The encoder will be required to complete a questionnaire that describes the input data format, lists implemented profile options, lists corresponding spatial objects in the two formats, lists the sources of information for each SDTS data element used, and describes data in the input format that cannot be converted to the profile being used. (Not all data in the input format can be required to be translated to the SDTS. Some data may not be supported by a particular profile; for example, a format might store the graphic representation of spatial objects but the TVP does not allow graphic representation to be included in a transfer. Other information may not need to be transferred if it is used internally in the input format and has no corresponding SDTS data element.) An encoder is not required to support optional aspects of a profile. For example, the TVP allows the optional use of label points, which are spatial objects that transfer information about text placement on a map. The input format may not have a corresponding object and thus the encoder would not use this TVP option. But if an encoder implements a particular profile option, the option will be tested and must be implemented correctly for the encoder to conform to the profile. The encoder must correctly implement all mandatory requirements of a profile. Prior to translation, the vendor will be required to display the data in the input format graphically or textually. Data in the input and output formats will be examined by conformance testing personnel to confirm that information is not changed or lost in the conversion to the SDTS. Data such as spatial object coordinates, counts of spatial objects, attribute values, metadata, and links between spatial objects and attributes will be examined to verify that they are correctly maintained in the translation. SDTS Decoders No automated process is practical for conformance testing of SDTS decoders because the output can be in any format and system. Testing is similar to that of encoders. The vendor will be required to complete a questionnaire describing(0*0*0* how SDTS spatial objects are converted into the output format and what is done with every SDTS data element. A decoder must be able to read any SDTS module required or permitted by the profile, but is not necessarily required to translate SDTS data to the output format if the data are not applicable to the output format. For example, a nontopological vector graphics system may ignore the topological pointers in a TVP transfer and still use the geometry information for spatial objects. The decoder must correctly support any profile options it claims to support. All simple spatial objects required or permitted by the profile must be read by the decoder and, "to the fullest extent possible in the output system, be converted to a corresponding object or equivalent information structures in the output system" (USGS 1993). The decoder must be able to read SDTS attribute modules and convert the contents to a data base table or other format usable by the output system. The linkages between spatial objects and attributes must be maintained. The decoder must be able to recover from errors in particular SDTS records, fields, or subfields. For example, if erroneous data are detected in a particular record and make it impossible to decode and process the record, the software should attempt to locate, read, decode, and process the next record. The vendor will have to demonstrate the use of the decoder to translate a set of test SDTS transfers that include different profile options. Data such as coordinates, counts, attribute values, metadata, and linkages will be compared in the input and output data to verify that they are correctly translated.  X l 82 BENEFITS OF SDTS CONFORMANCE TESTING ă Conformance testing benefits both vendors and users of SDTS products. It provides an independent means for software vendors and producers of data sets to verify that their products conform to an SDTS profile. It gives users of these translators and data confidence that the products they are purchasing conform to the profile. Problems involved with implementing new translators and obtaining data from new sources will be reduced. Conformance testing also will promote the acceptance and adoption of the SDTS as a practical standard. All data formats are susceptible to formatting errors caused by software errors, errors in the documentation of the format, and misinterpretation of the documentation. One system might write out a particular format with an error that causes the data to be unreadable by another system. Often the end user of a translator or data is the one who discovers a problem. As a large complex standard, the SDTS will not be immune to such problems but conformance testing can prevent many problems from reaching its users. #'0*0*0*  X 8? REFERENCES ă American National Standards Institute (ANSI), 1986, ANSI/ISO 82111985: Specification for a Data Descriptive File for Information Interchange, American National Standards Institute, New York. International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), 1992, International Standard ISO/IEC 10641: Information Processing Systems Computer Graphics and Image Processing Conformance Testing of Implementations of Graphics Standards, ISO/IEC Copyright Office, Geneva, Switzerland. United States Geological Survey (USGS), 1993, Spatial Data Transfer Standard Part 4 Topological Vector Profile, unpublished draft 7/13/93. Tom, H. 1991, A Plan for the Spatial Data Transfer Standard (SDTS) Validation Program, unpublished.