BPS - homeBPSCAD Workstation for surveyors

Graphic workstation useful for GIS - data acquisition. Awarded in 1992: "Kompjuter u obnovi Hrvatske" - first award, 'The Best in 1992' - special award (magazine Infotrend).
Specifications: speed search even on 286 based PCs (200000 points in a few seconds). Written in assembly and Quick Basic v 4.5.

User guide

Author's notes:
This software is a winner in '92. This is software mainly used for surveyors for collecting various spatial data.
     Also, it has great capabilities: almost without limit of data base - you can put more than million points in only one database. Also, when trying to get info on particular point, you have lot of additional data: point accuracy, date of creation, etc. It is simple: there exists only ~40 commands. Everything is made under GUI (Graphics User Interface). At the end: it is small: only ~250kB in one EXE file. No need for any setup (if you have VGA card).
     What about real 3D workstation? here is picture which presents typical GUI under BPSCAD-3D. To see this you'll need filters: left eye-red and right eye-green.


Abstract from ITI-94

16th International Conference on INFORMATION TECHNOLOGY INTERFACES which was in Pula - Croatia, June 1994



BPSCAD is program package especially designed for surveyors who have to collect and maintenance spatial data, and fill it into database as is LIS or GIS. Paper presents some other characteristics using: hardware, input/output units, software, database of spatial data, graphical presentation, tools and input/output procedures, checking data.

KEYWORDS: LIS, GIS, spatial data, database, data-gathering disciplines.


BPSCAD program package includes known surveyor's data gathering tasks.

Surveyors can get measured data directly by tape, theodolites, optical and electro-optical tacheometers with or without record modules, digitizers, stereo-instruments, etc. This originally measured data are collected in different time, units, format, accuracy and resolution. In the next step they collect or calculate recorded data in two- or three-dimensional (2D/3D) coordinates.

