2.1.3 UNIX
UNIX is the only standard multiuser multitasking
operating system that runs on different hardware
platforms from PC's up to super computers. The
UNIX workstation plays an important role in
engineering applications. It delivers minicomputer
performance to the desktop and is as easy to use as a
PC. Any Software application, written under UNIX
can run on any UNIX platform.
PC based UNIX systems will be a fast growing
segment of the UNIX market. AT&T licensers resell
the generic 386 code adding different features to the
system. UNIX operating software is available from
Interactive Systems or Santa Cruz Operation (SCO)
for example.
From my point of view, it is out of question that a
software development for photogrammetric
applications under UNIX is worthwhile and will be
an investment in the future.
2.2 STANDARDS FOR DEVELOPING END
USER PRODUCTS
Software developing means writing the source code
including the algorithms and calling of library
functions for user interfaces, and graphic output or
data base management facilites in a high level
language like C or FORTRAN. The compiler outputs
the object code. The linker has to organise the
adresses of each different software module and to
connect the called up libraries.
Languages like FORTRAN are designed for
mathematical-engineering problems where as C has
more advantages for hardware access. But today,
mixed language programming can combine the
features of languages. Including an interface in the
calling modules is necessary for correct access to
variables of different types.
Designing own application libraries guarantees a
redundancy free code and is easy to handle for a
programming team. Some discipline is necessary to
cooperate with the complete group, but the costs of
higher development quality will turn out to be a good
investment.
Graphic applications can be written device
independent by using libraries compatible to the GKS
or PHIGS standard. The software is thus easily
portable to other hardware platforms. Using
standards like this makes documentation of interfaces
and calling procedures unnecessary.
In 1987, IBM published a unique System Application
Architecture (SAA). SAA consists of four
componets:
e Common User Access (CUA) for the end-user
interface,
o Common Programming Interface,
»« Common Communications Support and
oe Common Applications for connectivity and
transportability of applications across the entire
line of hardware and operating systems.
This publication resulted in a unique end-user
interface for all alphanumeric shells as well as
graphic user interfaces. Everyone who is talking
about SAA standard, probably has in mind the CUA.
But a lot of toolboxes for high quality looking
interfaces like OSF/Motif for UNIX platforms or
Formation on the PC and UNIX are existing today.
Using these toolboxes is the only chance to write
high quality software with acceptable effort.
3. DESIGN OF A CLOSE RANGE SOFTWARE
PACKAGE
3.1 THE PHOTOGRAMMETRIC DATA BASE
Modern data base management programs allow
access to the designed data base from different
application programs by using an interface on the
programmer's level. Therefore, it is possible to
manage the complete data base with a data base
management tool in the background. This results in a
redundancy free data base with fast and secure
access. Software development in a team will benefit
from this standardisation. Today there is no
consequent handling of this concept, but future
developments have to take care of existing standards
in order to reduce development time.
In close-range applications, there are approximate
values of photo positions worthwhile for preparing
huge orientation jobs and some algorithms even
request these values. The access to camera data is
given by the camera number. According to this
number, the values for fiducial marks or réseau
crosses are stored. The photo number gives the
relation to the image measurement. The point number
here points to the coordinates in the data set for point
coordinates. Special coding is referring to the image
coordinate system. The bundle adjustment program
needs the input of weighted additional observations
and results in object coordinates and improved image
coordinates including some statistics. Further
processing of the image material gives graphic
information. Compiling the internal graphic format
results in standard data file formats for interchanging
data with further processing programs (Fig. 1).