Built-in Operations

A built-in operation is an Operation Value that returns a value calculated from one or more Values.

The following built-in operations can be used within 1Integrate.

Classes and Attributes

Operation Description Parameter(s)

copy_attributes

Copies the attribute values from the source object to the target object for all attributes that have the same name and type.

     Note: If the attribute names match but not the types, then the action will throw an exception.

Any attributes that are not matched or are in the ignore list are left unchanged.

  • Parameter 1: The source object from which to copy the attributes.
  • Parameter 2: The target object to which the attributes should be copied.
  • Additional Parameters: Each subsequent argument is a string value which is the name of any attributes that should not be copied.

Connectivity

Network Graph Connectivity Operations are used to construct network graphs (see Connecting Network Graphs).

Operation Description Parameter(s)

add_position

Adds an object, as a position, to a network graph.

     Note: There will be no output results if the object is added to a network graph that already contains the object.

  • The name of the network graph (can be null).
  • The object to add.

connect_positions

Creates directed connections between two objects in a network graph.

Both objects must have been previously added to the network graph.

     Note: This connection is one-way. To specify a connection in both directions, call this again, reversing the order.

     Note: There will be no output results if the connecting positions are already connected.

  • The name of the network graph (can be null).
  • The object at the start of the connection.
  • The object at the end of the connection.

disconnect_positions

Removes a direct connection from a network graph.

     Note: There will be no output results if non-connected positions are disconnected.

  • The name of the network graph (can be null).
  • The object at the start of the connection.
  • The object at the end of the connection.

remove_position

Removes an object from a network graph. Disconnects it from any other objects in the network.

     Note: Does nothing if the network graph did not contain the object.

  • The name of the network graph (can be null).
  • The object to remove.

Geometric

Operation Description Parameter(s)

create_polygon

Returns a geometry.

Polygons are created in the specified feature class from given ring geometries. The function detects inner and outer rings and attaches them to the appropriate polygons.

Any open lines passed to the operation are closed, where possible, before creating polygons.

     Note: Any heighted 2D geometries will be projected down to 2 dimensions.

  • The feature class

  • A ring geometry

  • (optional) A Boolean flag indicating whether to close any open lines (if possible) passed to the operation.

         Note: Defaults to true. If this parameter is false, it indicates that open lines should be ignored rather than closed.

Partition

Partition operations are used to run sessions on multiple platforms (see Partitioning).

Operation Description Parameter(s)

amalgamate_partitions

Amalgamates partition objects to create larger partitions suitable for parallel processing of larger datasets. Source partitions will be merged, where possible creating amalgamated partitions of approximately rectangular shape.

 

create_outer_partitions

Creates outer partition lines that fit within the supplied area geometry. These lines define a square grid within the provided geometry. A line will never cross an existing partition. These lines ensure all data within the provided geometry lie within a partition, avoiding a single large partition around the edges.

  • Pipe ('|') separated list of class names from which the interior partitions were formed.

  • The name of the partition class. The outer partitions will be created in this class. Outer partition lines will not cross objects of this class. The partitions must be topologically structured.

  • Area geometry within which outer partition lines should be created. Typically, this is the session extent.

  • Maximum spacing distance between the straight line divisions. A smaller spacing may be used to retain a constant spacing between grid lines.

Shifting

Shift operations are used to perform Positional Data Shifting (see Positional Data Shifting).

Operation Description Parameter(s)

register_constraining_geometry

Used to register constraining geometries (see Positional Data Shifting).

     Note: Ensure that the name used for the register_shift_vector built-in operation is used here.

     Note: Any heighted 2D geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors.

  • A line or area geometry with the original values for the point co-ordinates. The line segments or the edges of an area will be constrained.

register_shift_geometry

Used to register shift geometries (see Positional Data Shifting).

     Note: Ensure that the same name is passed to the shift_geometry built-in function.

     Note: Any heighted 2D geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors.

  • A geometry with the original values for the point co-ordinates.

  • A geometry, similar to the original geometry, but with the new values for the point co-ordinates.

register_shift_vector

Used to register shift vectors (see Positional Data Shifting).

     Note: Ensure that the same name is passed to the shift_geometry built-in function in order to shift geometries using this set. Registering shift vectors with different shift vector set names will create independent shift vector sets.

     Note: Any heighted 2D geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors.

  • A two-vertex line or point geometry indicating the shift, where a point indicates no shifting

Sorting

The tsort_* operations are used to implement iterating through objects in dependency order. Please contact 1Spatial Support for further guidance on their use.

Operation Description Parameter(s)

tsort_add_dependency

Add a dependency constraint to a topological sort. Both the predecessor and successor must have already been added to the topological sort using tsort_add_object.

  • The predecessor object that must appear before the successor.

  • The successor object that must appear after the predecessor.

  • The name of the topological sort. If not provided, or null, the default topological sort will be used.

tsort_add_object

Add an object to a topological sort so that will appear in either the ordered or blocked list.

  • The object to add.

  • The name of the topological sort. If not provided, or null, the default topological sort will be used.

tsort_remove_dependency

Remove a dependency constraint to a topological sort. Both the predecessor and successor must have already been added to the topological sort using tsort_add_object.

  • The predecessor object that no longer must (but still may) appear before the successor.

  • The successor object that no longer must (but still may) appear after the predecessor.

  • The name of the topological sort. If not provided, or null, the default topological sort will be used.

tsort_remove_object

Remove an object from a topological sort so that will not appear in either the ordered or blocked list. Any dependencies that involved the object (either as successor or predecessor) are also removed.

  • The object to remove

  • The name of the topological sort. If not provided, or null, the default topological sort will be used.

tsort_reset

Remove all the objects and dependencies in a topological sort.

  • The name of the topological sort. If not provided, or null, the default topological sort will be used.

Topology

Operation Description Parameter(s)

set_topology_edge_drag_mode

Controls the reshaping of connected edges when a node is moved.

Also applies when moving an end of an edge when changing an edge's geometry.

     Note: This only takes effect when directly manipulating topology.

When set to true (the default), edges connected to a moved node will be fixed at their other end. All other vertices will be scaled and rotated about the fixed point. This is equivalent to using the drag_vertex built-in function to move the end vertex.

When set to false, only the end vertex of the edge is moved; all other vertices are fixed. This is equivalent to using the move_vertex built-in function to move the end vertex.

     Note: This setting does not apply to edges that form a closed loop. For closed loops, only the vertex at the shared node will be moved.

  • A boolean value (True or false), to set the mode on or off.