1

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?

  • What do you found about closed traverse? – Gabriel De Luca Feb 12 '19 at 2:25
  • @GabrielDeLuca i found this closed traverse calculation on internet. For open traverse there is mostly explanation with no calculation and example. – ThingThing Feb 12 '19 at 2:29
  • Yes, that only talks about the closed polygonal adjustment. You don't need the Z coordinate? – Gabriel De Luca Feb 12 '19 at 2:33
  • @GabrielDeLuca yes, i dont need the z coordinate. I just need x and y coordinate for my map coordinate. – ThingThing Feb 12 '19 at 2:49
2

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 ) )

| improve this answer | |
  • If there is a way for me to calculate the traverse open using initial geographic coordinate along with the bearing and distance value to the desire point. – ThingThing Feb 12 '19 at 6:31
  • @MohamadFathin, maybe you are looking for a solution for the direct geodesic problem, but for any reason you are asking wrong for the traverse method. Here are two links that I should recommend you read: ngs.noaa.gov/PUBS_LIB/inverse.pdf and en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid – Gabriel De Luca Feb 12 '19 at 22:46
  • my map are WGS84 coordinate system. If it possible if I convert it to the Kertau RSO coordinate system that in meter so that i can perform the traverse method. After that i convert it back to WGS84. – ThingThing Feb 13 '19 at 3:10
  • @MohamadFathin, sure, that is totally valid. Computer science is not my specialty, but I think you have Proj4Net libraries to perform the projection. – Gabriel De Luca Feb 13 '19 at 3:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.