# Multipart

Defines common members for polyline and polygon multipart geometries. Multipart geometries are based upon the parent Geometry class. The geometry class is immutable which means that you cannot change its shape once it is created. If you need to modify a multipart once it has been created, use the MultipartBuilder class instead. The MultipartBuilder.toGeometry() method provides you with the base geometry object.

A multipart geometry is comprised of a collection of shapes (of the same type) that is managed as a single geometry. A classic example is a set of islands that represent a single country or state. The individual island shapes are distinct, but ArcGIS considers it a single geometry.

Polygon and Polyline inherit from multipart, which in turn inherits from Geometry. Multipart provides access to the geometry's PartCollection via the Multipart.parts property. Each Part in the collection is a collection of Segment objects. You can iterate through the segments or points in each part.

#### Since

200.1.0

#### See also

## Properties

## Inherited properties

The number of dimensions for the geometry. Returns GeometryDimension.Unknown if an error occurs.

True if this geometry contains curve segments; false otherwise. ArcGIS software supports polygon and polyline geometries that contain curve segments (where Segment.isCurve is true, sometimes known as true curves or nonlinear segments). Curves may be present in certain types of data - for example Mobile Map Packages (MMPK) or geometry JSON. When connecting to ArcGIS feature services that support curves[ArcGISFeatureServiceInfo.supportsTrueCurve], this API retrieves densified versions of curve feature geometries by default.

## Inherited functions

Check if two geometries are equal to within some tolerance. This function performs a lightweight comparison of two geometries, such as might be useful when writing test code. It uses the tolerance to compare each of x, y, and any other values the geometries possess (such as z or m) independently in the manner: abs(value1 - value2) <= tolerance. Returns true if the difference of each is within the tolerance and all other properties of the geometries are exactly equal (spatial reference, vertex count, etc.). A single tolerance is used even if the units for the horizontal coordinates and other values differ, e.g horizontal coordinates in degrees and vertical coordinates in meters. This function does not respect modular arithmetic of spatial references which wrap around, so longitudes of -180 and +180 degrees are considered to differ by 360 degrees. Returns false if an error occurs. For topological equality, use relational operators instead of this function. See GeometryEngine.equals(Geometry, Geometry).