The fact is that every single terrestrial measured data costs and it is estimated. New automatic proceeding of collecting and generating spatial data don't eliminate all known surveyor's data gathering disciplines. Contrarily, in many cases it is required to join spatial data of different resolution (i.e. aerial photogrammetry and heterogeneous method's of terrestrial measurement; Messmer, Liechti 1988, Gruen, Kahmen, 1989, Kraus 1985).

BPSCAD can offer feasibility to create, collect and maintenance spatial data in different resolution in one digital database. The great part of BPSCAD is written in Microsoft's® Quick Basic (ver. 4.5).


As documented many times, any GIS project must have a well defined concept as to what it is trying to achieve (Tomlinson, 1991). Photogrammetry can offer much to further the growth and usefulness of GIS technology, but for successful land base creation, it cannot stand alone. At this point, it does not take much imagination to recognize the importance of joining all methods of surveyor's data collection. Surveyors, as specialists in spatial data collection, need skills and tools at hand in every places, and it is the most important criterion for developing this program package. This basic criterion follows other, as are:


Substructure of basic conception and developing BPSCAD are formed a series of specific characteristics of program package, in view of: hardware, software, database and maintenance spatial data in database.

3.1. The choice of IBM PC compatible computer

There are many factors why we choose IBM PC compatible computer. At first, this type of computer have open disk operating system (DOS) and well documented software approach. Second, a great percent of 'alive' computers in the whole world and also in our state, falls under this type. In addition, preference choose of this type are: good software support, peripheral devices and services.

BPSCAD optimally use all characteristics of this computer types, what can we see in fastness of maintenance and graphical presentation of database. Most of commands are finished in one or few seconds over databases which have about 100.000 points. So, under this operatibilities of program package, it is possible to create database of few millions points on 486 based PC-s.

3.1.1. Graphical presentation on computer screen

BPSCAD automatically uses the most achievable resolution of graphical adapter on computer's screen (CGA, MCGA, Hercules, EGA, EGA/MONO, VGA, SVGA, from 320*220 pixels to 1024*768; Petrovic, 1994).

3.1.2. Tablet digitalization

As we know, digitizer for tablet digitalization are in various type, format, accuracy and resolution. But, it is possible for every one to workout a particular calibration file. This calibration file in digitalization module is used for error compensation of an digitizer, which occurs and can be detected before. Some of other digitizer errors are eliminated by described method's of operator working (Petrovic, 1993). Until now BPSCAD supports following digitizers: Summagraphic and Cherry.

Module for digitalization automatically compensates digitized scale and angular deformation of original line drawing. For every orientation and for every later orientation of same original on tablet, digitized deformation are automatic stored in the same data file (Petrovic, 1993).

3.1.3. Speciality of drawings on pen-plotters

BPSCAD supports pen-plotters (with graphical plotter's language - GL/2) to draw databases. Also, as inverse digitalization method's in drawing module for compiling line drawing, operator enforce orientation procedure. First, he have to digitize plot-window and then (knowing plane coordinates) four reference corners, which are often a grid points on an original drawing. So, each coordinate of plotting area will be automatic compensated before plotting. In that way, it is possible to compile line drawings of heterogeneous planes, foto- copies, old maps, diagrams, etc.

3.1.4. Automatic input spatial data via standard serial interface (RS232-C)

Nowadays, modern surveyor's instruments have record modules to store digital and originally measured data (i.e. 3D-coordinates and relative coord- inates, 3D-distance, straights, angles, point feature, etc.), and with BPSCAD operator can automatically accept and store it into a database of spatial data.

Some of this instruments are:

3.2. Software's characteristics

BPSCAD is without installation procedure because it can automatically detect a type of graphical adapter (all graphics support is written under assembly language).

All operator's input in all modules are supported by template editor, which enables faster and easier data input (number, text, distance, angle, coordinate). Included default values are very important for input, i.e. absolute coordinates, where operator needs to update only a few last numbers of coordinate value.

Data in database of spatial data are compressed and this characteristic makes faster reading data into random access memory (RAM). For example, database of about 100.000 points takes only 2 Mbytes on hard disk.

3.2.1. Orientation of coordinate system

Orientation of 3D-coordinate system of graphical presentation on screen is like on map or any other geodetic plane on a wall. Also, orientation of clock- wise growth for horizontal angles and elevation are the same as most modern and elder surveyor's instruments (i.e. theodolites, plan meters, tacheometers, polar transporters, etc.) have.

3.2.2. About commands

Each command is executed if we press:

All programs in package have a small number of commands, which are easy to memorize. Until now that is the main reason for missing command menus. Other reason is speed: it is faster to press a key than to select something from a menu.

3.2.3. Screen cursors

All collected spatial data in database are measured or calculated data. In a goal of simulation measuring and calculating data in graphical presentation (ordered coordinate system, absolute or relative) there are two always present cursors (Fig. 1).

The first, bigger cross with a small circle in the center, which is position in numerical form is simultaneously displayed (in order: Yg, Xg and Zg absolute coordinates) on down-right corner on screen. Small circle indicates search area to find and put the first cursor on exact position of the nearest point. Operator can move the first cursor by mouse (or track-ball), or by executing adequate command: <F> - find point, <Ctrl><R> - input absolute or relative coordinates, <Ctrl><D> - input polar coordinates, etc.

The second cursor, smaller cross, indicates a central point of immediate local (rectangular or polar) coordinate system in which is always the first cursor. Immediate local coordinates of the first cursor are also simultaneously displayed on down-right corner of screen area, and all in order:

Yg, Xg, Zg, dYg, dXg, dZg - absolute and local coordinates;

Dh, Ha - horizontal distance and orientation angle;

Ds, Va - spatial distance and elevation.

Operator needs to press only two key to set orientation angle to zero. He can immediate move the second cursor to the position of the first, and change position in cubic quadrangle of the first cursor.

Screen View from BPSCAD

Figure 1: Screen-view of program package BPSCAD

The second cursor simulate a station's point on field work, and the first has a meaning of reflector or the other side of tape. With this two cursors operator can easy manually input and check spatial data, which are collected on the field (tacheometers data, orthogonal method, direct measuring data by tape), calculate data (perimeter and area of closed and open polygon, verticals, divide distances, straights and crossed straights, constructions of quadrangle, etc.), create labels, polygons and polylines, define view windows, etc.

In Republic Croatia we can find a lot of old optical tacheometers (type DAHLTA, RDS, theodolites). With this program package in hand surveyor can create land base directly on site, and later a lot of line drawing in all needed different scale factors. We call this " digitalization in one to one scale factor".

In digitalization procedure, after operator finishes orientation procedure, he can see the third cursor as a small circle. Third cursor indicates digitizer's cursor. In the combination with first two cursors he can digitize and measure: distances, angles, coordinates, etc., with or without automatic recording digitized points. The same is for analytical stereo comparator, but in this situation the third cursor also has it's own Zg coordinate (digitizer's obviously not).

3.2.5. Disposition scale factors of graphical presentation

Scale factors for graphical presentation of spatial data on computer screen can define operator by two cursors in 3D-positioning and executing adequate command. In this case, two cursors present a limitation (corners of one spatial diagonal of cubic quadrangle) of new graphical window.

Knowing graphical adapter's resolution it is easy to define a similar scale factor in both plane direction (i.e. 1:1.000, 1:2.880, 1:5.000). But, different scale factor per each axis direction (for example: in Yg direction a few millimeters, Xg direction a few hectometers, in Zg direction a few meters) are often used in geodetic practice for graphical presentation of straight line aberrancy (i.e. building, rails, walls, profiles).

Also, there is a set of commands for: zoom in/out/all, move view window in free distance and direction, immediate window around the first cursor, etc.

3.2.6. Anaglyphic graphical presentation

Elements of unknown height (2D-elements) in database of spatial data are displayed only in white color, and 3D-elements are presented by two separated pictures of complement color (i.e. blue and red, Kraus, 1985). With adequate color filters, operator can easy get stereo-effect. In this method of stereo-effect operator can see graphical presentation of 3D-elements behind or in front of screen surface. Also, operator can see and can move two cursors in this 3D-space (Petrovic, 1994).

3.3. Characteristic of database and maintenance spatial data

Spatial data in an database are saved as entities of the most simple geometric shape: points and polygons (Brukner, M. et al., 1992). More complex entities in database are: centroids, objects and 3D-origins.

Centroid is defined by coordinates and text as label (up to 60 characters). As all other texts, label are printed on screen in fixed character's dimension. It can be placed in nine different positions from central point.

3.3.1. 3D-origin

Every point in database of spatial data is under joined 3D-origins space. One 3D-origin, likely one map sheet in defined scale factor, has following (created by operator): name, date of creation, smaller or greater number of points, unique plane resolution and separated height resolution.

All points in one 3D-origin has equal coordinate resolution. 3D-origin can go across each other by area coverage. Edges of 3D- origin are always parallel with coordinate axis and have as possible minimum dimensions so that all points are inside. If Z-resolution is equal to zero we have 2D-origin.

3.3.2. Accuracy of spatial data

Different resolution of height and plane coordinates, and different resolution of 3D-origins are very useful in geodetic practice. In a simple case, we can identify accuracy of spatial data with coordinate resolution. As we know, point accuracy (resolution) tell us about surveying method or data source (terrestrial measurements as are: orthogonal, tacheometer, calculated crossed straights or circles; modern instruments, digitalization, photogrammetry, etc.).

Superior accuracy of data can be achieved when we compare directly measured data with other methods of data collection. Knowing point coordinates resolutions it is easy to calculate accuracy of distances, angles, polygons.

From table 1, we can see that all collecting methods are based on procedure of digitalization under and before established data resolution. So, photos of JERS-1 satellite has resolution of 18 meters, ERS-1 25m, LAND SAT 50m

Table 1.: Area coverage of 3D-origins coordinates units (meter, inch) and coordinate resolution, and corresponds surveyor's methods of collecting data.

Width of area coverage (2*R*32767)

Coordinates resolution (R)

Max. possible coord. diff. of points in an 3D-origin (Y,X,Z)=W

Collecting methods of data

65.534 0.001 65.534 precise survey
655.34 0.01 655.34 instruments
786.408 0.012 786.408 directed meas.
6553.4 0.1 6553.4 terrestrial,
13106.8 0.2 13106.8 aerial photogr.
65534.0 1.0 65534.0 digitizers and
327670.0 5.0 655340.0 scanners
655340.0 10.0 655340.0 satellite
1966020.0 30.0 1966020.0 satellite

Photos, scene series 60 m and 15 m (Oluic, 1991) digitalization of map sheet in scale 1:500 to 1:5.000 will be under resolution 0.1 to 5 m, echo sounders gives data resolution from 0.1 to 1 m; GPS, electro-optical tacheometers, level, tape: from one millimeter to few centimeters, etc.

3.3.3. Polyline procedures

All points in an database have identity (ID) as two numbers. The first is a record number of an point, and the second is record number of it's 3D-origin.

We can connect point into polyline regardless record number or 3D-origins ID. There are a several way to do this:

- join one by one point on screen by the first cursor;

- by loop in only two step; continuous joining from one record number to another record number. It is a very useful join method because surveyor in same way collects series of points, i.e.: building lines, areas, parcels, highways (edge lines or profiles), installations, etc.

- in a combination with digitized points on tablet, or with some other surveyor's instruments for automatic record spatial data;

- in a combination with already created and saved polylines.

We can display polyline calculations an screen as are: area (as calculation of an defined integral, perimeter, number of polyline's point, center of polyline gravity. By polyline calculations we can also: print to file a list of staking out elements, check manually input tacheometers data, make other output (ASCII) lists, calculate crossed straights, divide distances in defined ratio, in easy way create grid lines, etc.

3.3.4. Input/output procedures

A great number of points we can input by ASCII data files, which we have to prepare: convert in binary format and calculate boundaries. This binary files of collected data, we can directly view on screen. To import data we need to select 3D-origin, separately cubic quadrangle space, and execute adequate command.

It is possible to join more databases in a new one and it is a way to activate more work field groups. Work areas in geodetic practice are separated in existent and defined map sheets, but it is better way to separate by model- areas, group of parcels, countries, stream areas, catch basins, etc.