1. Introduction

The LAS 7.0 Programmer's Guide provides the programmer with the necessary reference material and knowledge for developing transportable LAS software. It should be emphasized that there are many differences between the development of transportable LAS software (Version 5.0 and subsequent versions) and the development of VMS specific LAS software (prior to Version 5.0). The changes were implemented in order to provide transportability, flexibility, and the ability to easily maintain the software.

The guide is organized in sections that allow for additions which may come at a later date. Topical areas discussed include standards involved, general conventions, descriptions of file formats, compiling and linking an application, and support routines.

Several sections are devoted to outlining the standards for all software that is released under LAS. Whether the software is written in C or FORTRAN, adhering to the guidelines provides increased portability, maintainability, and readability. In addition to the normal standards, there are LAS-specific guidelines which are also necessary. Documentation standards by the user and programmer should be followed. In order to maintain cohesiveness in a software system, development procedures must adhere to the standards presented in this document. Along with the standards for software development and documentation, the reference material includes various descriptions of file formats for the image and its associated files. In order for processes to flow from one module to the next, the formats must be consistent and contain all the necessary fields for automated processing. In the development of the image and associated files, development efforts included the creation of support routines. These routines are individually documented and should be reviewed closely to avoid redundant code development and to improve development time. This document also contains examples in both C and FORTRAN, showing the programmer how to compile and link an application module in the UNIX environment.

LAS 5.0 was developed by EROS Data Center (EDC) and Goddard Space Flight Center (GSFC) jointly. New development and maintenance (LAS 7.0) is currently done only at EDC. In order for this to be a cohesive system, a mandatory software checklist as well as a systematic software development procedure have been implemented.

1.1 References

1.1.1 "C"

Kernighan, Brian W. and Dennis Ritchie, The C Programming Language, Bell Laboratories, Murray Hill, New Jersey, 1978.

Also consult the Programmer's Reference Guide for the C compiler that is currently being used.

1.1.2 FORTRAN

Metcalf, Michael, Effective FORTRAN 77', Oxford University Press, New York, N.Y., 1985.

Consult the Programmer's Reference Guide for the FORTRAN compiler that is currently being used.

1.1.3 GCTP

Clarie, Charles N., State Plane Coordinates by Automatic Data Processing, Publication 62-4, U.S. Department of Commerce, Environmental Science Services Administration, Coast and Geodetic Survey, United States Government Printing Office, Washington, D.C., 1973.

Software Documentation for GCTP General Cartographic Transformation Package, U.S. Geological Survey, National Mapping Division, May 1982.

Snyder, John P., Map Projections --A Working Manual: U.S. Geological Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United States Government Printing Office, Washington, D.C., 1987.

1.1.4 TAE

Application Programmer's Reference Guide for the Transportable Applications Executive (Version 1.4), Century Computing, Laurel, Maryland, March 31, 1987.

Internals Manual for the Transportable Applications Executive (Version 1.4), Century Computing, Laurel, Maryland, March 31, 1987.

Systems Manager's Guide for the Transportable Applications Executive (Version 1.4), Century Computing, Laurel, Maryland, March 31, 1987.

User's Reference Guide for the Transportable Applications Executive (Version 1.4), Century Computing, Laurel, Maryland, March 31, 1987.

Utilities Reference Guide for the Transportable Applications Executive (Version 1), Century Computing, Laurel, Maryland, March 2, 1983.