Magazine Review of COMPASS
The following review appeared in "Compass Points", a British caving magazine.
The author is named Wookey and I have included his e-mail address incase
you want to contact him. I have never met Wookey or corresponded with him
before the review was published, so this an unsolicited and unbiased review.
I have inserted a few comments of my own in the text. They are enclosed in
braces "{}" so they are clearly setoff from the rest of the text.
Also, Compass Points is a very fine caving magazine. It is published by the
Cave Surveying Group of the Brittish Cave Research Association (BCRA). Their
are lots of interesting of articles on technical topics like surveying and
cave radio. You can browse their Web Page at:
Compass Points
Home Page
Compass & WinCompass Review
(Note: This review is now many years out of date. The Windows version has
evolved far beyond the state it was in when this review was written. As a
result, I have removed the Windows portion of the review. The DOS version
has only had minor revisions, so I have left it intact.)
by Wookey
Email: [email protected].
Compass (the Cave Oriented Mapping And Survey System) has been around for
several years now, and is a popular package, having many testimonials from
thoroughly satisfied users. It was started 10 years ago on an Apple II to
help with the Groaning Cave (Colorado) mapping, and has since grown and moved
to DOS, thus giving it a wider audience. Now it is moving to Windows.
I will start by looking at the DOS version to give you an idea of the software,
and then take a look at the new Windows release, comparing it with WinKarst.
The most noticeable thing about Compass, compared to most of the other software
available is the quality of the documentation, and a general attention to
ease-of-use. To install you just run the self-extracting archive, then run
INSTALL.EXE which leads you through the source directory, destination directory,
which parts of the program you want installing (Minimum, docs, data, all
etc.), and what printer you have. It will also add itself to your path and
set an environment variable in your AUTOEXEC.BAT. (It got this slightly wrong
for my rather complex AUTOEXEC, but then so does much commercial software
so this is not a criticism). After a reboot, you just type CSHELL to start
the 'Cavers Workbench' and you are off.
The workbench is a shell which provides access to all the important sub-programs
which make up Compass. As a user you don't even need to know what they are
called. The display shows a file and directory dialog, along with help on
keys. At the bottom of the screen is an area summarising the data path from
raw data (.DAT) through closed data (.CLP) to plot files (.PLT) via optional
makefiles (.MAK) for very long caves. You can get a long way with this software
without reading the manual, but when you do it is a revelation. It is 400K
of text, only slightly padded out by a number of screenshots. This may seem
daunting but it is well set out and well written and generally lets you find
out what you need to know. It also goes to a lot of trouble to explain
terminology (both caving and computing) before using it. This, combined with
the fact that at any time (except when displaying a cave) the screen shows
you what keys you can use to do what, means that it is very easy to get results,
even if you aren't a computer expert.
The facilities provided by the software are good. There is a data entry editor
which works in units of surveys, i.e. you get given a list of the surveys
in a cave and pick one to work on (or 'NEW' if you want to create a new one).
For each survey you specify the name (up to 8 characters), the survey team,
date and declination. You then also set the units (meters, feet & inches,
decimal feet), data entry order, passage dimension order etc. The editor
itself does it best to guess the station numbers for you, although it always
assumes foresights so if you are entering leap-frogging data it is less helpful
than if it did nothing at all. In general this feature is quite handy though.
By default you get the 'WYSIWYG' entry editor which debuted in the last release
of Compass (see CP5). My major gripe was that hitting return at the end of
each line did not default to giving you a new shot; you have to press 'down
cursor' and then answer 'Y' to 'Do you want to enter a new shot' every time.
This sort of thing is the reason why I prefer to enter data straight into
a text file. Compass is quite happy to let you do this, as the files produced
are simple text files, except that each survey within a file is terminated
by a form-feed (12h) character. The editor doesn't really provide any error
checking, it is quite happy to take a negative tape reading or compass reading
of -700. It does give you the opportunity to convert data wrongly entered
in meters back to feet and vice versa. Once you have some data you hit F2
to close loops (although this step is optional), and then F3 to process the
data into a plot file. Both of these processes are very fast - about 1.5
seconds for the 273 station, 13 loop example cave provided. This speed is
achieved by doing sequential loop closure rather than simultaneous loop closure.
The author includes an appendix detailing the philosophy behind this approach.
His reasoning is that whilst closing loops simultaneously is correct in terms
of random error distribution around a network, it has problems with real-life
cave data. A real survey is likely to have good loops and bad loops, and
if the bad loops actually contain blunders, rather than random errors, then
you do not want to 'contaminate' your good loops with the errors from the
bad ones. Thus the software finds the loops first and then closes them in
order of error (either by percentage error or by magnitude of error - users
choice). Another advantage of the method is that it is very quick and uses
very little memory, as no big reduction matrix is needed.
This method will work well where there are adjacent pairs of loops, one of
which contains a blunder. It will work badly where there are no blunders,
however errors should be quite small in this case. It is not the 'best' solution
to the loop closure problem, but it is a reasonable one, which will be good
enough for most people/caves in most cases, and is very efficient in terms
of computing requirements. [The 'best' solution is probably blunder detection
and exclusion, followed by simultaneous loop closure. I intend to examine
the effects of different closure algorithms in a future article.]
Once you have a plot file you can either view it or plot it. The viewer uses
the concept of a reference window from which you pick an area of the cave,
a view angle and scale. Once this is done you can move the cave around the
screen, zoom in & out, switch between plan & elevation views, toggle
station labelling, colour legs by depth, colour by survey and find a survey
by cursor position. All this worked well and seemed to be effective in use,
although everything you did was reset by moving the cave view, so for example
you could turn off an obscuring survey by setting its colour to black, but
you couldn't then rotate the view for a better look, as the black survey
would reappear. It was quite quick (although I was using a DX2/66 and the
example cave is only about 2km long, so it ought to be). To deal with vary
cave sizes and computer speeds you can set how many surveys the machine draws
before checking the keyboard. Once set correctly for your machine, this allows
continuous (if rather flickery) rotation. CGA, EGA & VGA are supported,
and overall this is one of the more effective cave viewers, once you get
used to its approach.
The plot program has much of the functionality of the viewer, allowing the
same selection of the area, angle & scale of the plot. You can also specify
a number of attributes for each survey: whether it is plotted at all, and
what symbol is used to mark stations. There is a wide range of symbols, so
you can distinguish between the different surveys on the plot. This is a
very good idea.
The only noticable restriction of both the plotter and viewer is that of
only being able to show plan & elevation views, as opposed to view looking
up or down at an angle - very useful for caves in sloping beds. {The
viewer can now rotate the cave around two axes. This allows you to view the
cave from any angle.}
Configuration files for the usual selection of common printers are provided
- Epson, PCL laser printer/deskjet (75, 100, 150 & 300dpi), Proprinter,
Panasonic and BMC. The configurable printer strings mean that almost anything
should be usable. Facilities are provided to get accurate scaling, including
a test plot of a perfectly square cave 10 feet on a side! Plotter drivers
for HP and Apple plotters are also provided, as is a DXF exporter to deal
with other export requirements.
Compass is designed to work on a very basic system. If you just have the
basic files it takes up 188K, which means that it will run on single 360K
floppy system, with plenty of room for cave data. In order to deal with the
memory limitations of DOS it deals with big caves in chunks, where big means
more than 4000 stations or about 20 miles/32km. This is enough for many caves,
but not the ones that people really need computers for! Thus a method is
provided to deal with big systems - the data is broken down into 4000 station
chunks, each of which is processed in sequence. To do this it needs to know
the connecting stations between the old data and the new. To save you typing
this in every time you can create a makefile containing this data. As the
whole of the first lot of data is processed before the next lot is read in
then obviously the loop closure algorithm is compromised, but then something
has to give when you only have 640K and a 100km cave. I don't know of any
other survey software can manage unlimited cave size under DOS, although
Survex can (potentially slowly) for 386s or better by using virtual memory.
{The file size has been expanded to 5000 shots or 25 miles per
file.}
Another side effect of the sequential-data-processing design is that it can
only deal with a limited number of 'hanging' survey legs (500) before running
out of space. This means that some care has to be taken to ensure that data
is generally processed from a fixed point rather than in some other random
order.
{Hanging shots now get processed and purged periodically, which means
that you can have many more than 500 hanging shot per file. This means that
you don't have to be as careful about survey order. You just have to makes
sure there are no more than 500 hanging shot at one time.}
A number of other utility programs are provided. A couple to manipulate surveys
so that they are in optimal processing order and to find and reduce links
across survey blocks, one for displaying rose diagrams, and several for
translating data from/to SMAPS & KARST formats. It also has GIS features,
but I haven't the time or space to examine those here.
Compass is a very good example of a simple cave program taken a long way.
There seems to be no way of fixing points, or dealing with radio locations,
and not much concept of standard deviations or error values for data.
{COMPASS does allow you to create fixed stations or radio locations.
The author of the review missed this feature in the documentation.}
Nevertheless, it has excellent documentation, a simple user interface and
wide capabilities. It also achieves a lot with a small amount of computing.
It is certainly worth a look and you may well consider it to be worth the
asking price of $25.
|