home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Education Master 1994 (4th Edition)
/
EDUCATIONS_MASTER_4TH_EDITION.bin
/
files
/
educmath
/
geod
/
geod.doc
< prev
next >
Wrap
Text File
|
1993-06-04
|
29KB
|
630 lines
1
GEOD
USER'S MANUAL
version 1.1
(c) Copyright 1992-1993
H. S. Aurand
All rights reserved
4 June 1993
GETTING STARTED
If you are viewing this document on the screen of a personal computer,
you have already decompressed GEODLHA.EXE to obtain the GEOD.DOC which
contains this manual. You probably have done this by executing the
installation file, INSTGEOD.EXE. In any event you should have the
following files in a single directory.
INSTGEOD.EXE Installation file
GEODLHA.EXE Self-extracting compressed file containing:
GEOD.EXE
GEOD.MSG
GEOD.MIX
GEOD.DOC User's Manual (this file)
README.DOC Shareware information
VENDOR.DOC Vendor Information
FILE_ID.DIZ BBS Information
If these files are not present in a desired directory, you should
install them in such a directory as follows:
Place the GEOD distribution disk containing INSTGEOD.EXE and
GEODLHA.EXE in a floppy drive. If the letter for that drive is n,
type n:instgeod <Enter>. Answer the questions (there may be only
one), and you will be at the initial GEOD screen. Please read the
information there. Then press any key, and you will be at a screen
that permits input and execution as described in this document. At
any menu the different help screens and the background and explanation
screens that make up this document can be viewed by pressing F1 or F8
respectively. If want to save disk space you may delete all but
GEOD.EXE, GEOD.MSG and GEOD.MIX, but be sure to have INSTGEOD.EXE and
GEODLHA.EXE saved on a backup floppy disk.
2
GEOD - BACKGROUND AND EXPLANATION
GEOD is a program to solve shortest-distance (geodetic) lines on an
ellipsoidal earth. It also compares these results with three
different spherical earth solutions.
Standard ellipsoids stored and used in the program are the Bessel-
Encke(1852), International or Hayforth (1910) and Clarke (1866).
Other ellipsoids may be entered and used. Also several different ways
are provided to calculate the earth's mean radius for these
ellipsoids.
Different units may be specified for length and are changed
automatically throughout the program. Those available are meters,
kilometers, feet, statute miles and nautical miles. Nautical miles
have no standard definition. A value of 10800 feet is used in this
program.
There are seven variables that are defined by a line between two
points on the earth's surface - the latitude and longitude of one
point, the latitude and longitude of the other, the distance between
them and the azimuths of the two points from each other. Four of
these variables must be specified in order to solve for the other
three.
Of the several cases that ensue, the two most interesting, and the
ones solved by this program, are the vector, wherein a point and the
distance and azimuth to the other are specified, and the inverse,
wherein the two points are specified and the azimuths and distance
between them determined.
In addition to single solutions for each of these two cases, there is
another mode in which multiple solutions are provided for the vector
case only. In this mode the distance or the azimuth can be varied
between two values in specified increments. Output to a printer can
also be provided.
Comparisons with three different spherical solutions are made in the
single solution case. In the first, the geodetic latitudes are used
as they are specified. This is called the geographical solution. In
the other two, the specified geodetic latitudes are altered before
calculation. After calculation the inverse alteration is performed on
a calculated latitude. These two cases are called the geocentric and
reduced respectively.
In the geocentric spherical solution a latitude is changed to one
specified by a line running from the center of the meridional ellipse
to the point. In the reduced spherical solution a latitude is altered
by reducing it in accordance with a geometrical construction used in
calculating the meridional ellipse.
3
It is beyond the scope of this brief note to explain and justify these
methods of calculation, but the user can run the program and see that
by altering the latitudes in the geocentric and reduced spherical
calculations a closer approximation to the geodetic line can often be
achieved. To understand this and other aspects of geodetic
calculations, the user is referred to a general text on geodesy such
as "Geodesy", G. Bomford, Oxford, 1971.
The author is not schooled in geodesy, but is an engineer. On
occasion I have had the need to calculate geodetic lines. In
reviewing the literature, I found that the several formulas were
predominately special purpose approximations that minimized
computational effort, but could be used only for limited ranges of
distance. Before the advent of computers this is understandable.
However, I also noticed references to Helmert's method. These
references stated that his solutions could be made as exact as desired
for any distance, albeit at the expense of computational effort. I
found this to be so in his book, "Die Mathematischen und
Physikalischen Theorieen der Höheren Geodäsie", F. R. Helmert,
B. G. Teubner Verlagsgesellschaft, Leipzig, 1880, republished by
Minerva GMBH Frankfurt/Main, 1962.
This book contains an elegant solution for the vector case which
relies on strongly convergent series and is ideally suited for use on
small computers. Helmert's solution for the inverse case not only has
this feature, but uses a strongly convergent iteration. The
algorithms looks like they were developed with computer solutions in
mind! Helmert's methods are used in this program.
Helmert also addresses the case where the two points are antipodal or
near antipodal. The results are counter-intuitive. In the vector
case the locus of points having a constant geodetic distance is not a
continuous curve around the antipodal point, but has four well-defined
cusps. This can be clearly seen by using the multiple solution case
varying the azimuth from 0° to 90° with a value of eta of .5. In the
inverse case there are two solutions for the geodetic line for the
near antipodal case. In this program only the shorter is calculated
and displayed.
There is another counter-intuitive aspect of the geodetic line on an
ellipsoid that should be mentioned. In general the geodetic line is
not contained in a plane containing the vertical at one end point and
the other end point. Such a plane does not even contain the vertical
at the other end point (as does a great circle on a sphere). In fact
the geodetic line is not contained in a plane at all. Beware, there
are other counter-intuitive aspects of geodetic lines. For further
explanation consult a geodesy text such as Bomford's.
In this program there are two levels of accuracy that can be selected.
The first, labeled Helmert, follows Helmert's book closely except that
fifteen significant figures instead of seven are used. The second,
labeled Helmert extended, in addition to this greater number of
significant figures, adds to the number of terms in his series,
4
decreases the epsilon at which iteration terminates in the inverse
case and adds an additional iteration to this case in which Newton's
Method is used to adjust for greater accuracy.
This program has been tested for accuracy in two ways. First it has
been checked against the examples given in Helmert's book. Second it
has been checked by running the vector and inverse cases sequentially
and observing the change from the initial values. In this particular
attention has been paid to singular cases such as polar and antipodal
ones. Nevertheless, bugs and mistakes are bound to slip through.
This version, 1.1, is a considerable improvement in this regard to
version 1.0 which saw only limited release. The first registered user
who reports a non-trivial bug or error will be provided with a free
upgrade.
This program is written in Microsoft C, version 6.0. Double precision
is used for all calculations. These have been encapsulated in a few
functions separate from the user interface. Copies of the source code
can be licensed along with a mathematical explanation of the methods
used to extend the accuracy of the calculations beyond that given by
Helmert. For information please contact the author at the address
listed below.
Your comments, critique and suggestions would be appreciated.
Henry S.Aurand
734 Camino Catalina
Solana Beach, CA 92075
Telephone: 619-481-0781
5
EXPLANATION OF MENUS
MAIN MENU
Provides access to all other menus.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER.
The selections are:
Quit - Exits the program
Spheroid - Permits the selection of ellipsoids
Radius of sphere - Permits choice of several means for determining
the radius of an approximating sphere used in
calculating spherical solutions
Units - Permits the selection of the units used for the
ellipsoid axes, distance and spherical radius
Accuracy - Permits the selection of Helmert or Helmert
extended accuracy along with selection of the
epsilon for error termination and maximum number
of iterations
sIngle execute - Goes to Single/Input Output Menu where data can be
entered and a solution obtained for either vector
or inverse cases
muLtiple execute - Goes to Multiple Input/Output Menu where data can
be entered and solutions obtained for the vector
case. Azimuth or distance can be varied in steps.
Output is to the screen and may be sent to a
printer
Zero variables - Zeros all seven input/output variables. Does not
affect ellipsoid parameters
View descriptive information - Displays several pages of background
6
Keys which operate at all menus are as follows:
F1 and H - Help
F2 - Go to single execution input/output menu
F3 - Go to multiple execution input/output menu
F4 - Go to spheroid menu
F5 - Go to radius of approximating sphere menu
F6 - Go to units menu
F7 and Z - Zeros variables. Zeros all seven input/output variables.
Does not affect ellipsoid parameters. Z is only effective
in the two Input/Output menus.
F8 - View descriptive information. Displays five pages of
background
F9 - Go to Accuracy menu
7
SPHEROID MENU
Permits the selection of different spheroids.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER.
Quit - Quits program
Main - Return to Main Menu
Radius of sphere - Goes to Radius of Sphere Menu
Units Menu - Goes to Units Menu
Single Execute - Goes to Single/Input Output Menu where data can be
entered and a solution obtained for either vector
or inverse cases.
muLtiple execute - Goes to Multiple Input/Output Menu where data can
be entered and solutions obtained for the vector
case. Azimuth or distance can be varied in steps.
Output is to the screen and may be sent to a
printer
Bessel - Changes to the Bessel standard ellipsoid
haYforth - Changes to the Hayforth standard ellipsoid
Clarke - Changes the Clarke standard ellipsoid
Other - Permits direct entry of semimajor and semiminor
axes of any ellipsoid
8
RADIUS OF SPHERE MENU
Permits the selection of the radius for the approximating sphere.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER.
Quit - Quits program
Main menu - Return to Main Menu
Spheroid menu - Goes to Spheroid Menu
Units Menu - Goes to Units Menu
Single execute - Goes to Single/Input Output Menu where data can
be entered and a solution obtained for either
vector or inverse cases
muLtiple execute - Goes to the Multiple Input/Output Menu where
data can be entered and solutions obtained for
the vector case. Azimuth or distance can be
varied in steps. Output is to the screen and
may be sent to a printer
Geometric mean - Sets the radius of the approximating sphere
equal to the geometric mean of the axes of the
ellipsoid used
Equal volume - Sets the radius of the approximating sphere
equal to that of a sphere having the same volume
as the ellipsoid used
Equal area - Sets the radius of the approximating sphere
equal to that of a sphere having the same
surface area as the ellipsoid used
Other proportional - Sets the radius of the approximating sphere
equal to c * a0 ^ rho * b0 ^ (1-rho). c and
rho must be entered. a0 and b0 are the
semimajor and semiminor axes respectively of the
ellipsoid used
Enter - The radius of the approximating sphere is
entered by the user
9
UNITS MENU
Permits the selection of units for all distance variables and
parameters.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER.
Quit - Quits program
Main menu - Return to Main Menu
sPheroid - Goes to Spheroid Menu
Radius of sphere - Goes to Radius of Sphere Menu
Single Execute - Goes to Single/Input Output Menu where data can be
entered and a solution obtained for either vector
or inverse cases.
muLtiple execute - Goes to Multiple Input/Output Menu where data can
be entered and solutions obtained for the vector
case. Azimuth or distance can be varied in steps.
Output is to the screen and may be sent to a
printer
When one of the following is selected, the units for all variables and
parameters are changed to the value selected.
Kilometers
Nautical miles
Statute miles
mEters
Feet
10
SINGLE INPUT/OUTPUT MENU
Permits the entry of input and displays output for a single solution.
The display indicates whether the calculation is vector or inverse as
well as the spheroid, the units, the radius approximation and the
accuracy used. In the inverse case the number of iterations required
is also shown and if extended accuracy is used the number of
iterations for this purpose is also shown.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER. When you make a selection requiring input of an angle,
you must press ENTER after each entry to the "deg?", "min?" and "sec?"
prompts. For latitude an "n" or "s" and for longitude a "w" or "s"
are required to complete the entry. If out of range entries are made,
the display so indicates. To return to inputting press any key.
Quit - Quit the program
Main menu - Return to Main Menu
mUltiple execute - Goes to MULTIPLE INPUT/OUTPUT MENU
Type of calculation toggle - Toggles between vector and inverse
calculations
Go - Performs calculation after input data
has been entered. The results are
displayed alongside the selections and at
the bottom of the screen. The computed
results of the three spherical
approximations are compared with the
ellipsoidal results. See the Main Menu
selection, "View descriptive
information" or press F8, to see an
explanation of these approximations.
In the following you are permitted to enter only the variables needed.
1 Enter Lat1 - Enter the latitude of the first point
2 Enter Long1 - Enter the longitude of the first point
3 Enter Lat2 - Enter the latitude of the second point
4 Enter Long2 - Enter the longitude of the second point
5 Enter Az1,2 - Enter the azimuth, clockwise from north, of the
second point from the first
6 Az2,1 - Azimuth, clockwise from north, of the first
point from the second. Never can be entered,
results of calculation only are displayed.
7 Enter distance, s - Enter the distance between two points in the
units shown
11
MULTIPLE INPUT/OUTPUT MENU
Permits the entry of input and displays output for a range of
solutions.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER. When you make a selection requiring input of an angle,
you must press ENTER after each entry to the "deg?", "min?" and "sec?"
prompt. For latitude an "n" or "s" and for longitude a "w" or "s"
only are required to complete the entry. If out of range entries are
made, the display so indicates. To return to inputting press any key.
Quit - Quit the program
Main menu - Return to Main Menu
Units - Goes to Units Menu
Single execute - Goes to SINGLE INPUT/OUTPUT MENU
Variable toggle - Successively selects Az1,2, distance and distance
parameter, eta, to be varied
Go - Calculates vector case in accordance with beginning,
ending and difference variables entered. Outputs
the results below these and scrolls the display up
as required. Outputting can be stopped for viewing
by pressing any key except ESC. Pressing any key
except ESC will resume outputting. Pressing ESC
will return to the menu
12
In the following you are permitted to enter only the variables needed.
If selected,
1 Enter Lat1 - Enter the latitude of the first point
2 Enter Long1 - Enter the longitude of the first point
3 Lat2 - Latitude of the second point
4 Long2 - Longitude of the second point
5 Enter Az1,2 - Enter the azimuth, clockwise from north, of the
second point from the first. No entry permitted
if you are varying this azimuth
6 Az2,1 - Azimuth, clockwise from north, of the first
point from the second. Cannot be entered,
results of calculation only are displayed
7 Enter distance, s - Enter the distance between two points in the
units shown. s and eta cannot be entered if you
are varying either.
8 Enter eta - Enter this dimensionless parameter, called
offset ratio, that sets distance. Used
primarily for antipodal or near antipodal cases.
When eta is 0, the distance, s, is set at pi
times the semiminor axis, b0. When 1, s is set
at pi times the semimajor axis, a0. When .5, s
is set to the average of these two values. This
is just slightly smaller than the meridional
distance from equator to equator. The correct
value for this distance can be determined using
the inverse case of the single input/output case
9 Print toggle - When "on" outputs to standard printer in the
same format as the output to the screen.
In the following, input is made to a variable determined by the
Variable toggle set above. The three types are: Az1,2, distance and
offset ratio.
A Enter starting (variable name)
B Enter ending (variable name)
C Enter delta (variable name)
Pressing F7 or 'Z' zeros the seven variables, but not the ellipsoid
parameters
13
ACCURACY MENU
Permits the selection of variables that affect the accuracy of
calculations.
Use the highlighted and capitalized letter key or move the pointer
using the up and down arrow keys to the selection of your choice, then
press ENTER.
Quit - Quits program
Main menu - Return to Main Menu
sPheroid - Goes to Spheroid Menu
Radius of sphere - Goes to Radius of Sphere Menu
Units menu - Goes to Units Menu
sIngle Execute - Goes to Single/Input Output Menu where data can be
entered and a solution obtained for either vector
or inverse cases.
muLtiple execute - Goes to Multiple Input/Output Menu where data can
be entered and solutions obtained for the vector
case. Azimuth or distance can be varied in steps.
Output is to the screen and may be sent to a
printer
Accuracy toggle - Toggles between Helmert's method and extended
accuracy achieved by extending his series and
adding a Newton's Method approximation in the
inverse case. Resets the epsilon used in
terminating iterations in the inverse case. Uses
1.0e-9 for Helmert and 1.0e-15 for Helmert extended
accuracies.
enter Epsilon - Permits the user to select the epsilon used in
terminating iterations. Note that this value is
overwritten by the Accuracy toggle.
enter max inVerse iterations - Permits the user to select the
maximum number of iterations used in the inverse
case. Default value is 100
enter max inverse iterations for Newton's method - Permits the user
to select the maximum number of iterations used in
the inverse case when Helmert extended accuracy
is used. Default value is 100.