dms_split_union_polygon
Geometric functions dms_split_union_polygon
syntax
- dms_split_union_polygon(polygon_data_item)
- dms_split_union_polygon(polygon_data_item, partition_attribute)
description
dms_split_union_polygon(polygon_data_item) dissolves every polygon of the argument into one geometry and then splits that into its single polygons: the combination of dms_union_polygon and dms_split_polygon in one operator, which is how neighbouring parcels become the separate blocks they form together.
With a partition_attribute the dissolve is per group first, and the split follows.
The result is a new uint32 Domain unit with one entry per part, carrying:
geometry: the single polygon of that part, with its holespart_rel: with a partition_attribute, a relation towards its Values unit; without one the dissolve has a Void domain and there is no relation to carry
As everywhere in the dms polygon operators family, the elements do not have to be valid polygons.
applies to
- Attribute polygon_data_item with a polygon Value type: spoint, ipoint, wpoint, upoint, fpoint or dpoint
- Attribute partition_attribute (optional) with a Categorical value type, over the same Domain unit as polygon_data_item
conditions
- The composition type of the polygon_data_item needs to be polygon.
- A partition_attribute, when given, must have the same domain as polygon_data_item.
since version
20.20.0
example
unit<uint32> blocks := dms_split_union_polygon(parcel/geometry);
see also
- dms polygon operators - the family: the even-odd rule, the grid and what the result looks like
- dms_union_polygon, dms_split_polygon - the two halves separately
- geos_split_union_polygon, bp_split_union_polygon, bg_split_union_polygon, cgal_split_union_polygon - the same operator on the geometry libraries