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