## Saturday, January 05, 2008

### Using NORTH, EAST, SOUTH and WEST in a Bearing Label

A poster in the DG was looking for a way to have NORTH, EAST, SOUTH and WEST in a bearing label instead of having a label with lots of zeros (N0'00"E). One way to accomplish this is to use expressions. Set up an expression for each of the whole directions and one for all of the other directions. I called mine North, East, South, West and Other. For the expression formula use something that looks like what is below:
IF({Segment Direction}=pi,(0.1/12),0.000001)

The (0.1/12) is if the if statement is true and set the height of the text that we would want. The 0.000001 is if the expression is false and sets the text height so it won't be seen when we print out the sheet.

The list below summarizes the angles for each whole direction:
North = 0
East = 3*pi/2
South = pi
West = pi/2

The expression for the Other should eliminate all of the whole angles, the expression is below:
IF({Segment Direction}=0,0.000001,IF({Segment Direction}=pi/2,0.000001,IF({Segment Direction}=3*pi/2,0.000001,IF({Segment Direction}=pi,0.000001,(0.1/12)))))

Now create a text component for each expression. The Other will have the Segment Direction and the whole directions will have the word that you want to show. For instance if the Segment Direction is 0 use North.

If you use this in production you will probably need to change the formula to take in account rounding. To do this use an expression that looks like something below:

IF({Segment Direction}<(pi+0.00000194),IF({Segment Direction}>(pi-0.00000194),(0.1/12),0.000001),0.000001)

The 0.00000194 should be approximately 0'0.4".

You will have to make the change for each label. The labels I came up may be found here under the 01-05-2008 heading. 