Mul (polygon intersection)

geometric-functions mul (polygon intersection)


  • mul(polygon_data_itemA, polygon_data_itemB)
  • polygon_data_itemA * polygon_data_itemB


mul(polygon_data_itemA, polygon_data_itemB) or polygon_data_itemA * polygon_data_itemB results in a new polygon data-item with the value-by-value intersection of the polygon_data_itemA and polygon_data_itemB.

The left part of the figure illustrates the arguments: polygon_data_itemA and polygon_data_itemA.

The resulting polygon (right side of the image) is the intersection (also known as overlap) of the original square (polygon_data_itemA) and the districts polygon_data_itemB.


Use the overlay_polygon function to find the intersections of all combinations of two (possibly unrelated) domains with polygon data items. Use the polygon_connectivity function to find out which polygons in a rowset are intersecting or touching.

Use the area function on the results of the multiplied polygons to find out the size of the overlap.

applies to

data items polygon_data_itemA and polygon_data_itemB with an ipoint or spoint value-type.


  1. The composition type type of the arguments needs to be polygon.
  2. The domain-unit of the arguments must match or be void. If one domain is void, the argument is handled as if it was the same value for each element of the domain of the other argument.

since version



parameter<ipoint> geometry (poly) := square/geometry[0] * union_polygon/geometry;

see also