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 and exception.

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

  • The source object from which to copy the attributes.

  • The target object to which the attributes should be copied.

  • Each subsequent argument is a string value which is the name of any attributes that should not be copied.

Connectivity

     Note: 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 connectivity network.

     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 connectivity network (may be null).

  • The object to add.

connect_positions

Creates a directed connection between two positions in a connectivity network.

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 connectivity network (may be null).

  • The object for the source of the connection.

  • The object for the target of the connection.

disconnect_positions

Removes a directed connection between two positions in a connectivity network.

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

  • The name of the connectivity network (may be null).

  • The object for the source of the connection.

  • The object for the target 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 connectivity network (may be null).

  • The object to remove.

Geometric

Operation Description Parameter(s)

create_polygon

Creates polygons from rings.

Polygons are created in the specified feature class from given ring geometries. The operation 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.

If false, the optional third parameter indicates that open lines should not be closed, but ignored instead.

     Note: This function does not currently fully support heighted or measured 2D geometries. Any such 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 (defaults to true).

Partition

     Note: 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.

  • Name of the partition class to amalgamate. The features in this class should have area geometries. These features will be deleted and replaced by the amalgamated partitions.

  • The maximum number of source partitions per amalgamated partition.

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

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

Operation Description Parameter(s)

register_constraining_geometry

Registers a geometry with constrained lines.

This built-in pays special attention to the lines of this geometry and will produce shifting rules that will shift all points along the line so that they remain on the line, even if close-by shift vectors may indicate otherwise.

After all shift-vectors have been registered, this built-in can be called to register the constrained lines. Then geometries can be shifted based on both the shift-vectors and the constrained lines.

     Note: This function does not currently fully support heighted or measured 2D geometries. Any such geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors. Ensure that the name used for the register_shift_vector built-in operation is used here.

  • 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

Registers a geometry with known shifting.

A shift-vector, being a point with known shift, is created for each point in the geometry.

This built-in also pays special attention to the lines of this geometry and will produce shifting rules that will shift all points along the line so that they remain on the line, even if close-by shift vectors may indicate otherwise.

After all shift-vectors have been registered, geometries can be shifted based on the shift-vectors by passing the same name to the SHIFT_GEOMETRY built-in.

     Note: Only shift-vectors registered with the same name will be used by SHIFT_GEOMETRY.

     Note: This function does not currently fully support heighted or measured 2D geometries. Any such geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors, this should match the name being passed to SHIFT_GEOMETRY.

  • 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

Registers a shift vector.

A shift vector is a point geometry or two-vertex line geometries which define a known shift. The geometries must be 2 dimensional.

This operation adds a shift vector to the named set of shift vectors. After all vectors have been registered then geometries can be shifted based on these vectors by calling the shift_geometry built-in function and passing in the name of the shift vector set and the geometry to be shifted.

The registered shift vectors are used to create a shifting 'field' which means that geometries to be shifted do not need to be exactly coincident with the shift vectors but are influenced by surrounding vectors.

     Note: This function does not currently fully support heighted or measured 2D geometries. Any such geometries will be projected down to 2 dimensions.

  • A name to identify a set of shift vectors. Ensure that the same name is passed to the shift_geometry builtin function in order to shift geometries using this set. Registering shift vectors with different shift vector set names will create independent shift vector sets.

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

Sorting

     Note: 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 node move 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.

  • New value for the mode. (Boolean)