# Operators and functions

Jump to navigation
Jump to search

Operators and functions are used in expressions to calculate with data items and or literals.

## operators

An operator is a symbolic presentation of a function to be applied on operands.

## functions

Functions express dependences between items. A function associates a single output to each input element. Functions in the GeoDMS are categorized in the following function groups:

**Arithmetic**: basic mathematical functions, like add, divide or sqrt**Ordering**: to compare/order data items like eq, less than, argmax or sort**Aggregation**: to aggregate data items to other domain units like sum or mean**Conversion**: to convert value types, round data items or use different notations**Classify**: to classify quantities to class units**Transcendental**: functions transcending algebra, like exponent and logarithm**Predicates**: to check conditions, like IsDefined of IsNull.**Logical**: to provide basic comparisons, returning in boolean data items like iif or and**Relational**: to relate data items of different domain units like lookup or rjoin or create new domain units like subset or unique**Rescale**: to scale data items to new distributions**Constant**: to define constant values like pi or true**Trigonometric**: operate on angles like sine or cosine.**Geometric**: geometric operations on points, arcs and polygons**Network**: to build and calculate network topologies like connect or dijkstra**Grid**: to calculate with data items of grid (two-dimensional) domains, like potential or district**String**: operate on data items with string value types like left or strcount**File, Folder and Read**: operate on files and folders, like MakeDir or storage_name**Unit**: to define and get information of unit items, like range and lowerbound**Matrix**: to perform matrix calculations, like matrix multiplication or matrix inverse**Sequence**: process data items with one-dimensional sequences.**MetaScript**:to generate script (like for_each) or request information on tree items like SubItem_PropValues**Allocation**: mainly used for Land Use Allocation**Miscellaneous**: remaining functions not categorized in other groups, like rnd_uniform or PropValue