I need to use traverse method in my program on visual studio(WPF) so that the user can get their target point coordinate by using their initial data. In my knowledge there is two type of traverse that is open traverse and closed traverse. I search on the internet there mostly about the closed traverse. Although the open traverse cant be check for error i still need to use it for my project requirement. Can someone share me a simple open traverse calculation that i can use for my reference and program?
Please, do not use with geographic coordinates.
- x axis is North oriented, so x = Northing
- y axis is East oriented, so y = Easting
- azimuth is the clockwise angle measured from x axis, in radians.
(all three are topographical conventions, you must transform the following formulas if you want to use another system)
- x_0 and y_0 are the coordinates of a fixed point.
- x_1 and y_1 are the coordinates of the first station.
(The following formulas are provided for an initial system of two points with known coordinates, in case of knowing only the coordinates of 1 (the first station), you need to know its initial azimuth, so the formulas for its calculation are not necessary)
DELTA( x ) = x_1 - x_0
DELTA( y ) = y_1 - y_0
The azimuth from 0 (the fixed point) to 1 (the station) is:
AZ( 0 -> 1 ) = 0 when:
DELTA( x ) >= 0 AND DELTA( y ) = 0
AZ( 0 -> 1 ) = PI() when:
DELTA( x ) < 0 AND DELTA( y ) = 0
AZ( 0 -> 1 ) = PI() / 2 when:
DELTA( x ) = 0 AND DELTA( y ) > 0
AZ( 0 -> 1 ) = -PI() / 2 when:
DELTA( x ) = 0 AND DELTA( y ) < 0
AZ( 0 -> 1 ) = ATAN( DELTA( y ) / DELTA( x ) ) when:
( DELTA( x ) > 0 )
AZ( 0 -> 1 ) = ATAN( DELTA( y ) / DELTA( x ) ) + PI() when:
( DELTA( x ) < 0 )
The azimuth from 1 (the station) to 0 (the fixed point) is:
AZ( 1 -> 0 ) = AZ( 0 -> 1 ) + PI()
The distance between 1 (the station) and 0 (the fixed point) is:
DIST( 1 -> 0 ) = DIST( 0 -> 1 ) = SQRT( DELTA( x )^2 + DELTA( y )^2 )
Then, the station set its zero bearing to point 0 and measures a new point (2) with:
a distance between 1 and 2 =
DIST( 1 -> 2)
and a bearing, the clockwise angle, measured in 1, from 0 to 2 =
BEARING1( 0 -> 2)
Now, the azimuth from 1 to 2 is:
AZ( 1 -> 2 ) = BEARING1( 0 -> 2 ) + AZ( 1 -> 0)
And coordinates of 2 are:
x_2 = x_1 + DIST( 1 -> 2 ) * COS( AZ( 1 -> 2 ) )
y_2 = y_1 + DIST( 1 -> 2 ) * SIN( AZ( 1 -> 2 ) )