====== Attribute Formulas ====== ===== Formulas available via User Interface ===== Functions by default available via the Orbit user interface, see [[dev:desktop:dataset:contents:index#rules|Attribute Rules]]. \\ All these functions use only one argument. ==== Standard Object Functions ==== |< 100% 20% 10% 10% 60% >| ^ Formula ^ Datatype ^ Spatial type ^ Description ^ | CreationDate | String | All | Indicates the exact date the object was created. | | CreationDateTime | String | All | Indicates the exact date and time the spatial object was created. | | CreationUser | String | All | | ModifyDate | String | All | Indicates the exact date the object was modified. | | ModifyDateTime | String | All | Indicates the exact date and time the spatial object was modified. | | ModifyUser | String | All | | ObjectId | Integer | All | | | UniqueId | Integer | All | | ==== Spatial Object Functions ==== |< 100% 20% 10% 10% 60% >| ^ Formula ^ Datatype ^ Spatial type ^ Description ^ | Center | | CenterM | Integer | Point | Returns the user Defined **M**easurement from the point object (will be 0 if the coordinate system is 2D or 3D or if there is no measurement). | | ::: | ::: | Line, Area | Shows the user Defined measurement from the center of the rectangle that surrounds the line or area object. | | CenterX | Float | Point | Shows the X coordinate from the point object (value refers to the used [[dev:technology:core:crs_theory|CRS]]). | | ::: | ::: | Line, Area | Shows the X coordinate from the center of the rectangle that surrounds the line or area object. | | CenterY | Float | Point | Shows the Y coordinate from the point object (value refers to the used [[dev:technology:core:crs_theory|CRS]]). | | ::: | ::: | Line, Area | Shows the Y coordinate from the center of the rectangle that surrounds the line or area object. | | CenterZ | Float | Point | Shows the Z coordinate from the point object ([[dev:desktop:dataset:contents:structure#coordinate|will be 0 if coordinate system is 2D or 2D M or if there is no heigh reference.]]).| | ::: | ::: | Line, Area | Shows the Z coordinate from the center of the rectangle that surrounds the line or area object. | | CoordinateCount | Integer | All | Shows the number of points that an object contains. | | First | | FirstM | Float | Point | Shows the user Defined **M**easurement from the point object (will be 0 if the coordinate system is 2D or 3D or if there is no measurement). | | ::: | ::: | Line, Area | Shows the user-defined measurement from the first point/vertex of the line or area object. first indicates the first point that is placed when the object is drawn. | | FirstSegmentAngle | | FirstSegmentLength | | FirstTriangleHeight | | FirstX | Float | Point | | ::: | ::: | Line, Area | Shows the X coordinate from the first point/vertex of the line or area object. first indicates the first point that is placed when the object is drawn. | | FirstY | Float | Point | | ::: | ::: | Line, Area | Shows the Y coordinate from the first point/vertex of the line or area object. first indicates the first point that is placed when the object is drawn. | | FirstZ | Float | Point | | ::: | ::: | Line, Area | Shows the Z coordinate from the first point/vertex of the line or area object. first indicates the first point that is placed when the object is drawn.* | | IsClosed | String, Boolean | all | Returns true for a line object if the beginning point and the endpoint are the same. Area and point objects are always closed, thus true. | | IsWellFormed | String, Boolean | All | Returns true if the geometry of the spatial object is well-formed according to the rules of the [[http://www.opengeospatial.org/|OGC]]. | | Last | | LastM | Float | Point | | ::: | ::: | Line, Area | Shows the user-defined measurement from the last point/vertex of the line or area object. Last indicates the last point that is placed when the object is drawn.* | | LastX | Float | Point | | ::: | ::: | Line, Area | Shows the X coordinate from the last point/vertex of the line or area object. Last indicates the last point that is placed when the object is drawn. | | LastY | Float | Point | | ::: | ::: | Line, Area | Shows the Y coordinate from the last point/vertex of the line or area object. Last indicates the last point that is placed when the object is drawn. | | LastZ | Float | Point | | ::: | ::: | Line, Area | Shows the Z coordinate from the last point/vertex of the line or area object. Last indicates the last point that is placed when the object is drawn.** | | Max | | MaxM | Float | Point | | ::: | ::: | Line, Area | Shows the user-defined measurement from the right upper corner of the rectangle that surrounds the line or area object. | | MaxX | Float | Point | | ::: | ::: | Line, Area | Shows the X coordinate from the right upper corner of the rectangle that surrounds the line or area object. | | MaxY | Float | Point | | ::: | ::: | Line, Area | Shows the Y coordinate from the right upper corner of the rectangle that surrounds the line or area object. | | MaxZ | Float | Point | | ::: | ::: | Line, Area | Shows the Z coordinate from the right upper corner of the rectangle that surrounds the line or area object.* | | Min | | MinM | Float | Point | | ::: | ::: | Line, Area | Shows the user-defined measurement from the left bottom corner of the rectangle that surrounds the line or area object. | | MinX | Float | Point | | ::: | ::: | Line, Area | Shows the X coordinate from the left bottom corner of the rectangle that surrounds the line or area object. | | MinY | Float | Point | | ::: | ::: | Line, Area | Shows the Y coordinate from the left bottom corner of the rectangle that surrounds the line or area object. | | MinZ | Float | Point | | ::: | ::: | Line, Area | Shows the Z coordinate from the left bottom corner of the rectangle that surrounds the line or area object. | | ObjectArea | Float | Line, Area | Calculates the area in a square meter. Line objects will return 0.0 if they are not closed (cfr. IsClosed). | | ObjectLength | Float | Line, Area | Calculates the length in meter. | | PartCount | Integer | | Enumerates the number of parts from which the object is built. | | PointCount | Integer | | Enumerates the number of points from which the object is built. | | SizeX | Float | | SizeY | Float | | SizeZ | Float | | SpatialImage.SampleValue | Float | | ==== Mobile Mapping Functions ==== Mobile Mapping functions are only available for the Orbit MM desktop portfolio \\ These functions are calculated and updated when editing the object via a mobile mapping view. \\ Mobile Mapping functions calculating a distance, length, or area are using the on the fly calculated projected coordinate system to achieve the exact metric result. |< 100% 20% 10% 10% 60% >| ^ Formula ^ Datatype ^ Spatial type ^ Description ^ | Measure Angle | | | | | Measure Area XY | Float | Area |2D area, or area of projected 3D area with Z = 0. | | Measure Area XYZ | Float | Area |Area projected on the best fit 3D plane through all measured vertices. This technique expects all vertices to be measured in approximately a single 3D plane. | | Measure Attachments | | | | | Measure Center X-Position | Float | | | Measure Center Y-Position | Float | | | Measure Center Z-Max | | | | | Measure Center Z-Min | | | | | Measure Center Z-Position | Float | | | Measure Center Z-Range | | | | | Measure Clearance |Float | Line | Catenary curve: Minimum distance from cable to ground. | | Measure Distance 2D| Float | Line | 2D length of a straight line between start and endpoint, or length of the projected 3D distance with Z = 0. | | Measure Distance 3D | Float | Line | 3D length of a straight line between start and endpoint. | | Measure Distance Error XY | Float | Line |Triangulation error for Measure Distance 2D. | | Measure Distance Error XYZ | Float | Line | Triangulation error for Measure Distance 3D. | | Measure Distance Error Z | Float | Line | Triangulation Z error for Measure Distance 3D. | | Measure Distance Reference 3D | Float | REMOVED? | | Measure Distance X | Float | Line | Absolute difference in X between the start and endpoint of a straight line. | | Measure Distance Y | Float | Line | Absolute difference in Y between the start and endpoint of a straight line. | | Measure Distance Z | Float | Line | Absolute difference in Z between the start and endpoint of a straight line. | | Measure Distance over Curve | Float | Line | 3D length over the catenary curve. | | Measure Feature Id | | | | | Measure Field of View | | | | | Measure LRef Distance XY | | | | | Measure LRef Distance XYZ | | | | | Measure LRef Distance Z | | | | | Measure LRef Length | | | | | Measure LRef Timestamp | | | | | Measure Length XY | Float | Line, Area | Summed 2D length of each line segment as distance XY. | | Measure Length XYZ | Float | Line, Area | Summed 3D length of each line segment as distance XYZ. | | Measure Length Z | Float | | Measure Length2 XY | Float | | Measure Length2 XYZ | Float | | Measure Length2 Z | Float | | Measure Mapping Resource Name | | | | | Measure PhotoId | String | | Measure Point1 Distance to Ground | Float | Point | Absolute difference in Z between Point1 and the Ground. | | Measure Point1 Error XY | Float | Point | Triangulation error XY for Measure Point1. | | Measure Point1 Error XYZ | Float | Point | Triangulation error XYZ for Measure Point1. | | Measure Point1 Error Z | Float | Point | Triangulation error Z for Measure Point1. | | Measure Point1 X-Position | Float | Point | The x coordinate of Point1. | | Measure Point1 Y-Position | Float | Point | The y coordinate of Point1. | | Measure Point1 Z-Position | Float | Point | The z coordinate of Point1. | | Measure Point2 Distance to Ground | Float | Point | Absolute difference in Z between Point2 and the Ground. | | Measure Point2 Error XY | Float | Point | Triangulation error XY for Measure Point2. | | Measure Point2 Error XYZ | Float | Point | Triangulation error XYZ for Measure Point2. | | Measure Point2 Error Z | Float | Point | Triangulation error Z for Measure Point2. | | Measure Point2 X-Position | Float | Point | The x coordinate of Point2. | | Measure Point2 Y-Position | Float | Point | The y coordinate of Point2. | | Measure Point2 Z-Position | Float | Point | The z coordinate of Point2. | | ... | | | | | Measure Point20 Distance to Ground | Float | Point | Absolute difference in Z between Point20 and the Ground. | | Measure Point20 Error XY | Float | Point | Triangulation error XY for Measure Point20. | | Measure Point20 Error XYZ | Float | Point | Triangulation error XYZ for Measure Point20. | | Measure Point20 Error Z | Float | Point | Triangulation error Z for Measure Point20. | | Measure Point20 X-Position | Float | Point | The x coordinate of Point20. | | Measure Point20 Y-Position | Float | Point | The y coordinate of Point20. | | Measure Point20 Z-Position | Float | Point | The z coordinate of Point20. | | Measure Radius Circle | Float | | Measure Slant | Float | | Measure Slope | Float | Distance | Angle (decimal degrees) between 1) measured or derived distance and 2) the z-axis / vertical direction. | | Measure Span | Float | Line | Catenary curve: Closest distance between 2 connection points. | | Measure View Tilt | | | | | Measure View Heading | | | | | Measure Width Rail | Float | ==== Feature Detection Functions ==== |< 100% 20% 10% 20% 60% >| ^ Formula ^ Datatype ^ Spatial Type ^ Description ^ | Inclination | Float | Pole, Antenna, Pole Attachment | The inclination of the feature, in degrees. Inclination is calculated from vertical direction. | | Parent SOID | Integer | Crosswalk, Pole Attachment, Rail, Road Mark | The parent ID. | | Parts Count | Integer | Crosswalk, Pipeline | The number of parts that belong to the feature. | | Points Count | Integer | Traffic sign, Box, Crosswalk | The number of cloud points that are part of the feature. | | Position | String | Pipeline, Rail, Road Mark | The position of the feature. | | Type | String | Pole Attachment, Road Mark | The type of feature. | | Width | Float | Traffic sign, Pole Attachment | The width of the feature. | | Z Maximum | Float | Pole, Box, Pole Attachment | The Z maximum of the feature. | | Z Minimum | Float | Pole, Box, Pole Attachment | The Z minimum of the feature. | | Z Range | Float | Pole, Tree, Traffic Sign, Box, Pole Attachment | The Z range of the feature. | | Feature Detected | Integer | Pole, Tree, Traffic Sign, Antenna, Crosswalk, Pole Attachment, Road Mark | 1 if the feature is detected, or 0 if the feature is not detected. | | Issue | String | Pole, Tree, Traffic Sign | The issue which prevents the feature to be detected. | | Issue Description | String | Pole, Tree, Traffic Sign | The description of the issue. | | Resolution Advice | String | Pole, Tree, Traffic Sign | A resolution advise to fix the issue, normally points to a parameter to change. | | Angle North | Float | Antenna | The angle to the north, in degrees. This will define direction of the antenna. | | Length | Float | Antenna | The length of the feature. | | Area | Float | Crosswalk | The area of the stripe of the crosswalk. | | Density | Float | Crosswalk | The number of points per squared meter. | | Density Average | Float | Crosswalk | The average density of all parts. | | Intensity | Float | Crosswalk | The average intensity of cloud points that belong to the part. | | Intensity Average | Float | Crosswalk | The average intensity of all parts. | | Part Length | Float | Crosswalk | The length of a part of the feature. | | Part Width | Float | Crosswalk | The width of a part of the feature. | | Points Count | Integer | Crosswalk | The number of points per part. | | Points Count Average | Float | Crosswalk | The average number of points of all parts. | | Diameter | Float | Pipeline | The diameter of the feature. | | High Intensity Points Count | Integer | Traffic Sign | The number of points with intensity above the threshold value. | | High Intensity Points Percentage | Float | Traffic Sign | The percentage of points of the feature that have intensity above threshold value. | | Intensity Maximum | Integer | Traffic Sign | The maximum intensity of the feature. | | Intensity Threshold | Integer | Traffic Sign | The intensity threshold used to detect this feature. | | Normal X | Float | Traffic Sign | The X coordinate of the normal to the plane defined by the feature. | | Normal Y | Float | Traffic Sign | The Y coordinate of the normal to the plane defined by the feature. | | Normal Z | Float | Traffic Sign | The Z coordinate of the normal to the plane defined by the feature. | | Shape | String | Traffic sign | The shape detected. Unknown if shape is not detected. | | Inclination Delta | Float | Tree | The difference between inclination of the tree and the trunk, in degrees. | | Tree Crown Diameter | Float | Tree | The tree crown diameter, according to calculation method selected. | | Inclination Tree | Float | Tree | The inclination of the tree, in degrees. Inclination is calculated from vertical direction. | | Tree Trunk Diameter | Float | Tree | Trunk diameter at representation. | | Tree Trunk Height | Float | Tree | The height of the trunk. | | Inclination Trunk | Float | Tree | The inclination of the trunk, in degrees. Inclination is calculated from vertical direction. | | Source File | String | Box | The file name of the source, if box was created from a source file. | | Source Path | String | Box | The path to the source file, if box was created from a source file. | | Width X | Float | Box | The width of the box along the X axis. | | Width Y | Float | Box | The width of the box along the Y axis. | | Width Average | Float | Pole | The average width of the pole. | | Width Max | Float | Pole | The maximum width of the pole. | | Width Median | Float | Pole | The median width of the pole. | | Width Min | Float | Pole | The minimum width of the pole. | | Count | Integer | Pole Attachment | The number of children of this feature. | | Types | String | Pole Attachment | The types of the children. | | Clearances | String | Pole Attachment | The distance from the ground to each children. | | Child Type | String | Pole Attachment | The type of the child. | | Clearance Z | Float | Pole Attachment | The distance from ground the feature. | | X | Float | Rail point | The X coordinate of the point. | | Y | Float | Rail point | The X coordinate of the point. | | Z | Float | Rail point | The X coordinate of the point. | | Orbit Orientation Roll | Float | Rail point | The roll value at the point. The roll is the inclination of the tracks to left (positive) or right (negative). | | Clearance Z | Float | Clearance Checker | The distance between the ground and the feature. | | Clearance Z Minimum | Float | Clearance Checker | The minimum Z value of the feature. | | Ground Z | Float | Clearance Checker | The Z value of the ground. | | Clearance Points Count | Integer | Clearance Checker | The number of points of the feature. | | Ground Points Count | Integer | Clearance Checker | The number of points on the ground bellow the feature. | | Area Pixels Count | Integer | Clearance Checker | The number of pixels in the area of the feature. | | Pixel Size | Float | Clearance Checker | The size of the squared pixels. | ===== Formulas available via ORD Text-File Configuration ===== Functions available via ord file editing, see [[dev:technology:supported_formats:other:ord|]]. \\ These functions may use one or multiple arguments. Attribute argument references can only be used within the same Attribute Set. The syntax is straightforward but must be exact : * Function : Function() * Arguments in function comma separated : Function(Argument1,Argument2,...) * Attribute reference by using [ ] : Function([Atribute1],[Atribute2],Argument3,...) * Decimal character is dot : Function([Atribute1],[Atribute2],3.1457,Argument4,...) ==== Generic Standard Functions ==== |< 100% 20% 10% 10% 60% >| ^ Function ^ Arguments ^ Datatype ^ Description ^ | Abs | | Double | | | ACos | | Double | | | Add | | Double | | | And | | Boolean | | | ArgumentAt | | | | | ArgumentCount | | | | | ArgumentsAt | | | | | ASin | | Double | | | ATan | | Double | | | ATan2 | | Double | | | Between | | Boolean | | | Char | (A) | String | Add a character with a specific code. \\ e.g. : Char(9) results in a 'TAB' character \\ e.g. : Char(13,10) results in a DOS newline sequence | | Concat | | String | Combines one or more strings, attributevalues or functions. \\ e.g. Concat([KERKHOFCODE],”_”,[ZONECODE],”_”,[RIJCODE],”_”,[GRAF]) | | Cos | | Double | | | Decimals | | String | | | DegToRad | | Double | | | Divide | | Double | | | Double | | Double | | | Equal | | Boolean | | | Exp | | Double | | | FirstArgument | | | | | FirstUpperCase | | String | | | Hypot2D | (A,B,C) | Double | http://en.wikipedia.org/wiki/Hypotenuse | | Hypot3D | (A,B,C) | Double | http://en.wikipedia.org/wiki/Hypotenuse | | If | (A,B,C) | Any | If(,,) \\ e.g. : If(LargerOrEqual([Height],10),"High","Low") | | In | | Boolean | | | IndexOf | (A,B) | Integer | Displays the numeric position of a substring. \\ e.g. : IndexOf(“The last emperor”,”emperor”) results in 9 | | Int | | Double | | | IsNull | | Boolean | | | Larger | | Boolean | | | LargerOrEqual | | | | | LastArgument | | | | | LastIndexOf | (A,B) | Integer | Displays the last numeric position of a substring. \\ e.g. : LastIndexOf(“C:\temp\my.map\file.txt”,”.”) results in 19 | | Left | | String | Takes a part of a string, starting from the left position. The second parameter determines the number of characters. \\ e.g.Left([Attribute],7) | | Length | ([Attribute]) | | Calculates string length of the attribute. | | Log | | Double | | | Long | | | | | LowerCase | | String | | | LPad | (A,B,C) | String | Left pad a value with a pad character to the requested size. \\ e.g. : LPad(“123”,6,”0”) results in 000123 \\ e.g. : LPad(“de”,3,”+”) results in +de | | LTrim | | String | | | Max | | String | | | Min | | String | | | Multiply | | Double | e.g. multiply([Attribute],3.28083) (from meters to feet) | | NewLine | | String | | | Not | | Boolean | | | NowDate | | String | | | NowDateTime | | String | | | NowTime | | String | | | Or | | Boolean | | | PatternMatch | (A,B) | String | Determines whether a particular pattern occurs. \\ e.g. : PatternMatch(“255.17.23”,”*.17.*”) results in 'true' | | Pi | | Double | | | Power | | Double | | | Printf | | String | | | RadToDeg | | Double | | | Random | | Double | | | Replace | (A,B,C) | String | Replaces a substring by another. \\ e.g. : Replace(“the last emperor”,”last”,”first) results in “the first emperor” | | Right | | String | | | RPad | (value,size,pad) | String | Right pad a value with a pad character to the requested size. \\ e.g. : RPad(“123”,6,”0”) results in 123000 \\ e.g. : RPad(“de”,3,”+”) results in de+ | | RTrim | | String | | | Sin | | Double | | | Smaller | | Boolean | | | SmallerOrEqual | | Boolean | | | Split | (A,B) | String | Split a string in different parts. \\ e.g. : Split(“127.B.3”,”.”) results in “127” “B” and “3” | | Sqrt | | Double | | | SubString | () | String | Returns a substring from string A, starting at index position B with length C. | | SubString2 | (A,B,C) | String | Returns a substring from string A, starting at index position B til, index position C. | | Subtract | | Double | | | Tan | | Double | | | Trim | | String | | | UpperCase | | String | | ==== Spatial Functions ==== |< 100% 20% 10% 10% 60% >| ^ Formula ^ Datatype ^ Spatial type ^ Description ^ | Angle | Float | All | | | Center | Float | All | | | Distance2D | Float | All | | | Distance3D | Float | All | | | DistanceZ | Float | All | | | First | Float | All | | | GetM | Float | All | | | GetX | Float | All | | | GetY | Float | All | | | GetZ | Float | All | | | Last | Float | All | | | Max | Float | All | | | Min | Float | All | | | NewPoint2D | Float | All | | | NewPoint2DM | Float | All | | | NewPoint3D | Float | All | | | NewPoint3DM | Float | All | | | PerpendicularLine | Float | All | | | PointInterpolation | | Point | Float | All | | | ProjectPointOnLine | Float | All | | ==== Mobile Mapping functions ==== Mobile Mapping functions are only available for the Orbit MM desktop portfolio \\ |< 100% 20% 10% 10% 60% >| ^ Function ^ Datatype ^ Arguments ^ Description ^ | PanFromAxisRotation | Float | A,B,C,D | Direction Vector: A,B,C and D rotation angle (decimal degrees) \\ e.g. ([rotation_axis_1],[rotation_axis_2],[rotation_axis_3],[rotation_angle]) | | TiltFromAxisRotation | ::: | ::: | ::: | | RollFromAxisRotation | ::: | ::: | ::: | | PanFromDirectionAndUp() | Float | A,B,C,D,E,F | Direction Vector: by A,B,C and Up Vector: D,E,F \\ e.g. ([Direction_Easting],[Direction_Northing],[Direction_Elevation],[Up_Easting],[Up_Northing],[Up_Elevation]) | | TiltFromDirectionAndUp() | ::: | ::: | ::: | | RollFromDirectionAndUp() | ::: | ::: | ::: | | PanFromOmegaPhiKappa | Float | A,B,C | Direction Vector: A,B,C \\ e.g. ([Omega],[Phi],[Kappa]) | | TiltFromOmegaPhiKappa | ::: | ::: | ::: | | RollFromOmegaPhiKappa | ::: | ::: | ::: | | PanFromRotationYXZ | Float | A,B,C | Direction Vector: A,B,C \\ e.g. ([rotation_y],[rotation_x],[rotation_z]) | | TiltFromRotationYXZ | ::: | ::: | ::: | | RollFromRotationYXZ | ::: | ::: | ::: | ==== Example use formulas ==== AttributeConstraint= ModelId=1 AttributeSetName=Attributes AttributeName=Oppervlakte Rule=expression Expression=ObjectArea() AttributeName=Perimeter Rule=expression Expression=Spatial.Length AddFunctionAttribute= ModelId=1 AttributeSetName=Attributes AddAttribute= AttributeName=Oppervlakte_hm AttributeType=FLOAT AttributeExpression=Add(100,Divide([Oppervlakte],1000))