High Accuracy Reference Network
(WS-HARN)
Wakulla 2 Expedition
18912 Glendower Road
Gaithersburg, MD 20879
Introduction:
From December 1, 1998 through March 1, 1999 an expedition was fielded to Wakulla Springs State Park, Florida by the United States Deep Caving Team, Inc. The purpose of the expedition was to create a three dimensional digital map of as much of the springs as possible during the three-month duration of the expedition. As part of this cartographic exercise a High Accuracy Reference Network (HARN) was established to provide absolute benchmarks within the cave through which all other map data could be statistically fitted. This document, the WS-HARN Manual, describes how both the HARN and cave map data were acquired and serves as a guide to understanding the detailed Excel spreadsheet which contains HARN positions, designations, and position uncertainty statements.
The 3D Map:
The data for the map were acquired using a 3D imaging wall mapper designed and manufactured by Cis-Lunar Development Labs, Inc. Briefly, this device uses a ring laser gyro inertial measurement unit (IMU) to track the position and attitude (orientation) of a cylindrical sensing package. The mapper was attached to the nose of a propulsion vehicle that was driven through the cave tunnel (at speeds averaging 52 meters/minute) by a suitably trained diver. A 32-point sonar array spirals around the outside of the sensing package and was used to make simultaneous distance measurements from the sensing package to the walls of the cave. The geometry of the sonar array is such that a complete cross section of a tunnel can be acquired at a rate of up to 12 times per second. As the vehicle moved through the cave tunnels a continuous stream of data was acquired which reflected not only the path of the vehicle (stored as a string of longitude, latitude, and depth measurements), but also the locations of the points on the walls of the cave.
Using simple geometric transformations, and a starting position, one can convert these raw data to more common land surveying coordinates such as the state plane, NAD 83 (e.g. NAD83 CONUS Easting, Northing, and Elevation, measured in meters), or the GPS WGS-84 ellipsoid. The Florida NAD 83 coordinate system is used in this document. The wall data, which will be published on an accompanying CDROM, comprise some 20 million data points which represent the true physical boundaries of A, B, C, D, F, L, K, and O tunnels within Wakulla Spring.
The sonar distance measurements from the mapping device to the walls are accurate to +/- 15 mm (based on tests performed in known geometry tanks). However, the position reported by the inertial measurement unit, even one that uses a ring laser gyro and high accuracy stabilized accelerometers, is subject to drift over time. The amount of drift (or positional error) depends on vehicle attitude rates (swift versus slow yaws, pitches, and rolls) and the smoothness of the trajectory (sudden stops and starts versus smooth continuous motion). Drift can vary from as little as 20 meters in a half hour (as measured at the National Geodetic Survey GPS evaluation course at NIST by tracking moving vehicles) to more than a kilometer over the course of a 2-hour mapping run when barrel rolls and hairpin turns were executed in B-Tunnel in Wakulla. Controlled calibration tests with the IMU installed in the Wakulla wall mapper showed that the drift tended increase over time in a particular direction (that is, that it was not random). This was used to advantage in the construction of the drift compensation algorithms that were embedded in the post-processing software.
IMU drift at Wakulla was corrected, and limited, in two ways. First, the High Accuracy Reference Network (HARN) was established within the cave to serve as a control grid for the map. The wall mapper was designed with this grid in mind and included a mechanism for the diver operating the mapper to signal the onboard computer that the vehicle was directly over one of these waypoints. It was then possible to perform traditional least-squares loop closure of the data between HARN points. Because errors tended to build uniformly with time (in the form of acceleration and velocity residuals) the mappers onboard clock (a highly precise one located inside the IMU) was used to provide auxiliary data to the least squares fitting routine. A second technique was also used at Wakulla to limit drift error. The IMU was equipped with a down-mode align feature that zeroed the residual accelerations and velocities that build up with time. The vehicle was required to be absolutely motionless for a period of approximately 35 seconds for this procedure. Ballast weights were carried on each mission for this purpose and the onboard software permitted the vehicle operator to command the alignment while underwater inside the cave. Typically this procedure was performed within sight of a known waypoint. As soon as the alignment was complete, the operator would then fly over the waypoint to register the data set to the HARN. Then, depending on the nature of the passage (relatively straight or highly sinuous) the operator could either continue to map over several successive waypoints, or choose to terminate a segment at the next waypoint and repeat the process. By segmenting the surveys, particularly on the longer missions in which a team might be "flying" for over an hour or more to reach the point where new terrain was to be mapped, the drift buildup was confined only to the section between waypoints. For this reason every mapping mission was preceded by a waypoint beacon setting mission during which the HARN points were established for the next segment of tunnel to be mapped. A HARN point, as described herein, actually consists of two distinct points: a permanent marked retroreflective buoy placed within the cave (at approximately 90 m depth) and a corresponding benchmark on the surface. While the elevations differed by the summation of the water depth and the surface elevation, the geographical coordinates (longitude and latitude) were the same for both points.
Magnetic Radio Location:
The Wakulla HARN consists of 38 points spread throughout the cave, generally at a spacing of approximately 300 meters in most tunnels. The exception to this is B-tunnel, which required spacings as close as 100 meters in some of its more winding sections. The Wakulla HARN was established using magnetic beacons (a special variety of cave radio) developed by Brian Pease. The beacons consist of a waterproof loop antenna approximately 1 meter in diameter and a waterproof electronics cylinder. When the device is turned on a magnetic field about the loop antenna is created and collapsed 3500 times per second. The axis of the field is perpendicular to the plane of the loop antenna and is coincident with the center of the loop. In actual practice the loop was equipped with an adjustable leg for leveling on the cave floor and with a circular, pressure-proof bubble level for determining when it was properly set up (leveled). The magnetic field generated by the beacon had no difficulty penetrating the approximately 100 meters of overburden water and rock at Wakulla. The determination of the longitude and latitude of the beacon inside the cave was then reduced to the task of locating the point where the magnetic field axis broke the surface. This job was accomplished using a directional phase-locked loop antenna receiver. Once the position on the surface was detected a labeled wooden stake was driven at that location. Most of the locations within the Wakulla Springs park boundaries also have metal pipes driven flush with the ground to serve as long term markers that can be located by metal detectors. However, since these temporary monuments cannot be expected to endure forever a series of surveys were conducted to establish exact NAD 83 coordinates for each HARN point, so that a qualified survey crew could, in the future, re-locate any of the points, regardless of whether the stakes remained intact.
Positional Errors and Uncertainty:
There are two classes of potential errors associated with the data presented in the Wakulla Springs HARN table. These are:
These two sources of error are uncorrelated and, lacking a physical stake at the ground break point (which will no doubt be the case 100 years hence unless permanent brass benchmarks are established), one would reasonably add these values through a root-mean-square summation. While the present reference stakes still exist and can be located only the first quantity is of interest (that is, the NAD 83 coordinates supplied in the table are merely reference values used to re-locate the original stake position).
Four types of instruments are described below:
For completeness, we provide below an error budget for each term. Each instrument and procedure had its own unique range of uncertainty.
Magnetic Beacon Surface-Fix Uncertainty:
There are five potential sources of error relating to the magnetic location method used at Wakulla Springs. These are:
1) Instrument (receiver) error: There is essentially no receiver error if the directional loop is "flipped" 180 degrees to create a "box" around ground zero (4 measurements). In practice, the box size varied from <0.1 meter up to 0.5 meter when the bubble level was out of adjustment, but one could still place ground zero in the correct spot. The Beacon loops are quite precise, giving an error in ground zero location of <0.25 meter at 90 meter (300 foot) depth when they were precisely leveled.
2) Beacon Leveling error: The submersible coils were mounted in a rigid, tubular registration frame which contained a pressure-proof bubble level. The center of the level contains a scribed circular mark. Tests of this system showed that if the bubble is split by the circular mark (that is, not completely centered), the tilt is 1 degree which results in an error of 0.5 meter in ground zero at 300 feet depth. This is a worst case potential error; divers reported that they were routinely able to center the bubble.
3) Ground Zero Location error: At 90 meter (300 foot depth), this error varied from <0.1 meter in the best conditions (no power line or atmospheric noise) to about 1 meter in the worst conditions. See the comment on "anisotropy" below.
4) Error caused by rock: The rock should have little effect on ground zero location accuracy at Wakulla, being flat lying and saturated nearly to the surface with water of similar conductivity. However, at depths greater than 76 meters (250 feet), "anisoptropy" was observed, which caused variations in the null "sharpness" as ground zero was approached from different directions. The cause is unknown, but is probably caused by vertical joints in the rock aligning in a particular direction. The effect is that there was always one Line-of-Position that was very precise and easy to locate, while the second (perpendicular) LOP often had a broad null making its location less precise.
5) In-Cave buoy error: The transmission loop antenna was, in all cases, leveled on the floor of the cave tunnel. However, to simplify later mapping, a buoy (a labeled 60 mm diameter x 180 mm long sealed tube wrapped with 3M Diamond Grade retroreflective tape) was positioned above the transmission coil. In large passage, the buoy was typically 3 to 4 meters above the floor to reduce silting; in small tunnels like B-Tunnel, it might be positioned 0.5 to 1 meter above the floor. In high flow, it is possible for the buoy to drift downstream of its anchor weight. This is not an error in magnetic location procedures or instrumentation, but, rather, a potential shift in the map registration when the computer was advised of a waypoint flyover. This is not considered to be a significant factor in any of the Wakulla waypoints because, in the main tunnels, the flow was quite slow and, in the smaller tunnels with higher flow, the buoys were typically located close to the ground..
The following represent estimates of the precision of the radio locations of ground zero for the Wakulla HARN points. These represent quantitative values associated with item 3) above. The other factors should be added as a root-mean-square summation in order to create an estimate for a worst-case uncertainty on the ground zero location.
|
Classification |
Radio Location Uncertainty of Ground Zero Point |
Conditions |
Applicable HARN Points |
|
|
|
|
|
|
"Best" |
+/- 0.1 meter |
Open field/forest; Clear skies |
A6, A4, A21, A20, A29, F2, A32, A30, A34, B10, A44, B7, B17, A45, B20, B15, SW:1 |
|
"Typical" |
+/- 0.5 meter |
Power or utility lines within 50 meters or significant atmospheric noise |
SW:0.3, D3, D1, B3, A12, B4, B13, B6, B5, A15 |
|
"Poor" |
+/- 1 meter |
Power lines, buried power cable or metal pipes within 15 meters; thunderstorms etc. |
A3, SW:0.5, SW:0.1, B1, B2, B8, A38, A39, SW:D2, SW:D4, SW:D6, C1, C2, C3, C4, C5, A2 |
Differential GPS (DGPS) Uncertainty:
Phase differential GPS uncertainty is calculated by the instrument in real-time using Trimble proprietary embedded software inside the 4800 RTK receiver. The horizontal and vertical uncertainties reported here are those appearing on the instrument at the time it acquired phase lock.
Phase Differential GPS (RTK-GPS) Uncertainty:
The USCG stated accuracy for the Egmont Key reference beacon is +/- 1.5 meters near the station plus 0.5 meters per 150 kilometers distance from the station. Wakulla is approximately 300 km from Egmont Key. Further, the roving receiver error (internal) presents an additional 1.5 meters of potential error. Thus, the total error budget anticipated under ideal conditions is +/- 4 meters. Data taken at Wakulla degraded from this ideal, depending on the amount of foliage. The error values listed in the Wakulla HARN table reflect the average of several hundred fixes acquired at each location.
Total Station Uncertainty:
The Leica TC-1100 manual of operation states an accuracy of +/- 3 parts in 100,000 ( +/- 3 mm in 100 meters) with an atmospheric propagation term of 5 parts per million (+/-0.5 mm in 100 meters). Actual calibration tests conducted at Wakulla Springs prior to commencement of field surveys showed the following closure accuracy over a 352248 mm (352 meter) triangular course:
|
Component |
Absolute Error (mm) |
Part Error |
Error (mm) per 100 meters of Survey |
|
|
|
|
|
|
Horizontal (Easting) |
5.5 |
1 part in 63562 |
|
|
Horizontal (Northing) |
4.8 |
1 part in 73082 |
|
|
Plan (Radial Error) |
7.3 |
1 part in 47957 |
|
|
Vertical |
10.6 |
1 part in 33315 |
|
The uncertainty data presented in the spreadsheet was calculated as follows:
Uncertainty = (Trimble 4800 Reference Uncertainty) +
(Total TC-1100 Distance [mm] from Reference) / Part Error
For horizontal measurements the radial part error of 1 in 47,957 was used. The uncertainties calculated in this fashion will necessarily be conservative since they presume a worst case directional bias that is always additive.
Survey Crews:
Garmin DGPS (5-meter) Fixes: Brian Pease
Trimble SE-4800: Brian Pease
Leica TC-1100: Bill Stone, Brian Pease, Bart Hogan, Tom Morris, and Pete Butt
Data Validation:
Wherever possible (almost all cases presented in the table) at least two methods were used to determine the location of a waypoint in the Wakulla Springs HARN. A Garmin DGPS receiver was used to establish a coarse fix (generally accurate to within +/- 5 meters) following the initial radio location of the subterranean beacon. These surveys were followed by more precise fixes established using the Trimble 4800 and Leica TC-1100 systems. A comparison of the differences between these data is presented in the right-most columns of the spreadsheet.
Coordinate Systems:
Horizontal coordinates are presented in NAD83 CONUS units of meters of Easting and meters of Northing. The primary surface control network was established using a Trimble 4800 RTK-GPS centimeter-precision site survey system. The master site benchmark is Wakulla-0, located atop the present dive tower. Wakulla-0 was directly referenced to the Florida State HARN point known as FLGPS14. The vertical datum for the RTK-GPS surveys was determined using the National Geodetic Survey GEOID96 model. A Garmin DGPS receiver was used to obtain rough initial benchmark fixes and to serve as a "reality check" for the Trimble 4800 and Leica TC-1100 data. The Garmin receiver used the DGPS reference transmitter located at Egmont Key Beacon (Tampa). Elevation data are not reported for the Garmin DGPS measurements due to high variability. Leica TC-1100 Total Station data were converted to NAD 83 coordinates compatible with the RTK-GPS data. See Appendix B of this document for the conversion procedure.
Station Types:
Surface Benchmark: a reference station on surface (no corresponding fix point inside the cave). These include both permanent (brass) benchmarks on the park property as well as auxiliary temporary benchmarks and traverse stations needed to establish the location of an in-cave radio beacon.
Temporary Buoy: survey control buoys set in Wakulla Basin for the purpose of registering the 3D survey. A total of seven buoys were set. All were removed from the basin after their positions were surveyed and the 3D mapping runs of the basin completed.
In-Cave Radio Beacon: a permanent retroreflector buoy with the designated station name located inside the cavern tunnel. A companion wood stake of the same name is located on the surface above the radio beacon.
Stations in bold type with green background have a 300 mm steel pipe buried under the wood stake [for magnetic location]. All in-cave beacons are high-lighted in purple Elevations listed here correspond to the GEOID96 elevation of the point on the surface where the radio beacon transmission axis penetrated the surface; both surface and in-cave markers have the same Easting and Northing coordinates).
GENERAL
Radio location was used at WakullaSprings to establish a network of precisely known points in the underwater cave system that will be used to correct for errors caused by drift in the Wall Mappers inertial navigation system. Low Frequency Magnetic Induction Beacons placed in the cave during exploration were precisely located on the surface using special receivers. These new points were tied into the growing cave map by precise overland survey back to a reference marker at the Spring Pool. The Radio location equipment has been successfully tested at a depth of 90 meters (300 feet).
HISTORY
Low Frequency Magnetic Induction "Cave Radios" have been used for more than half a century to precisely Radio-locate "Ground Zero" points on the earth's surface lying directly above Beacons placed at key spots in dry cave passages. The main use of Cave Radio is to double check/correct the in-cave survey and to precisely align the survey with the surface topographic map. Specific Ground Zero points have been used to create new cave entrances; by tourist cave operators to drill elevator shafts; and by farmers to drill wells to tap the water in underground pools.
HOW MAGNETIC INDUCTIONWORKS
At Wakulla Springs, the antenna of the underwater Beacon consisted of a ring-shaped loop of wire lying flat on the floor of the passage and precisely leveled. A simple battery powered circuit forces several amperes of alternating current through the loop at a frequency of about 3500 cycles per second (Hz). The magnetic field looks like the field produced by a classic "bar"magnet standing on one end. The field directly above the Beacon is exactly vertical.
The Receiver uses a similar sized loop to detect the magnetic field that reaches the earth's surface. In use, the Receive loop is held vertically and slowly rotated to find the direction of weakest signal (the null). Ground Zero lies along the Line-of-Position (LOP) passing through the plane of the loop. If the operator moves some distance perpendicular to this LOP, a second LOP will be obtained which crosses the first directly over the underground Beacon. As this intersection is approached, the operator will soon arrive at a point where the Beacon signal nulls in all directions with the Receive loop held precisely vertical with a bubble level. This is Ground Zero.
The receiver has a calibrated digital readout of signal strength which allows approximate determination of the depth of the Beacon by any of three different methods. This feature is very useful in dry caves with rugged surface terrain but the Wall Mappers three digital depth sensors were all that was needed at Wakulla.
GEOPHYSICS
The electrical conductivity of the limestone affects the strength and shape of the magnetic field generated by the Beacon. Therefore, knowledge of conductivity can help in the design of the Radio-location gear.
The electrical conductivity of the water at Wakulla Springs is reported to be .028 S/m (mhos/meter). The Radio-location gear was used at Wakulla to obtain a rough estimate of the conductivity of the limestone at various depths by using a Beacon on the surface. The technique consists of measuring the relative strengths of the primary and secondary magnetic fields at measured distances from the Beacon corresponding to the depth for which one wishes to know the conductivity. Only simple calculations are needed. The few measurements done so far give about .01 S/m(mhos/mtr) down to about 10 meters and .014 S/m from 20-100 meters. The passages at Wakulla are formed in the soft and porous upper Suwannee limestone. The high measured conductivity should be expected with this soft limestone saturated with water. For comparison, measurements over typical dry caves in the US have yielded conductivities of .003-.005 S/m.
An experimental technique was used to derive a crude "bulk" , or average, conductivity for the limestone both above and below the cave passages. Signal strength data was taken with the Beacon on the passage floor at a depth of about 240 feet and reduced with a magnetic field simulation program to yield an average conductivity of .0036 S/m. This lower conductivity was expected given the denser lower Suwannee and Ocala limestones that underlie the passages.
While acquiring the Ground Zero locations at Wakulla, it was observed that some LOP's gave much sharper nulls than others. The same effect was observed while doing the conductivity measurements with both loops on the surface, although conductivity in different directions seemed to be the same. The cause of this assymetric behavior (called anisotropy) is not known, but has been observed elsewhere and could be related to vertical jointing in the rock. The deepest null always seems to occur at right angles to the poorest null. This effect was studied during the expedition by recording the magnetic bearing of the sharpest nulls over each Ground Zero location.
For more detailed background on cave radio-location, equipment, theory, construction, and operation the reader is directed to the following URL:
http://www.uconect.net/~bpease/CREG/HomePage.htm
In approximately 40% of the cases attempted it was not possible to achieve phase carrier waypoint position using the Trimble 4800 GPS system. This was due to the presence of dense canopy on the park grounds. A Leica TC-1100 Total Station was used to establish precision surface coordinates for the waypoints in these cases. The procedure was generally as follows:
In many cases the fix involved only one total station shot from the GPS reference points. In some cases a radial survey was possible to collect several waypoints at one time from a given traverse station. In a few cases, multi-shot traverses were required to reach the beacon waypoints. In all cases, the GPS NAD83 data was used as the starting coordinates. The following Fortran program (written in MSDS F90) simplifies post processing of the data by taking as manual input the horizontal and vertical angles and range measurements from the total station and automatically calculating the NAD83 coordinates (given as Easting, Northing, and Elevation, meters) of the target station.
c==========================================
c Program: Bearing1c.for
c
c Purpose: takes two reference stations with known
c NAD 83 coordinates (usually from GPS). The
c surveyor is presumed to set up a retroreflector
c on the first GPS point to serve as a reference.
c A total station is then set up on the second
c GPS location, presumably with a line-of-sight
c shot to an unknown, third, target station.
c
c Given a TC-1100 Leica Total Station slope range,
c turned angle relative to the first GPS reference
c point( the horizontal angle), the vertical angle
c from the Total Station to the target retroreflector,
c plus instrument heights (above ground) for both
c the TC-1100 and the target retroreflector,
c we can then proceed to calculate
c the NAD 83 coordinates of the target station.
c
c Notes:
c
c 1) This is a "dumb" program. It requires twoinput
c reference points and determines the NAD 83 coordinates
c of a 3rd target station relative to the two known
c points. It is a "one shot" program and must be
c re-run for subsequent points along a traverse line.
c For the special case where the traverse line is a
c linear continuation (no branches) then the program
c will prompt for this situation and, if it exists,
c advance the TC-1100 to the previous Target Point
c and prompt for input relating only to the shot
c to the target point. This will save a lot of input
c time for simple traverses.
c
c 2) No attempt is made to compensate for errors that may
c be introduced by the use of line-of-sight measurements
c when generating NAD 83 coordinates of the target. For
c total traverse distances of less than about a kilometer
c from the nearest GPS reference station
c these differences with true NAD 83 position will be
c negligible to 6 decimal places.
c
c 3) For human consumption, angles are entered, and
c printed, in degrees.
c
c For computer consumption (Fortran) these angles must
c be converted to radians.
c
c Horizontal Datum = NAD'83 CONUS
c Vertical Datum = Geoid96
c
c Version: March 11, 1999
c Written by: Bill Stone
c
c Program Input:
c
c station1 name of reference station (e.g. "RP1")
c east1 easting (meters) of reference station
c north1 northing (meters) of reference station
c elevation1 NAD 83 elevation (relative to Geoid96) of reference station
c (units=feet)
c h1 height of retroreflector pivot above ground (mm)
c for reference station
c
c station2 name of TC-1100 station (e.g. "RP2")
c east2 easting (meters) of TC-1100 station
c north2 northing (meters) of TC-1100 station
c elevation2 NAD 83 elevation (relative to Geoid96) of TC-1100 station
c (units=feet)
c h2 height of reference dot above ground (mm)
c for TC-1100 station
c
c station3 name of Target station (e.g. "B3")
c slope slope distance(mm) from TC-1100 to Target Retroreflector
c hangle horizontal angle from reference retroreflector
c to the Target retroreflector (degrees)
c vangle vertical angle from the TC-1100 to the
c target retroreflector
c h3 height of the Target retroreflector pivot
c above ground (mm)
c
c Program Output:
c
c east3 Target point easting (NAD 83 meters)
c north3 Target point northing (NAD 83 meters)
c elevation3 Target point elevation (NAD 83 meters)
c
c==================================================
c
c
c Declarations:
c
character*6 station1, station2, station3
real*8 north1,north2,north3
real*8 east1,east2,east3
real*8 elevation1,elevation2,elevation3
real*8 h1,h2,h3
real*8 slope,hangle,vangle
pi=3.141592654
open(1,file='wakulla2.dat',status="unknown")
c
c Get Reference GPS Point NAD 83 Coordinates
c
100 continue ! single shot re-entry point
print *,'enter reference station NAME'
read *,station1
print *,'enter reference EASTING (NAD 83, meters)'
read *,east1
print *,'enter reference NORTHING (NAD 83, meters)'
read *,north1
print *,'enter reference ELEVATION (feet)'
read *,elevation1
elevation1=elevation1*12/39.37 !convert to meters
print *,'enter reference RetroReflector HEIGHT (mm)'
read *,h1
h1=h1/1000. !convert to meters
c
c Get Leica TC-1100 Station NAD 83 Coordinates
c
print *,'enter TC-1100 station NAME'
read *,station2
print *,'enter TC-1100 EASTING (NAD 83)'
read *,east2
print *,'enter TC-1100 NORTHING (NAD 83)'
read *,north2
print *,'enter TC-1100 ELEVATION (feet)'
read *,elevation2
elevation2=elevation2*12/39.37 !convert to meters
print *,'enter TC-1100 Instrument HEIGHT (mm)'
read *,h2
h2=h2/1000. !convert to meters
c
c Calculate east and north leg lengths
c from the TC-1100 to the reference GPS Point
c
200 continue !linear traver line re-entry point
deltae=abs(east1-east2)
deltan=abs(north1-north2)
print *,'deltae = ',deltae
print *,'deltan = ',deltan
hyp=sqrt((deltae**2)+(deltan**2))
c
c Calculate True Bearing from TC-1100 to GPS Reference Point
c
if(east1.ge.east2) then
if(north1.ge.north2) then
print *,'1st Quadrant'
refbearing=(180/pi)*asin(deltae/hyp)
elseif(north1.lt.north2) then
print *,'4th Quadrant'
refbearing=90. + (180/pi)*acos(deltae/hyp)
endif
endif
if(east1.lt.east2) then
if(north1.ge.north2) then
print *,'2nd Quadrant'
refbearing=270. + (180/pi)*acos(deltae/hyp)
elseif(north1.lt.north2) then
print *,'3rd Quadrant'
refbearing=180. + (180/pi)*asin(deltae/hyp)
endif
endif
print *,'reference bearing = ',refbearing
c
c -----------------------------------------
c
c Enter TC-1100 Data to Target
c
print *,'enter Target station NAME'
read *,station3
print *,'enter SLOPE DISTANCE to target (mm)'
read *,slope
slope=slope/1000. !convert to meters
print *,'enter HORIZONTAL ANGLE from reference to target(degrees)'
read *,hangle
print *,'enter VERTICAL ANGLE from TC-1100 to target(degrees)'
read *,vangle
print *,'enter RetroReflector HEIGHT at target (mm)'
read *,h3
h3=h3/1000. !convert to meters
c
c Determine True Bearing (relative to North) from TC-1100
c to the Target
c
TargetBearing=refbearing+hangle
if(TargetBearing.ge.360) then
TargetBearing=TargetBearing-360.
endif
c
c----------------------------------------------------
c
c Now determine the horizontal component of the Slope Distance
c and break this down into Easting and Northing quantities.
c
PlanDistance=slope*cos(vangle*pi/180.)
VerticalDistance=slope*sin(vangle*pi/180.)
c
c Target shot is in North/East (1st) quadrant:
c
if(TargetBearing.le.90) then
east3=PlanDistance*sin(TargetBearing*pi/180.)
north3=PlanDistance*cos(TargetBearing*pi/180.)
endif
c
c Target shot is in South/East (4th) quadrant:
c
if(TargetBearing.gt.90.and.TargetBearing.le.180.) then
east3=PlanDistance*cos((TargetBearing-90.)*pi/180.)
north3=-1.*PlanDistance*sin((TargetBearing-90.)*pi/180.)
endif
c
c Target shot is in South/West (3rd) quadrant:
c
if(TargetBearing.gt.180.and.TargetBearing.le.270.) then
east3=-1.*PlanDistance*sin((TargetBearing-180.)*pi/180.)
north3=-1.*PlanDistance*cos((TargetBearing-180.)*pi/180.)
endif
c
c Target shot is in North/West (2nd) quadrant:
c
if(TargetBearing.gt.270.and.TargetBearing.le.360.) then
east3=-1.*PlanDistance*cos((TargetBearing-270.)*pi/180.)
north3=PlanDistance*sin((TargetBearing-270.)*pi/180.)
endif
c
c ---------------------------------------------
c
c Determine the NAD 83 Easting (m) and Northing (m)
c coordinates of the Target Station
c
east3=east3+east2
north3=north3+north2
c
c Recover the elevation at the Target Station
c
elevation3 = elevation2 + h2 + VerticalDistance -h3
c
c ------------------------------------------------
c
c Print the results & recycle
c
print *,' '
print *,'Reference Name ',station1
print *,'Reference Easting (m) = ',east1
print *,'Reference Northing (m) = ',north1
print *,'Reference Elevation (m) = ',elevation1
print *,' '
print *,'TC-1100 Name ',station2
print *,'TC-1100 Easting (m) = ',east2
print *,'TC-1100 Northing (m) = ',north2
print *,'TC-1100 Elevation (m) = ',elevation2
print *,' '
print *,'Target Name ',station3
print *,'Target Easting (m) = ',east3
print *,'Target Northing (m) = ',north3
print *,'Target Elevation (m) = ',elevation3
print *,' '
print *,'PlanDistance = ',PlanDistance
print *,'VerticalDistance =',VerticalDistance
c
c write the results to file:
c
write(1,1)
1 format('Station',5x,'Name',5x,'Easting',8x,'Northing',8x,
1 'Elevation')
write(1,2)
2 format(21x,'(meters)',7x,'(meters)',8x,'(meters)',/)
write(1,3)station1,east1,north1,elevation1
3 format('Reference',4x,A6,f12.3,4x,f12.3,5x,f6.3)
write(1,4)station2,east2,north2,elevation2
4 format('TC-1100 ',4x,A6,f12.3,4x,f12.3,5x,f6.3)
write(1,5)station3,east3,north3,elevation3
5 format('Target ',4x,A6,f12.3,4x,f12.3,5x,f6.3,//)
400 continue
print *,'******************'
print *,' '
print *,'Options: (enter the number + carriage return)'
print *,' '
print *,'1: Continue present TRAVERSE to NEW Target'
print *,'2: RE-START with NEW Reference points'
print *,'3: Shoot more Targets from SAME TC-1100 station'
print *,' (using SAME Reference station)'
print *,' TC-1100 is on ',station2
print *,' Reference is ',station1
print *,'4: Turn the next shot from SAME TC-1100 station'
print *,' (but using last TARGET as the reference station'
print *,' Last target = ',station3
print *,' TC-1100 is on ',station2
print *,'5: Stop'
print *,' '
read *,n
if(n.eq.1) then
station1=station2
east1=east2
north1=north2
elevation1=elevation2
station2=station3
east2=east3
north2=north3
elevation2=elevation3
goto 200
elseif(n.eq.2) then
goto 100
elseif(n.eq.3) then
goto 200
elseif(n.eq.4) then
station1=station3
east1=east3
north1=north3
elevation1=elevation3
goto 200
elseif (n.eq.5) then
goto 300
endif
goto 400
300 continue
close(1)
stop
end_