Location
User guide
×
Menu
Index
Location Attributes Dialog
This dialog is one of the tabs in the Module - Setup dialog. It allows you to view and create new attributes. Attributes are used for reporting in various windows including Data Window, and Plan / Profile Labels.
Add
This option allows you to create a new User Defined Attribute which is a function.
Delete
This option allows you to delete an attribute. It is only available for User Defined Attributes.
Modify
This option allows you to modify fields in an attribute. It is not available for Template Codes, Template Parameters and Volumes Optihaul^. To change these attributes in these categories it is necessary to create a User Defined Attribute .
Attribute Properties
Variable
Short name of variable used in function definitions.
Heading
Name of variable used in report headings.
Description
Variable description.
Units
Variable units. Note some variables have no units.
Reference
"At Station" if a value applies at a station. "Between Station" if a value applies between stations (e.g. Volumes).
Totals
If yes, totals will be tracked and reported for this variable. 
Numeric
Yes, for numberic variables and No, for alphanumeric values.  
Point Type
One of:
    design point
    design point (current section only)
    VIP point
    HIP point
Function Use
Determines if a variable can be used in functions. One of:
    allow in functions
    not useable in functions.
Functions
An expression consisting of other parameters and constants can be entered.
The function string understood by the class is very similar to the C-syntax.
Arithmetic float expressions can be created from float literals, variables
or functions using the following operators in this order of precedence:
 
() expressions in parentheses first
-A unary minus
A^B exponentiation (A raised to the power B)
A*B A/B A%B multiplication, division and modulo
A+B A-B addition and subtraction
A=B A<B A>B comparison between A and B (result is either 0 or 1)
A&B result is 1 if int(A) and int(B) differ from 0, else 0.
A|B result is 1 if int(A) or int(B) differ from 0, else 0.
 
Since the unary minus has higher precedence than any other operator, for
example the following expression is valid: x*-y
Note that the '=' comparison can be inaccurate due to floating point
precision problems (eg. "sqrt(100)=10" probably returns 0, not 1).
 
The class supports these functions:
 
 
abs(A)
 Absolute value of A. If A is negative, returns -A otherwise returns A.
acos(A)
 Arc-cosine of A. Returns the angle, measured in radians, whose cosine is A.
acosh(A)
 Same as acos() but for hyperbolic cosine.
asin(A)
 Arc-sine of A. Returns the angle, measured in radians, whose sine is A.
asinh(A)
 Same as asin() but for hyperbolic sine.
atan(A)
 Arc-tangent of (A). Returns the angle, measured in radians, whose tangent is (A).
atan2(A,B)
 Arc-tangent of A/B. The two main differences to atan() is that it will return the right angle depending on the signs of A and B (atan() can only return values betwen -pi/2 and pi/2),  and that the return value of pi/2 and -pi/2 are possible.
atanh(A)
 Same as atan() but for hyperbolic tangent.
ceil(A)
 Ceiling of A. Returns the smallest integer greater than A. Rounds up to the next higher integer.
cos(A)
 Cosine of A. Returns the cosine of the angle A, where A is measured in radians.
cosh(A)
 Same as cos() but for hyperbolic cosine.
cot(A)
 Cotangent of A (equivalent to 1/tan(A)).
csc(A)
 Cosecant of A (equivalent to 1/sin(A)).
eval(...)
 This a recursive call to the function to be evaluated. The number of parameters must be the same as the number of parameters taken by the function. Usually called inside if() to avoid infinite recursion.
exp(A)
 Exponential of A. Returns the value of e raised to the power A where e is the base of the natural logarithm, i.e. the non-repeating value approximately equal to 2.71828182846.
floor(A)
 Floor of A. Returns the largest integer less than A. Rounds down to the next lower integer.
if(A,B,C)
 If int(A) differs from 0, the return value of this function is B, else C. Only the parameter which needs to be evaluated is evaluated, the other parameter is skipped; this makes it safe to use eval() in them.
int(A)
 Rounds A to the closest integer. 0.5 is rounded to 1.
log(A)
 Natural (base e) logarithm of A.
log10(A)
 Base 10 logarithm of A.
max(A,B)
 If A>B, the result is A, else B.
min(A,B)
 If A<B, the result is A, else B.
sec(A)
 Secant of A (equivalent to 1/cos(A)).
sin(A)
 Sine of A. Returns the sine of the angle A, where A is measured in radians.
sinh(A)
 Same as sin() but for hyperbolic sine.
sqrt(A)
 Square root of A. Returns the value whose square is A.
tan(A)
 Tangent of A. Returns the tangent of the angle A, where A is measured in radians.
tanh(A)
 Same as tan() but for hyperbolic tangent.
Examples of function string understood by the class:
 
"1+2"
"x-1"
"-sin(sqrt(x^2+y^2))"
"sqrt(XCoord*XCoord + YCoord*YCoord)"